diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d60b4c54b36..dfe6e367612 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,6 +14,7 @@ on: branches: - master - beta + - private-preview - sdk-release/** - feature/** diff --git a/API_VERSION b/API_VERSION index 23360ba3d79..ab54b76b3e0 100644 --- a/API_VERSION +++ b/API_VERSION @@ -1 +1 @@ -2025-08-27.preview \ No newline at end of file +2025-09-30.preview \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 4056b693bd8..957c3b07376 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -33,6 +33,36 @@ This release changes the pinned API version to `2025-08-27.preview`. * Add support for new values `ao_nif`, `az_tin`, `bd_etin`, `cr_cpj`, `cr_nite`, `do_rcn`, `gt_nit`, `kz_bin`, `mz_nuit`, `pe_ruc`, `pk_ntn`, `sa_crn`, and `sa_tin` on enums `v2.core.AccountCreateParams.identity.business_details.id_numbers[].type` and `v2.core.AccountUpdateParams.identity.business_details.id_numbers[].type` * Add support for new values `ao_nif`, `az_tin`, `bd_brc`, `bd_etin`, `bd_nid`, `cr_cpf`, `cr_dimex`, `cr_nite`, `do_rcn`, `gt_nit`, `kz_iin`, `mz_nuit`, `pe_dni`, `pk_cnic`, `pk_snic`, and `sa_tin` on enums `v2.core.AccountCreateParams.identity.individual.id_numbers[].type`, `v2.core.AccountUpdateParams.identity.individual.id_numbers[].type`, `v2.core.PersonCreateParams.id_numbers[].type`, and `v2.core.PersonUpdateParams.id_numbers[].type` +## 29.5.0 - 2025-08-27 +* [#2034](https://github.com/stripe/stripe-java/pull/2034) Add section on private preview SDKs in readme +* [#2030](https://github.com/stripe/stripe-java/pull/2030) Update generated code. This release changes the pinned API version to `2025-08-27.basil`. + * Add support for `balanceReport`, `payoutDetails`, and `payoutReconciliationReport` on `AccountSession.components` and `AccountSessionCreateParams.components` + * Add support for `name` on `billingportal.ConfigurationCreateParams`, `billingportal.ConfigurationUpdateParams`, and `billingportal.Configuration` + * Add support for `installments` on `Charge.payment_method_details.alma` + * Add support for `transactionId` on `Charge.payment_method_details.alma`, `Charge.payment_method_details.amazon_pay`, `Charge.payment_method_details.billie`, `Charge.payment_method_details.kakao_pay`, `Charge.payment_method_details.kr_card`, `Charge.payment_method_details.naver_pay`, `Charge.payment_method_details.payco`, `Charge.payment_method_details.revolut_pay`, `Charge.payment_method_details.samsung_pay`, and `Charge.payment_method_details.satispay` + * Add support for `location` and `reader` on `Charge.payment_method_details.paynow` + * Add support for `amountIncludesIof` on `PaymentIntent.payment_method_options.pix`, `PaymentIntentConfirmParams.payment_method_options.pix`, `PaymentIntentCreateParams.payment_method_options.pix`, `PaymentIntentUpdateParams.payment_method_options.pix`, `checkout.Session.payment_method_options.pix`, and `checkout.SessionCreateParams.payment_method_options.pix` + * Add support for new value `terminal_android_apk` on enum `FileListParams.purpose` + * Add support for new value `terminal_android_apk` on enum `FileCreateParams.purpose` + * Add support for `metadata` and `period` on `InvoiceCreatePreviewParams.schedule_details.phases[].add_invoice_items[]`, `SubscriptionCreateParams.add_invoice_items[]`, `SubscriptionSchedule.phases[].add_invoice_items[]`, `SubscriptionScheduleCreateParams.phases[].add_invoice_items[]`, `SubscriptionScheduleUpdateParams.phases[].add_invoice_items[]`, and `SubscriptionUpdateParams.add_invoice_items[]` + * Add support for `expMonth` and `expYear` on `issuing.CardCreateParams` + * Add support for `excludedPaymentMethodTypes` on `PaymentIntentCreateParams` and `PaymentIntent` + * Add support for `payoutMethod` on `PayoutCreateParams` and `Payout` + * Add support for `mxn` on `terminal.Configuration.tipping`, `terminal.ConfigurationCreateParams.tipping`, and `terminal.ConfigurationUpdateParams.tipping` + * Add support for `card` on `terminal.ReaderPresentPaymentMethodParams` + * Add support for new value `card` on enum `terminal.ReaderPresentPaymentMethodParams.type` + * Add support for new value `2025-08-27.basil` on enum `WebhookEndpointCreateParams.apiVersion` +* [#2032](https://github.com/stripe/stripe-java/pull/2032) Introduce V1 namespaces in StripeClient + - All the top level non-namespaced services under StripeClient services(eg. customers, products) are copied under the new V1 namespace. These top level non-namespaced services will be marked as deprecated in the next major release and will be removed in a future release. Eg. + ```diff + StripeClient client = new StripeClient("sk_test...") + + # Accessing V1 Stripe services on a StripeClient should be through the V1 namespace + - client.customers().list() + + client.v1().customers().list() + ``` + Refer to the [migration guide](https://github.com/stripe/stripe-java/wiki/v1-namespace-in-StripeClient) for help upgrading. + ## 29.5.0-beta.2 - 2025-08-08 * [#2031](https://github.com/stripe/stripe-java/pull/2031) Bring back invoice payments APIs that were missing in the public preview SDKs * Add support for new resource `InvoicePayment` diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 6598803dc33..3c1d2e64d9b 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v1932 \ No newline at end of file +v2022 \ No newline at end of file diff --git a/README.md b/README.md index 8c9f7f3c02c..829289ed93b 100644 --- a/README.md +++ b/README.md @@ -83,7 +83,7 @@ public class StripeExample { .build(); try { - Customer customer = client.customers().create(params); + Customer customer = client.v1().customers().create(params); System.out.println(customer); } catch (StripeException e) { e.printStackTrace(); @@ -102,7 +102,7 @@ Once the legacy pattern is deprecated, new API endpoints will only be accessible ### Per-request Configuration -All of the request methods accept an optional `RequestOptions` object. This is +All the request methods accept an optional `RequestOptions` object. This is used if you want to set an [idempotency key][idempotency-keys], if you are using [Stripe Connect][connect-auth], or if you want to pass the secret API key on each method. @@ -114,9 +114,9 @@ RequestOptions requestOptions = RequestOptions.builder() .setStripeAccount("acct_...") .build(); -client.customers().list(requestOptions); +client.v1().customers().list(requestOptions); -client.customers().retrieve("cus_123456789", requestOptions); +client.v1().customers().retrieve("cus_123456789", requestOptions); ``` ### Configuring automatic retries @@ -137,7 +137,7 @@ Or on a finer grain level using `RequestOptions`: RequestOptions options = RequestOptions.builder() .setMaxNetworkRetries(2) .build(); -client.customers().create(params, options); +client.v1().customers().create(params, options); ``` [Idempotency keys][idempotency-keys] are added to requests to guarantee that @@ -161,7 +161,7 @@ RequestOptions options = RequestOptions.builder() .setConnectTimeout(30 * 1000) // in milliseconds .setReadTimeout(80 * 1000) .build(); -client.customers().create(params, options); +client.v1().customers().create(params, options); ``` Please take care to set conservative read timeouts. Some API requests can take @@ -197,7 +197,7 @@ CustomerCreateParams params = .putExtraParam("secret_parameter[secondary]", "secondary value") .build(); -client.customers().create(params); +client.v1().customers().create(params); ``` #### Properties @@ -205,7 +205,7 @@ client.customers().create(params); To retrieve undocumented properties from Stripe using Java you can use an option in the library to return the raw JSON object and return the property as a native type. An example of this is shown below: ```java -final Customer customer = client.customers().retrieve("cus_1234"); +final Customer customer = client.v1().customers().retrieve("cus_1234"); Boolean featureEnabled = customer.getRawJsonObject() .getAsJsonPrimitive("secret_feature_enabled") @@ -250,7 +250,7 @@ Stripe.enableTelemetry = false; Stripe has features in the [public preview phase](https://docs.stripe.com/release-phases) that can be accessed via versions of this package that have the `-beta.X` suffix like `25.2.0-beta.2`. We would love for you to try these as we incrementally release new features and improve them based on your feedback. - To install, choose the version that includes support for the preview feature you are interested in by reviewing the [releases page](https://github.com/stripe/stripe-java/releases/) and then use it [installation steps above](#installation). + To install, pick the latest version with the `beta` suffix by reviewing the [releases page](https://github.com/stripe/stripe-java/releases/) and then use it [installation steps above](#installation). > **Note** > There can be breaking changes between two versions of the public preview SDKs without a bump in the major version. Therefore we recommend pinning the package version to a specific version. This way you can install the same version each time without breaking changes unless you are intentionally looking for the latest public preview SDK. @@ -260,6 +260,9 @@ Some preview features require a name and version to be set in the `Stripe-Versio ```java Stripe.addBetaVersion("feature_beta", "v3"); ``` +### Private Preview SDKs + +Stripe has features in the [private preview phase](https://docs.stripe.com/release-phases) that can be accessed via versions of this package that have the `-alpha.X` suffix like `25.2.0-alpha.2`. These are invite-only features. Once invited, you can install the private preview SDKs by following the same instructions as for the [public preview SDKs](https://github.com/stripe/stripe-java?tab=readme-ov-file#public-preview-sdks) above and replacing the term `beta` with `alpha`. ### Custom requests diff --git a/src/main/java/com/stripe/ApiVersion.java b/src/main/java/com/stripe/ApiVersion.java index a02c831d002..89d335a0536 100644 --- a/src/main/java/com/stripe/ApiVersion.java +++ b/src/main/java/com/stripe/ApiVersion.java @@ -2,5 +2,5 @@ package com.stripe; final class ApiVersion { - public static final String CURRENT = "2025-08-27.preview"; + public static final String CURRENT = "2025-09-30.preview"; } diff --git a/src/main/java/com/stripe/StripeClient.java b/src/main/java/com/stripe/StripeClient.java index 7c4790da0d0..e5b816ddb45 100644 --- a/src/main/java/com/stripe/StripeClient.java +++ b/src/main/java/com/stripe/StripeClient.java @@ -126,808 +126,907 @@ public com.stripe.service.V2Services v2() { } /** - * Deprecation Warning: StripeClient.accountLinks() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().accountLinks(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.accountLinks() is deprecated, use StripeClient.v1().accountLinks() + * instead. All functionality under it has been copied over to + * StripeClient.v1().accountLinks(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.AccountLinkService accountLinks() { return new com.stripe.service.AccountLinkService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.accountNotices() will be deprecated in the next major - * release. All functionality under it has been copied over to StripeClient.v1().accountNotices(). - * See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.accountNotices() is deprecated, use StripeClient.v1().accountNotices() + * instead. All functionality under it has been copied over to + * StripeClient.v1().accountNotices(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.AccountNoticeService accountNotices() { return new com.stripe.service.AccountNoticeService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.accountSessions() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().accountSessions(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.accountSessions() is deprecated, use + * StripeClient.v1().accountSessions() instead. All functionality under it has been copied + * over to StripeClient.v1().accountSessions(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.AccountSessionService accountSessions() { return new com.stripe.service.AccountSessionService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.accounts() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().accounts(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.accounts() is deprecated, use StripeClient.v1().accounts() instead. + * All functionality under it has been copied over to StripeClient.v1().accounts(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.AccountService accounts() { return new com.stripe.service.AccountService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.applePayDomains() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().applePayDomains(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.applePayDomains() is deprecated, use + * StripeClient.v1().applePayDomains() instead. All functionality under it has been copied + * over to StripeClient.v1().applePayDomains(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ApplePayDomainService applePayDomains() { return new com.stripe.service.ApplePayDomainService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.applicationFees() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().applicationFees(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.applicationFees() is deprecated, use + * StripeClient.v1().applicationFees() instead. All functionality under it has been copied + * over to StripeClient.v1().applicationFees(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ApplicationFeeService applicationFees() { return new com.stripe.service.ApplicationFeeService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.apps() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().apps(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.apps() is deprecated, use StripeClient.v1().apps() instead. All + * functionality under it has been copied over to StripeClient.v1().apps(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.AppsService apps() { return new com.stripe.service.AppsService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.balance() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().balance(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.balance() is deprecated, use StripeClient.v1().balance() instead. All + * functionality under it has been copied over to StripeClient.v1().balance(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.BalanceService balance() { return new com.stripe.service.BalanceService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.balanceSettings() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().balanceSettings(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.balanceSettings() is deprecated, use + * StripeClient.v1().balanceSettings() instead. All functionality under it has been copied + * over to StripeClient.v1().balanceSettings(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.BalanceSettingsService balanceSettings() { return new com.stripe.service.BalanceSettingsService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.balanceTransactions() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().balanceTransactions(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.balanceTransactions() is deprecated, use + * StripeClient.v1().balanceTransactions() instead. All functionality under it has been copied + * over to StripeClient.v1().balanceTransactions(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.BalanceTransactionService balanceTransactions() { return new com.stripe.service.BalanceTransactionService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.billing() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().billing(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.billing() is deprecated, use StripeClient.v1().billing() instead. All + * functionality under it has been copied over to StripeClient.v1().billing(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.BillingService billing() { return new com.stripe.service.BillingService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.billingPortal() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().billingPortal(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.billingPortal() is deprecated, use StripeClient.v1().billingPortal() + * instead. All functionality under it has been copied over to + * StripeClient.v1().billingPortal(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.BillingPortalService billingPortal() { return new com.stripe.service.BillingPortalService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.capital() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().capital(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.capital() is deprecated, use StripeClient.v1().capital() instead. All + * functionality under it has been copied over to StripeClient.v1().capital(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.CapitalService capital() { return new com.stripe.service.CapitalService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.charges() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().charges(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.charges() is deprecated, use StripeClient.v1().charges() instead. All + * functionality under it has been copied over to StripeClient.v1().charges(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ChargeService charges() { return new com.stripe.service.ChargeService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.checkout() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().checkout(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.checkout() is deprecated, use StripeClient.v1().checkout() instead. + * All functionality under it has been copied over to StripeClient.v1().checkout(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.CheckoutService checkout() { return new com.stripe.service.CheckoutService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.climate() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().climate(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.climate() is deprecated, use StripeClient.v1().climate() instead. All + * functionality under it has been copied over to StripeClient.v1().climate(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ClimateService climate() { return new com.stripe.service.ClimateService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.confirmationTokens() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().confirmationTokens(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.confirmationTokens() is deprecated, use + * StripeClient.v1().confirmationTokens() instead. All functionality under it has been copied + * over to StripeClient.v1().confirmationTokens(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ConfirmationTokenService confirmationTokens() { return new com.stripe.service.ConfirmationTokenService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.countrySpecs() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().countrySpecs(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.countrySpecs() is deprecated, use StripeClient.v1().countrySpecs() + * instead. All functionality under it has been copied over to + * StripeClient.v1().countrySpecs(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.CountrySpecService countrySpecs() { return new com.stripe.service.CountrySpecService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.coupons() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().coupons(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.coupons() is deprecated, use StripeClient.v1().coupons() instead. All + * functionality under it has been copied over to StripeClient.v1().coupons(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.CouponService coupons() { return new com.stripe.service.CouponService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.creditNotes() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().creditNotes(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.creditNotes() is deprecated, use StripeClient.v1().creditNotes() + * instead. All functionality under it has been copied over to + * StripeClient.v1().creditNotes(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.CreditNoteService creditNotes() { return new com.stripe.service.CreditNoteService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.customerSessions() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().customerSessions(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.customerSessions() is deprecated, use + * StripeClient.v1().customerSessions() instead. All functionality under it has been copied + * over to StripeClient.v1().customerSessions(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.CustomerSessionService customerSessions() { return new com.stripe.service.CustomerSessionService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.customers() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().customers(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.customers() is deprecated, use StripeClient.v1().customers() instead. + * All functionality under it has been copied over to StripeClient.v1().customers(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.CustomerService customers() { return new com.stripe.service.CustomerService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.disputes() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().disputes(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.disputes() is deprecated, use StripeClient.v1().disputes() instead. + * All functionality under it has been copied over to StripeClient.v1().disputes(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.DisputeService disputes() { return new com.stripe.service.DisputeService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.entitlements() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().entitlements(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.entitlements() is deprecated, use StripeClient.v1().entitlements() + * instead. All functionality under it has been copied over to + * StripeClient.v1().entitlements(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.EntitlementsService entitlements() { return new com.stripe.service.EntitlementsService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.ephemeralKeys() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().ephemeralKeys(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.ephemeralKeys() is deprecated, use StripeClient.v1().ephemeralKeys() + * instead. All functionality under it has been copied over to + * StripeClient.v1().ephemeralKeys(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.EphemeralKeyService ephemeralKeys() { return new com.stripe.service.EphemeralKeyService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.events() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().events(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.events() is deprecated, use StripeClient.v1().events() instead. All + * functionality under it has been copied over to StripeClient.v1().events(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.EventService events() { return new com.stripe.service.EventService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.exchangeRates() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().exchangeRates(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.exchangeRates() is deprecated, use StripeClient.v1().exchangeRates() + * instead. All functionality under it has been copied over to + * StripeClient.v1().exchangeRates(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ExchangeRateService exchangeRates() { return new com.stripe.service.ExchangeRateService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.externalAccounts() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().externalAccounts(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.externalAccounts() is deprecated, use + * StripeClient.v1().externalAccounts() instead. All functionality under it has been copied + * over to StripeClient.v1().externalAccounts(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ExternalAccountService externalAccounts() { return new com.stripe.service.ExternalAccountService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.fileLinks() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().fileLinks(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.fileLinks() is deprecated, use StripeClient.v1().fileLinks() instead. + * All functionality under it has been copied over to StripeClient.v1().fileLinks(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.FileLinkService fileLinks() { return new com.stripe.service.FileLinkService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.files() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().files(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.files() is deprecated, use StripeClient.v1().files() instead. All + * functionality under it has been copied over to StripeClient.v1().files(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.FileService files() { return new com.stripe.service.FileService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.financialConnections() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().financialConnections(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.financialConnections() is deprecated, use + * StripeClient.v1().financialConnections() instead. All functionality under it has been + * copied over to StripeClient.v1().financialConnections(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.FinancialConnectionsService financialConnections() { return new com.stripe.service.FinancialConnectionsService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.forwarding() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().forwarding(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.forwarding() is deprecated, use StripeClient.v1().forwarding() + * instead. All functionality under it has been copied over to StripeClient.v1().forwarding(). + * See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ForwardingService forwarding() { return new com.stripe.service.ForwardingService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.fxQuotes() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().fxQuotes(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.fxQuotes() is deprecated, use StripeClient.v1().fxQuotes() instead. + * All functionality under it has been copied over to StripeClient.v1().fxQuotes(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.FxQuoteService fxQuotes() { return new com.stripe.service.FxQuoteService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.identity() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().identity(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.identity() is deprecated, use StripeClient.v1().identity() instead. + * All functionality under it has been copied over to StripeClient.v1().identity(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.IdentityService identity() { return new com.stripe.service.IdentityService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.invoiceItems() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().invoiceItems(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.invoiceItems() is deprecated, use StripeClient.v1().invoiceItems() + * instead. All functionality under it has been copied over to + * StripeClient.v1().invoiceItems(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.InvoiceItemService invoiceItems() { return new com.stripe.service.InvoiceItemService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.invoicePayments() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().invoicePayments(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.invoicePayments() is deprecated, use + * StripeClient.v1().invoicePayments() instead. All functionality under it has been copied + * over to StripeClient.v1().invoicePayments(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.InvoicePaymentService invoicePayments() { return new com.stripe.service.InvoicePaymentService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.invoiceRenderingTemplates() will be deprecated in the next - * major release. All functionality under it has been copied over to - * StripeClient.v1().invoiceRenderingTemplates(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.invoiceRenderingTemplates() is deprecated, use + * StripeClient.v1().invoiceRenderingTemplates() instead. All functionality under it has been + * copied over to StripeClient.v1().invoiceRenderingTemplates(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.InvoiceRenderingTemplateService invoiceRenderingTemplates() { return new com.stripe.service.InvoiceRenderingTemplateService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.invoices() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().invoices(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.invoices() is deprecated, use StripeClient.v1().invoices() instead. + * All functionality under it has been copied over to StripeClient.v1().invoices(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.InvoiceService invoices() { return new com.stripe.service.InvoiceService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.issuing() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().issuing(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.issuing() is deprecated, use StripeClient.v1().issuing() instead. All + * functionality under it has been copied over to StripeClient.v1().issuing(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.IssuingService issuing() { return new com.stripe.service.IssuingService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.mandates() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().mandates(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.mandates() is deprecated, use StripeClient.v1().mandates() instead. + * All functionality under it has been copied over to StripeClient.v1().mandates(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.MandateService mandates() { return new com.stripe.service.MandateService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.margins() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().margins(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.margins() is deprecated, use StripeClient.v1().margins() instead. All + * functionality under it has been copied over to StripeClient.v1().margins(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.MarginService margins() { return new com.stripe.service.MarginService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.orders() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().orders(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.orders() is deprecated, use StripeClient.v1().orders() instead. All + * functionality under it has been copied over to StripeClient.v1().orders(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.OrderService orders() { return new com.stripe.service.OrderService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.paymentAttemptRecords() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().paymentAttemptRecords(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.paymentAttemptRecords() is deprecated, use + * StripeClient.v1().paymentAttemptRecords() instead. All functionality under it has been + * copied over to StripeClient.v1().paymentAttemptRecords(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PaymentAttemptRecordService paymentAttemptRecords() { return new com.stripe.service.PaymentAttemptRecordService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.paymentIntents() will be deprecated in the next major - * release. All functionality under it has been copied over to StripeClient.v1().paymentIntents(). - * See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.paymentIntents() is deprecated, use StripeClient.v1().paymentIntents() + * instead. All functionality under it has been copied over to + * StripeClient.v1().paymentIntents(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PaymentIntentService paymentIntents() { return new com.stripe.service.PaymentIntentService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.paymentLinks() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().paymentLinks(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.paymentLinks() is deprecated, use StripeClient.v1().paymentLinks() + * instead. All functionality under it has been copied over to + * StripeClient.v1().paymentLinks(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PaymentLinkService paymentLinks() { return new com.stripe.service.PaymentLinkService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.paymentMethodConfigurations() will be deprecated in the next - * major release. All functionality under it has been copied over to - * StripeClient.v1().paymentMethodConfigurations(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.paymentMethodConfigurations() is deprecated, use + * StripeClient.v1().paymentMethodConfigurations() instead. All functionality under it has + * been copied over to StripeClient.v1().paymentMethodConfigurations(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PaymentMethodConfigurationService paymentMethodConfigurations() { return new com.stripe.service.PaymentMethodConfigurationService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.paymentMethodDomains() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().paymentMethodDomains(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.paymentMethodDomains() is deprecated, use + * StripeClient.v1().paymentMethodDomains() instead. All functionality under it has been + * copied over to StripeClient.v1().paymentMethodDomains(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PaymentMethodDomainService paymentMethodDomains() { return new com.stripe.service.PaymentMethodDomainService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.paymentMethods() will be deprecated in the next major - * release. All functionality under it has been copied over to StripeClient.v1().paymentMethods(). - * See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.paymentMethods() is deprecated, use StripeClient.v1().paymentMethods() + * instead. All functionality under it has been copied over to + * StripeClient.v1().paymentMethods(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PaymentMethodService paymentMethods() { return new com.stripe.service.PaymentMethodService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.paymentRecords() will be deprecated in the next major - * release. All functionality under it has been copied over to StripeClient.v1().paymentRecords(). - * See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.paymentRecords() is deprecated, use StripeClient.v1().paymentRecords() + * instead. All functionality under it has been copied over to + * StripeClient.v1().paymentRecords(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PaymentRecordService paymentRecords() { return new com.stripe.service.PaymentRecordService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.payouts() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().payouts(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.payouts() is deprecated, use StripeClient.v1().payouts() instead. All + * functionality under it has been copied over to StripeClient.v1().payouts(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PayoutService payouts() { return new com.stripe.service.PayoutService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.plans() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().plans(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.plans() is deprecated, use StripeClient.v1().plans() instead. All + * functionality under it has been copied over to StripeClient.v1().plans(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PlanService plans() { return new com.stripe.service.PlanService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.prices() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().prices(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.prices() is deprecated, use StripeClient.v1().prices() instead. All + * functionality under it has been copied over to StripeClient.v1().prices(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PriceService prices() { return new com.stripe.service.PriceService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.privacy() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().privacy(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.privacy() is deprecated, use StripeClient.v1().privacy() instead. All + * functionality under it has been copied over to StripeClient.v1().privacy(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PrivacyService privacy() { return new com.stripe.service.PrivacyService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.products() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().products(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.products() is deprecated, use StripeClient.v1().products() instead. + * All functionality under it has been copied over to StripeClient.v1().products(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ProductService products() { return new com.stripe.service.ProductService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.promotionCodes() will be deprecated in the next major - * release. All functionality under it has been copied over to StripeClient.v1().promotionCodes(). - * See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.promotionCodes() is deprecated, use StripeClient.v1().promotionCodes() + * instead. All functionality under it has been copied over to + * StripeClient.v1().promotionCodes(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.PromotionCodeService promotionCodes() { return new com.stripe.service.PromotionCodeService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.quotes() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().quotes(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.quotes() is deprecated, use StripeClient.v1().quotes() instead. All + * functionality under it has been copied over to StripeClient.v1().quotes(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.QuoteService quotes() { return new com.stripe.service.QuoteService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.radar() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().radar(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.radar() is deprecated, use StripeClient.v1().radar() instead. All + * functionality under it has been copied over to StripeClient.v1().radar(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.RadarService radar() { return new com.stripe.service.RadarService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.refunds() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().refunds(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.refunds() is deprecated, use StripeClient.v1().refunds() instead. All + * functionality under it has been copied over to StripeClient.v1().refunds(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.RefundService refunds() { return new com.stripe.service.RefundService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.reporting() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().reporting(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.reporting() is deprecated, use StripeClient.v1().reporting() instead. + * All functionality under it has been copied over to StripeClient.v1().reporting(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ReportingService reporting() { return new com.stripe.service.ReportingService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.reviews() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().reviews(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.reviews() is deprecated, use StripeClient.v1().reviews() instead. All + * functionality under it has been copied over to StripeClient.v1().reviews(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ReviewService reviews() { return new com.stripe.service.ReviewService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.setupAttempts() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().setupAttempts(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.setupAttempts() is deprecated, use StripeClient.v1().setupAttempts() + * instead. All functionality under it has been copied over to + * StripeClient.v1().setupAttempts(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.SetupAttemptService setupAttempts() { return new com.stripe.service.SetupAttemptService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.setupIntents() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().setupIntents(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.setupIntents() is deprecated, use StripeClient.v1().setupIntents() + * instead. All functionality under it has been copied over to + * StripeClient.v1().setupIntents(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.SetupIntentService setupIntents() { return new com.stripe.service.SetupIntentService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.shippingRates() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().shippingRates(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.shippingRates() is deprecated, use StripeClient.v1().shippingRates() + * instead. All functionality under it has been copied over to + * StripeClient.v1().shippingRates(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.ShippingRateService shippingRates() { return new com.stripe.service.ShippingRateService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.sigma() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().sigma(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.sigma() is deprecated, use StripeClient.v1().sigma() instead. All + * functionality under it has been copied over to StripeClient.v1().sigma(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.SigmaService sigma() { return new com.stripe.service.SigmaService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.sources() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().sources(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.sources() is deprecated, use StripeClient.v1().sources() instead. All + * functionality under it has been copied over to StripeClient.v1().sources(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.SourceService sources() { return new com.stripe.service.SourceService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.subscriptionItems() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().subscriptionItems(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.subscriptionItems() is deprecated, use + * StripeClient.v1().subscriptionItems() instead. All functionality under it has been copied + * over to StripeClient.v1().subscriptionItems(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.SubscriptionItemService subscriptionItems() { return new com.stripe.service.SubscriptionItemService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.subscriptionSchedules() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().subscriptionSchedules(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.subscriptionSchedules() is deprecated, use + * StripeClient.v1().subscriptionSchedules() instead. All functionality under it has been + * copied over to StripeClient.v1().subscriptionSchedules(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.SubscriptionScheduleService subscriptionSchedules() { return new com.stripe.service.SubscriptionScheduleService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.subscriptions() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().subscriptions(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.subscriptions() is deprecated, use StripeClient.v1().subscriptions() + * instead. All functionality under it has been copied over to + * StripeClient.v1().subscriptions(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.SubscriptionService subscriptions() { return new com.stripe.service.SubscriptionService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.tax() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().tax(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.tax() is deprecated, use StripeClient.v1().tax() instead. All + * functionality under it has been copied over to StripeClient.v1().tax(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TaxService tax() { return new com.stripe.service.TaxService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.taxCodes() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().taxCodes(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.taxCodes() is deprecated, use StripeClient.v1().taxCodes() instead. + * All functionality under it has been copied over to StripeClient.v1().taxCodes(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TaxCodeService taxCodes() { return new com.stripe.service.TaxCodeService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.taxIds() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().taxIds(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.taxIds() is deprecated, use StripeClient.v1().taxIds() instead. All + * functionality under it has been copied over to StripeClient.v1().taxIds(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TaxIdService taxIds() { return new com.stripe.service.TaxIdService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.taxRates() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().taxRates(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.taxRates() is deprecated, use StripeClient.v1().taxRates() instead. + * All functionality under it has been copied over to StripeClient.v1().taxRates(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TaxRateService taxRates() { return new com.stripe.service.TaxRateService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.terminal() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().terminal(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.terminal() is deprecated, use StripeClient.v1().terminal() instead. + * All functionality under it has been copied over to StripeClient.v1().terminal(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TerminalService terminal() { return new com.stripe.service.TerminalService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.testHelpers() will be deprecated in the next major release. - * All functionality under it has been copied over to StripeClient.v1().testHelpers(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.testHelpers() is deprecated, use StripeClient.v1().testHelpers() + * instead. All functionality under it has been copied over to + * StripeClient.v1().testHelpers(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TestHelpersService testHelpers() { return new com.stripe.service.TestHelpersService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.tokens() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().tokens(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.tokens() is deprecated, use StripeClient.v1().tokens() instead. All + * functionality under it has been copied over to StripeClient.v1().tokens(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TokenService tokens() { return new com.stripe.service.TokenService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.topups() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().topups(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.topups() is deprecated, use StripeClient.v1().topups() instead. All + * functionality under it has been copied over to StripeClient.v1().topups(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TopupService topups() { return new com.stripe.service.TopupService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.transfers() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().transfers(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.transfers() is deprecated, use StripeClient.v1().transfers() instead. + * All functionality under it has been copied over to StripeClient.v1().transfers(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TransferService transfers() { return new com.stripe.service.TransferService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.treasury() will be deprecated in the next major release. All - * functionality under it has been copied over to StripeClient.v1().treasury(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.treasury() is deprecated, use StripeClient.v1().treasury() instead. + * All functionality under it has been copied over to StripeClient.v1().treasury(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.TreasuryService treasury() { return new com.stripe.service.TreasuryService(this.getResponseGetter()); } /** - * Deprecation Warning: StripeClient.webhookEndpoints() will be deprecated in the next major - * release. All functionality under it has been copied over to - * StripeClient.v1().webhookEndpoints(). See migration - * guide for more on this and tips on migrating to the new v1 namespace. + * @deprecated StripeClient.webhookEndpoints() is deprecated, use + * StripeClient.v1().webhookEndpoints() instead. All functionality under it has been copied + * over to StripeClient.v1().webhookEndpoints(). See migration + * guide for more on this and tips on migrating to the new v1 namespace. */ + @Deprecated public com.stripe.service.WebhookEndpointService webhookEndpoints() { return new com.stripe.service.WebhookEndpointService(this.getResponseGetter()); } diff --git a/src/main/java/com/stripe/events/V1BillingMeterErrorReportTriggeredEvent.java b/src/main/java/com/stripe/events/V1BillingMeterErrorReportTriggeredEvent.java index 0d70dcb7f5a..bab476098a3 100644 --- a/src/main/java/com/stripe/events/V1BillingMeterErrorReportTriggeredEvent.java +++ b/src/main/java/com/stripe/events/V1BillingMeterErrorReportTriggeredEvent.java @@ -35,7 +35,7 @@ public static final class EventData { public static final class Reason { /** The total error count within this window. */ @SerializedName("error_count") - Integer errorCount; + Long errorCount; /** The error details. */ @SerializedName("error_types") List errorTypes; @@ -53,7 +53,7 @@ public static final class ErrorType { String code; /** The number of errors of this type. */ @SerializedName("error_count") - Integer errorCount; + Long errorCount; /** A list of sample errors of this type. */ @SerializedName("sample_errors") List diff --git a/src/main/java/com/stripe/events/V1BillingMeterNoMeterFoundEvent.java b/src/main/java/com/stripe/events/V1BillingMeterNoMeterFoundEvent.java index e896ebe7687..97b26534230 100644 --- a/src/main/java/com/stripe/events/V1BillingMeterNoMeterFoundEvent.java +++ b/src/main/java/com/stripe/events/V1BillingMeterNoMeterFoundEvent.java @@ -33,7 +33,7 @@ public static final class EventData { public static final class Reason { /** The total error count within this window. */ @SerializedName("error_count") - Integer errorCount; + Long errorCount; /** The error details. */ @SerializedName("error_types") List errorTypes; @@ -51,7 +51,7 @@ public static final class ErrorType { String code; /** The number of errors of this type. */ @SerializedName("error_count") - Integer errorCount; + Long errorCount; /** A list of sample errors of this type. */ @SerializedName("sample_errors") List sampleErrors; diff --git a/src/main/java/com/stripe/events/V2CoreAccountPersonCreatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountPersonCreatedEvent.java index e5bee1f15bf..df147f10d99 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountPersonCreatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountPersonCreatedEvent.java @@ -4,7 +4,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.exception.StripeException; import com.stripe.model.v2.Event; -import com.stripe.model.v2.core.Person; +import com.stripe.model.v2.core.AccountPerson; import lombok.Getter; import lombok.Setter; @@ -28,7 +28,7 @@ public static final class EventData { RelatedObject relatedObject; /** Retrieves the related object from the API. Make an API request on every call. */ - public Person fetchRelatedObject() throws StripeException { - return (Person) super.fetchRelatedObject(this.relatedObject); + public AccountPerson fetchRelatedObject() throws StripeException { + return (AccountPerson) super.fetchRelatedObject(this.relatedObject); } } diff --git a/src/main/java/com/stripe/events/V2CoreAccountPersonDeletedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountPersonDeletedEvent.java index eae11bd9f37..021e1273d8a 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountPersonDeletedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountPersonDeletedEvent.java @@ -4,7 +4,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.exception.StripeException; import com.stripe.model.v2.Event; -import com.stripe.model.v2.core.Person; +import com.stripe.model.v2.core.AccountPerson; import lombok.Getter; import lombok.Setter; @@ -28,7 +28,7 @@ public static final class EventData { RelatedObject relatedObject; /** Retrieves the related object from the API. Make an API request on every call. */ - public Person fetchRelatedObject() throws StripeException { - return (Person) super.fetchRelatedObject(this.relatedObject); + public AccountPerson fetchRelatedObject() throws StripeException { + return (AccountPerson) super.fetchRelatedObject(this.relatedObject); } } diff --git a/src/main/java/com/stripe/events/V2CoreAccountPersonUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountPersonUpdatedEvent.java index f7f12165ab4..0ab14ed5003 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountPersonUpdatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountPersonUpdatedEvent.java @@ -4,7 +4,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.exception.StripeException; import com.stripe.model.v2.Event; -import com.stripe.model.v2.core.Person; +import com.stripe.model.v2.core.AccountPerson; import lombok.Getter; import lombok.Setter; @@ -28,7 +28,7 @@ public static final class EventData { RelatedObject relatedObject; /** Retrieves the related object from the API. Make an API request on every call. */ - public Person fetchRelatedObject() throws StripeException { - return (Person) super.fetchRelatedObject(this.relatedObject); + public AccountPerson fetchRelatedObject() throws StripeException { + return (AccountPerson) super.fetchRelatedObject(this.relatedObject); } } diff --git a/src/main/java/com/stripe/exception/AlreadyCanceledException.java b/src/main/java/com/stripe/exception/AlreadyCanceledException.java index 8afb343d196..f0e2c0fe267 100644 --- a/src/main/java/com/stripe/exception/AlreadyCanceledException.java +++ b/src/main/java/com/stripe/exception/AlreadyCanceledException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Error returned when user tries to cancel an OutboundPayment that was already canceled. */ +/** Information about the error that occurred. */ public final class AlreadyCanceledException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/AlreadyExistsException.java b/src/main/java/com/stripe/exception/AlreadyExistsException.java index 317c4407b9b..24d496994c2 100644 --- a/src/main/java/com/stripe/exception/AlreadyExistsException.java +++ b/src/main/java/com/stripe/exception/AlreadyExistsException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** The resource already exists. */ +/** Information about the error that occurred. */ public final class AlreadyExistsException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/BlockedByStripeException.java b/src/main/java/com/stripe/exception/BlockedByStripeException.java index 217ddab1229..c62049f1617 100644 --- a/src/main/java/com/stripe/exception/BlockedByStripeException.java +++ b/src/main/java/com/stripe/exception/BlockedByStripeException.java @@ -6,10 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** - * Returned if an InboundTransfer is not allowed for risk, legal, regulatory or other unforeseen - * reasons. - */ +/** Information about the error that occurred. */ public final class BlockedByStripeException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/ControlledByDashboardException.java b/src/main/java/com/stripe/exception/ControlledByDashboardException.java index cac7b66e44b..1326e4a1f4e 100644 --- a/src/main/java/com/stripe/exception/ControlledByDashboardException.java +++ b/src/main/java/com/stripe/exception/ControlledByDashboardException.java @@ -6,10 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** - * Returned when the PayoutMethodBankAccount object is controlled by the Stripe Dashboard, and - * cannot be archived. - */ +/** Information about the error that occurred. */ public final class ControlledByDashboardException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/FeatureNotEnabledException.java b/src/main/java/com/stripe/exception/FeatureNotEnabledException.java index e7557529f14..5e77d0d93d1 100644 --- a/src/main/java/com/stripe/exception/FeatureNotEnabledException.java +++ b/src/main/java/com/stripe/exception/FeatureNotEnabledException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** The required storer capabilities are missing. */ +/** Information about the error that occurred. */ public final class FeatureNotEnabledException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java b/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java index 66a745010d4..f9cc6c3b0be 100644 --- a/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java +++ b/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java @@ -6,6 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; +/** Information about the error that occurred. */ public final class FinancialAccountNotOpenException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/InsufficientFundsException.java b/src/main/java/com/stripe/exception/InsufficientFundsException.java index e28c0065d0d..2d477585167 100644 --- a/src/main/java/com/stripe/exception/InsufficientFundsException.java +++ b/src/main/java/com/stripe/exception/InsufficientFundsException.java @@ -6,10 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** - * Error returned when the balance of provided financial account and balance type in the - * OutboundPayment/OutboundTransfer request does not have enough funds. - */ +/** Information about the error that occurred. */ public final class InsufficientFundsException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java b/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java index 320cee6e260..597a5e06fa2 100644 --- a/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java +++ b/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java @@ -8,10 +8,7 @@ import com.stripe.net.StripeResponseGetter; import lombok.Getter; -/** - * Returned in cases where the bank account provided is not valid (wrong format of account number or - * a routing number that does not correspond to a banking institution). - */ +/** Information about the error that occurred. */ public final class InvalidPaymentMethodException extends ApiException { private static final long serialVersionUID = 2L; @Getter String invalidParam; diff --git a/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java b/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java index 1b92d726743..e10ea5a4a3c 100644 --- a/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java +++ b/src/main/java/com/stripe/exception/InvalidPayoutMethodException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Returned in cases where the ID provided doesn't correspond to a valid payout method. */ +/** Information about the error that occurred. */ public final class InvalidPayoutMethodException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/NonZeroBalanceException.java b/src/main/java/com/stripe/exception/NonZeroBalanceException.java index e9ffb6bc220..3f032e51c63 100644 --- a/src/main/java/com/stripe/exception/NonZeroBalanceException.java +++ b/src/main/java/com/stripe/exception/NonZeroBalanceException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Error thrown if a user tries to close an account that has non-zero balances. */ +/** Information about the error that occurred. */ public final class NonZeroBalanceException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/NotCancelableException.java b/src/main/java/com/stripe/exception/NotCancelableException.java index d1a93541b2e..9f669ddcdc9 100644 --- a/src/main/java/com/stripe/exception/NotCancelableException.java +++ b/src/main/java/com/stripe/exception/NotCancelableException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Error returned when user tries to cancel an OutboundPayment that is not cancelable. */ +/** Information about the error that occurred. */ public final class NotCancelableException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/QuotaExceededException.java b/src/main/java/com/stripe/exception/QuotaExceededException.java index 889b0a25e8d..9d568ac104d 100644 --- a/src/main/java/com/stripe/exception/QuotaExceededException.java +++ b/src/main/java/com/stripe/exception/QuotaExceededException.java @@ -6,10 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** - * Error returned when the recipient's recent total amount in outbound payments has exceeded its - * limit. - */ +/** Information about the error that occurred. */ public final class QuotaExceededException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/RateLimitException.java b/src/main/java/com/stripe/exception/RateLimitException.java index e74c6c18c65..78353fcd7e9 100644 --- a/src/main/java/com/stripe/exception/RateLimitException.java +++ b/src/main/java/com/stripe/exception/RateLimitException.java @@ -1,8 +1,17 @@ package com.stripe.exception; -public class RateLimitException extends InvalidRequestException { +import com.google.gson.JsonObject; +import com.stripe.model.StripeError; +import com.stripe.model.StripeObject; +import com.stripe.net.StripeResponseGetter; +import lombok.Getter; + +@Getter +public class RateLimitException extends ApiException { private static final long serialVersionUID = 2L; + private final String param; + public RateLimitException( String message, String param, @@ -10,6 +19,22 @@ public RateLimitException( String code, Integer statusCode, Throwable e) { - super(message, param, requestId, code, statusCode, e); + super(message, requestId, code, statusCode, e); + this.param = param; } + + static RateLimitException parse( + JsonObject body, int statusCode, String requestId, StripeResponseGetter responseGetter) { + RateLimitException.RateLimitError error = + (RateLimitException.RateLimitError) + StripeObject.deserializeStripeObject( + body, RateLimitException.RateLimitError.class, responseGetter); + RateLimitException exception = + new RateLimitException( + error.getMessage(), error.getParam(), requestId, error.getCode(), statusCode, null); + exception.setStripeError(error); + return exception; + } + + public static class RateLimitError extends StripeError {} } diff --git a/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java b/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java index c6e7d2f6d93..9e4ccfb2473 100644 --- a/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java +++ b/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java @@ -6,10 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** - * Error returned when the user enables notifications in the OutboundPayment request, but an email - * is not set up on the recipient account. - */ +/** Information about the error that occurred. */ public final class RecipientNotNotifiableException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java b/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java index 376c73a885b..9a9977b273e 100644 --- a/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java +++ b/src/main/java/com/stripe/exception/TemporarySessionExpiredException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** The temporary session token has expired. */ +/** Information about the error that occurred. */ public final class TemporarySessionExpiredException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/model/Account.java b/src/main/java/com/stripe/model/Account.java index 72906330eff..15e129a6dcd 100644 --- a/src/main/java/com/stripe/model/Account.java +++ b/src/main/java/com/stripe/model/Account.java @@ -1289,6 +1289,15 @@ public static class Capabilities extends StripeObject { @SerializedName("paypal_payments") String paypalPayments; + /** + * The status of the Paypay capability of the account, or whether the account can directly + * process Paypay payments. + * + *

One of {@code active}, {@code inactive}, or {@code pending}. + */ + @SerializedName("paypay_payments") + String paypayPayments; + /** * The status of the PayTo capability of the account, or whether the account can directly * process PayTo charges. @@ -2172,14 +2181,14 @@ public static class Errors extends StripeObject { /** * The code for the type of error. * - *

One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -2198,29 +2207,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, @@ -2374,14 +2384,14 @@ public static class Errors extends StripeObject { /** * The code for the type of error. * - *

One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -2400,29 +2410,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, diff --git a/src/main/java/com/stripe/model/Address.java b/src/main/java/com/stripe/model/Address.java index 042bcd4c261..f65f0d5f101 100644 --- a/src/main/java/com/stripe/model/Address.java +++ b/src/main/java/com/stripe/model/Address.java @@ -21,11 +21,11 @@ public class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; diff --git a/src/main/java/com/stripe/model/BalanceSettings.java b/src/main/java/com/stripe/model/BalanceSettings.java index dc9ea0e1587..70c1f411113 100644 --- a/src/main/java/com/stripe/model/BalanceSettings.java +++ b/src/main/java/com/stripe/model/BalanceSettings.java @@ -20,11 +20,6 @@ /** * Options for customizing account balances and payout settings for a Stripe platform’s connected * accounts. - * - *

This API is only available for users enrolled in the public preview for Accounts v2 on Stripe - * Connect. If you are not in this preview, please use the Accounts v1 API to - * manage your connected accounts’ balance settings instead. */ @Getter @Setter @@ -166,6 +161,15 @@ public static class Payments extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Payouts extends StripeObject { + /** + * The minimum balance amount to retain per currency after automatic payouts. Only funds that + * exceed these amounts are paid out. Learn more about the minimum balances + * for automatic payouts. + */ + @SerializedName("minimum_balance_by_currency") + Map minimumBalanceByCurrency; + /** * Details on when funds from charges are available, and when they are paid out to an external * account. See our One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -578,29 +578,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, @@ -680,14 +681,14 @@ public static class Errors extends StripeObject { /** * The code for the type of error. * - *

One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -706,29 +707,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, diff --git a/src/main/java/com/stripe/model/Capability.java b/src/main/java/com/stripe/model/Capability.java index f0c8d1b3e45..0b49c7c1f22 100644 --- a/src/main/java/com/stripe/model/Capability.java +++ b/src/main/java/com/stripe/model/Capability.java @@ -246,14 +246,14 @@ public static class Errors extends StripeObject { /** * The code for the type of error. * - *

One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -272,29 +272,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, @@ -431,14 +432,14 @@ public static class Errors extends StripeObject { /** * The code for the type of error. * - *

One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -457,29 +458,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, diff --git a/src/main/java/com/stripe/model/Card.java b/src/main/java/com/stripe/model/Card.java index 73d13c620cb..203a1cb3684 100644 --- a/src/main/java/com/stripe/model/Card.java +++ b/src/main/java/com/stripe/model/Card.java @@ -90,9 +90,9 @@ public class Card extends ApiResource List availablePayoutMethods; /** - * Card brand. Can be {@code American Express}, {@code Diners Club}, {@code Discover}, {@code - * Eftpos Australia}, {@code Girocard}, {@code JCB}, {@code MasterCard}, {@code UnionPay}, {@code - * Visa}, or {@code Unknown}. + * Card brand. Can be {@code American Express}, {@code Cartes Bancaires}, {@code Diners Club}, + * {@code Discover}, {@code Eftpos Australia}, {@code Girocard}, {@code JCB}, {@code MasterCard}, + * {@code UnionPay}, {@code Visa}, or {@code Unknown}. */ @SerializedName("brand") String brand; diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java index e042adba5fb..847f58d9b32 100644 --- a/src/main/java/com/stripe/model/Charge.java +++ b/src/main/java/com/stripe/model/Charge.java @@ -23,9 +23,9 @@ /** * The {@code Charge} object represents a single attempt to move money into your Stripe account. - * PaymentIntent confirmation is the most common way to create Charges, but transferring money to a - * different Stripe account through Connect also creates Charges. Some legacy payment flows create - * Charges directly, which is not recommended for new integrations. + * PaymentIntent confirmation is the most common way to create Charges, but Account Debits may also create Charges. + * Some legacy payment flows create Charges directly, which is not recommended for new integrations. */ @Getter @Setter @@ -1279,6 +1279,9 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("paypal") Paypal paypal; + @SerializedName("paypay") + Paypay paypay; + @SerializedName("payto") Payto payto; @@ -3719,6 +3722,15 @@ public static class SellerProtection extends StripeObject { } } + /** + * For more details about Paypay, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Paypay extends StripeObject {} + /** * For more details about Payto, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/ConfirmationToken.java b/src/main/java/com/stripe/model/ConfirmationToken.java index e40883ec775..8919c2168f8 100644 --- a/src/main/java/com/stripe/model/ConfirmationToken.java +++ b/src/main/java/com/stripe/model/ConfirmationToken.java @@ -416,6 +416,9 @@ public static class PaymentMethodPreview extends StripeObject { @SerializedName("paypal") Paypal paypal; + @SerializedName("paypay") + Paypay paypay; + @SerializedName("payto") Payto payto; @@ -471,10 +474,10 @@ public static class PaymentMethodPreview extends StripeObject { * ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code * kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code multibanco}, {@code * naver_pay}, {@code nz_bank_account}, {@code oxxo}, {@code p24}, {@code pay_by_bank}, {@code - * payco}, {@code paynow}, {@code paypal}, {@code payto}, {@code pix}, {@code promptpay}, {@code - * qris}, {@code rechnung}, {@code revolut_pay}, {@code samsung_pay}, {@code satispay}, {@code - * sepa_debit}, {@code shopeepay}, {@code sofort}, {@code stripe_balance}, {@code swish}, {@code - * twint}, {@code us_bank_account}, {@code wechat_pay}, or {@code zip}. + * payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code payto}, {@code pix}, {@code + * promptpay}, {@code qris}, {@code rechnung}, {@code revolut_pay}, {@code samsung_pay}, {@code + * satispay}, {@code sepa_debit}, {@code shopeepay}, {@code sofort}, {@code stripe_balance}, + * {@code swish}, {@code twint}, {@code us_bank_account}, {@code wechat_pay}, or {@code zip}. */ @SerializedName("type") String type; @@ -2149,6 +2152,15 @@ public static class Paypal extends StripeObject { String verifiedEmail; } + /** + * For more details about Paypay, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Paypay extends StripeObject {} + /** * For more details about Payto, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/Customer.java b/src/main/java/com/stripe/model/Customer.java index e3218dc5bc9..572ea0d2d9d 100644 --- a/src/main/java/com/stripe/model/Customer.java +++ b/src/main/java/com/stripe/model/Customer.java @@ -52,6 +52,10 @@ public class Customer extends ApiResource implements HasId, MetadataStoresubscriptions, invoices, checkout sessions, quotes, and more. Coupons do not work with - * conventional one-off charges or payment intents. - */ - @SerializedName("coupon") - Coupon coupon; - /** The ID of the customer associated with this discount. */ @SerializedName("customer") @Getter(lombok.AccessLevel.NONE) @@ -98,6 +85,9 @@ public class Discount extends StripeObject implements HasId { @Setter(lombok.AccessLevel.NONE) ExpandableField promotionCode; + @SerializedName("source") + Source source; + /** Date that the coupon was applied. */ @SerializedName("start") Long start; @@ -151,4 +141,45 @@ public void setPromotionCodeObject(PromotionCode expandableObject) { this.promotionCode = new ExpandableField(expandableObject.getId(), expandableObject); } + + /** + * For more details about Source, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Source extends StripeObject { + /** The coupon that was redeemed to create this discount. */ + @SerializedName("coupon") + @Getter(lombok.AccessLevel.NONE) + @Setter(lombok.AccessLevel.NONE) + ExpandableField coupon; + + /** + * The source type of the discount. + * + *

Equal to {@code coupon}. + */ + @SerializedName("type") + String type; + + /** Get ID of expandable {@code coupon} object. */ + public String getCoupon() { + return (this.coupon != null) ? this.coupon.getId() : null; + } + + public void setCoupon(String id) { + this.coupon = ApiResource.setExpandableFieldId(id, this.coupon); + } + + /** Get expanded {@code coupon}. */ + public Coupon getCouponObject() { + return (this.coupon != null) ? this.coupon.getExpanded() : null; + } + + public void setCouponObject(Coupon expandableObject) { + this.coupon = new ExpandableField(expandableObject.getId(), expandableObject); + } + } } diff --git a/src/main/java/com/stripe/model/Dispute.java b/src/main/java/com/stripe/model/Dispute.java index d7a4da8b3bb..fcf6f667b98 100644 --- a/src/main/java/com/stripe/model/Dispute.java +++ b/src/main/java/com/stripe/model/Dispute.java @@ -77,6 +77,15 @@ public class Dispute extends ApiResource @SerializedName("id") String id; + /** + * Intended submission method for the dispute. + * + *

One of {@code manual}, {@code prefer_manual}, {@code prefer_smart_disputes}, or {@code + * smart_disputes}. + */ + @SerializedName("intended_submission_method") + String intendedSubmissionMethod; + /** * If true, it's still possible to refund the disputed payment. After the payment has been fully * refunded, no further funds are withdrawn from your Stripe account as a result of this dispute. @@ -881,11 +890,11 @@ public static class ShippingAddress extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -969,11 +978,11 @@ public static class ShippingAddress extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1201,6 +1210,10 @@ public static class Card extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Klarna extends StripeObject { + /** Chargeback loss reason mapped by Stripe from Klarna's chargeback loss reason. */ + @SerializedName("chargeback_loss_reason_code") + String chargebackLossReasonCode; + /** The reason for the dispute as defined by Klarna. */ @SerializedName("reason_code") String reasonCode; @@ -1234,7 +1247,7 @@ public static class Paypal extends StripeObject { public static class SmartDisputes extends StripeObject { /** Evidence that could be provided to improve the SmartDisputes packet. */ @SerializedName("recommended_evidence") - List recommendedEvidence; + List> recommendedEvidence; /** * Smart Disputes auto representment packet availability status. diff --git a/src/main/java/com/stripe/model/EventDataClassLookup.java b/src/main/java/com/stripe/model/EventDataClassLookup.java index c82f3439877..fb9183a4a40 100644 --- a/src/main/java/com/stripe/model/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/EventDataClassLookup.java @@ -117,8 +117,12 @@ public final class EventDataClassLookup { "billing.meter_event_adjustment", com.stripe.model.billing.MeterEventAdjustment.class); classLookup.put( "billing.meter_event_summary", com.stripe.model.billing.MeterEventSummary.class); - classLookup.put("billing.meter_usage", com.stripe.model.billing.MeterUsage.class); - classLookup.put("billing.meter_usage_row", com.stripe.model.billing.MeterUsageRow.class); + + classLookup.put( + "billing.analytics.meter_usage", com.stripe.model.billing.analytics.MeterUsage.class); + classLookup.put( + "billing.analytics.meter_usage_row", + com.stripe.model.billing.analytics.MeterUsageRow.class); classLookup.put( "billing_portal.configuration", com.stripe.model.billingportal.Configuration.class); diff --git a/src/main/java/com/stripe/model/ExchangeRate.java b/src/main/java/com/stripe/model/ExchangeRate.java index 50f6240bc25..6c82ffc2ec4 100644 --- a/src/main/java/com/stripe/model/ExchangeRate.java +++ b/src/main/java/com/stripe/model/ExchangeRate.java @@ -17,10 +17,14 @@ import lombok.Setter; /** - * {@code ExchangeRate} objects allow you to determine the rates that Stripe is currently using to - * convert from one currency to another. Since this number is variable throughout the day, there are - * various reasons why you might want to know the current rate (for example, to dynamically price an - * item for a user with a default payment in a foreign currency). + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

{@code ExchangeRate} objects allow you to determine the rates that Stripe is currently using + * to convert from one currency to another. Since this number is variable throughout the day, there + * are various reasons why you might want to know the current rate (for example, to dynamically + * price an item for a user with a default payment in a foreign currency). * *

Please refer to our Exchange Rates API guide * for more details. @@ -74,17 +78,27 @@ public class ExchangeRate extends ApiResource implements HasId { Map rates; /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ + @Deprecated public static ExchangeRateCollection list(Map params) throws StripeException { return list(params, (RequestOptions) null); } /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ + @Deprecated public static ExchangeRateCollection list(Map params, RequestOptions options) throws StripeException { String path = "/v1/exchange_rates"; @@ -94,17 +108,27 @@ public static ExchangeRateCollection list(Map params, RequestOpt } /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ + @Deprecated public static ExchangeRateCollection list(ExchangeRateListParams params) throws StripeException { return list(params, (RequestOptions) null); } /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ + @Deprecated public static ExchangeRateCollection list(ExchangeRateListParams params, RequestOptions options) throws StripeException { String path = "/v1/exchange_rates"; @@ -119,18 +143,39 @@ public static ExchangeRateCollection list(ExchangeRateListParams params, Request return getGlobalResponseGetter().request(request, ExchangeRateCollection.class); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ + @Deprecated public static ExchangeRate retrieve(String rateId) throws StripeException { return retrieve(rateId, (Map) null, (RequestOptions) null); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ + @Deprecated public static ExchangeRate retrieve(String rateId, RequestOptions options) throws StripeException { return retrieve(rateId, (Map) null, options); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ + @Deprecated public static ExchangeRate retrieve( String rateId, Map params, RequestOptions options) throws StripeException { String path = String.format("/v1/exchange_rates/%s", ApiResource.urlEncodeId(rateId)); @@ -139,7 +184,14 @@ public static ExchangeRate retrieve( return getGlobalResponseGetter().request(request, ExchangeRate.class); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ + @Deprecated public static ExchangeRate retrieve( String rateId, ExchangeRateRetrieveParams params, RequestOptions options) throws StripeException { diff --git a/src/main/java/com/stripe/model/Invoice.java b/src/main/java/com/stripe/model/Invoice.java index 4ba5c9d3a54..4be8c0ba6e8 100644 --- a/src/main/java/com/stripe/model/Invoice.java +++ b/src/main/java/com/stripe/model/Invoice.java @@ -2507,6 +2507,13 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("konbini") Konbini konbini; + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + @SerializedName("pix") + Pix pix; + /** * If paying by {@code sepa_debit}, this sub-hash contains details about the SEPA Direct Debit * payment method options to pass to the invoice’s PaymentIntent. @@ -2700,6 +2707,23 @@ public static class IdBankTransfer extends StripeObject {} @EqualsAndHashCode(callSuper = false) public static class Konbini extends StripeObject {} + /** + * For more details about Pix, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Pix extends StripeObject { + /** + * Determines if the amount includes the IOF tax. + * + *

One of {@code always}, or {@code never}. + */ + @SerializedName("amount_includes_iof") + String amountIncludesIof; + } + /** * For more details about SepaDebit, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/InvoiceItem.java b/src/main/java/com/stripe/model/InvoiceItem.java index b32ed431cde..e5c59c96e9c 100644 --- a/src/main/java/com/stripe/model/InvoiceItem.java +++ b/src/main/java/com/stripe/model/InvoiceItem.java @@ -126,6 +126,13 @@ public class InvoiceItem extends ApiResource implements HasId, MetadataStore metadata; + /** + * The amount after discounts, but before credits and taxes. This field is {@code null} for {@code + * discountable=true} items. + */ + @SerializedName("net_amount") + Long netAmount; + /** * String representing the object's type. Objects of the same type share the same value. * @@ -152,6 +159,9 @@ public class InvoiceItem extends ApiResource implements HasId, MetadataStoreAPI Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ProrationDetails extends StripeObject { + /** Discount amounts applied when the proration was created. */ + @SerializedName("discount_amounts") + List discountAmounts; + + /** + * For more details about DiscountAmount, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class DiscountAmount extends StripeObject { + /** The amount, in cents (or local equivalent), of the discount. */ + @SerializedName("amount") + Long amount; + + /** The discount that was applied to get this discount amount. */ + @SerializedName("discount") + @Getter(lombok.AccessLevel.NONE) + @Setter(lombok.AccessLevel.NONE) + ExpandableField discount; + + /** Get ID of expandable {@code discount} object. */ + public String getDiscount() { + return (this.discount != null) ? this.discount.getId() : null; + } + + public void setDiscount(String id) { + this.discount = ApiResource.setExpandableFieldId(id, this.discount); + } + + /** Get expanded {@code discount}. */ + public Discount getDiscountObject() { + return (this.discount != null) ? this.discount.getExpanded() : null; + } + + public void setDiscountObject(Discount expandableObject) { + this.discount = new ExpandableField(expandableObject.getId(), expandableObject); + } + } + } + @Override public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); @@ -631,6 +691,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(parent, responseGetter); trySetResponseGetter(period, responseGetter); trySetResponseGetter(pricing, responseGetter); + trySetResponseGetter(prorationDetails, responseGetter); trySetResponseGetter(testClock, responseGetter); } } diff --git a/src/main/java/com/stripe/model/PaymentAttemptRecord.java b/src/main/java/com/stripe/model/PaymentAttemptRecord.java index ce433706b1d..fe50e661329 100644 --- a/src/main/java/com/stripe/model/PaymentAttemptRecord.java +++ b/src/main/java/com/stripe/model/PaymentAttemptRecord.java @@ -530,6 +530,9 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("paypal") Paypal paypal; + @SerializedName("paypay") + Paypay paypay; + @SerializedName("payto") Payto payto; @@ -1090,11 +1093,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1232,6 +1235,10 @@ public static class Card extends StripeObject { @SerializedName("three_d_secure") ThreeDSecure threeDSecure; + /** If this Card is part of a card wallet, this contains the details of the card wallet. */ + @SerializedName("wallet") + Wallet wallet; + /** * For more details about Checks, please refer to the API Reference. @@ -1258,6 +1265,10 @@ public static class Checks extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class NetworkToken extends StripeObject { + /** + * Indicates if Stripe used a network token, either user provided or Stripe managed when + * processing the transaction. + */ @SerializedName("used") Boolean used; } @@ -1282,6 +1293,57 @@ public static class ThreeDSecure extends StripeObject { @SerializedName("version") String version; } + + /** + * For more details about Wallet, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Wallet extends StripeObject { + @SerializedName("apple_pay") + ApplePay applePay; + + /** (For tokenized numbers only.) The last four digits of the device account number. */ + @SerializedName("dynamic_last4") + String dynamicLast4; + + @SerializedName("google_pay") + GooglePay googlePay; + + /** + * The type of the card wallet, one of {@code apple_pay} or {@code google_pay}. An + * additional hash is included on the Wallet subhash with a name matching this value. It + * contains additional information specific to the card wallet type. + */ + @SerializedName("type") + String type; + + /** + * For more details about ApplePay, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay extends StripeObject { + /** + * Type of the apple_pay transaction, one of {@code apple_pay} or {@code apple_pay_later}. + */ + @SerializedName("type") + String type; + } + + /** + * For more details about GooglePay, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class GooglePay extends StripeObject {} + } } /** @@ -2579,6 +2641,15 @@ public static class SellerProtection extends StripeObject { } } + /** + * For more details about Paypay, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Paypay extends StripeObject {} + /** * For more details about Payto, please refer to the API * Reference. @@ -3186,11 +3257,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java index 42e03bde2a4..d0a468c7257 100644 --- a/src/main/java/com/stripe/model/PaymentIntent.java +++ b/src/main/java/com/stripe/model/PaymentIntent.java @@ -1709,7 +1709,7 @@ public PaymentIntent verifyMicrodeposits( @Setter @EqualsAndHashCode(callSuper = false) public static class AmountDetails extends StripeObject { - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ @SerializedName("discount_amount") Long discountAmount; @@ -3318,6 +3318,9 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("paypal") Paypal paypal; + @SerializedName("paypay") + Paypay paypay; + @SerializedName("payto") Payto payto; @@ -4219,11 +4222,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -5414,6 +5417,15 @@ public static class Tax extends StripeObject { } } + /** + * For more details about Paypay, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Paypay extends StripeObject {} + /** * For more details about Payto, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/PaymentMethod.java b/src/main/java/com/stripe/model/PaymentMethod.java index 077932dabe2..19bdb4a6418 100644 --- a/src/main/java/com/stripe/model/PaymentMethod.java +++ b/src/main/java/com/stripe/model/PaymentMethod.java @@ -221,6 +221,9 @@ public class PaymentMethod extends ApiResource implements HasId, MetadataStore

API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Paypay extends StripeObject {} + /** * For more details about Payto, please refer to the API * Reference. @@ -2850,6 +2862,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(payco, responseGetter); trySetResponseGetter(paynow, responseGetter); trySetResponseGetter(paypal, responseGetter); + trySetResponseGetter(paypay, responseGetter); trySetResponseGetter(payto, responseGetter); trySetResponseGetter(pix, responseGetter); trySetResponseGetter(promptpay, responseGetter); diff --git a/src/main/java/com/stripe/model/PaymentMethodConfiguration.java b/src/main/java/com/stripe/model/PaymentMethodConfiguration.java index 16088e60d3c..e95ad0a208b 100644 --- a/src/main/java/com/stripe/model/PaymentMethodConfiguration.java +++ b/src/main/java/com/stripe/model/PaymentMethodConfiguration.java @@ -215,6 +215,9 @@ public class PaymentMethodConfiguration extends ApiResource implements HasId { @SerializedName("paypal") Paypal paypal; + @SerializedName("paypay") + Paypay paypay; + @SerializedName("payto") Payto payto; @@ -2505,6 +2508,57 @@ public static class DisplayPreference extends StripeObject { } } + /** + * For more details about Paypay, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Paypay extends StripeObject { + /** + * Whether this payment method may be offered at checkout. True if {@code display_preference} is + * {@code on} and the payment method's capability is active. + */ + @SerializedName("available") + Boolean available; + + @SerializedName("display_preference") + DisplayPreference displayPreference; + + /** + * For more details about DisplayPreference, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class DisplayPreference extends StripeObject { + /** + * For child configs, whether or not the account's preference will be observed. If {@code + * false}, the parent configuration's default is used. + */ + @SerializedName("overridable") + Boolean overridable; + + /** + * The account's display preference. + * + *

One of {@code none}, {@code off}, or {@code on}. + */ + @SerializedName("preference") + String preference; + + /** + * The effective display preference value. + * + *

One of {@code off}, or {@code on}. + */ + @SerializedName("value") + String value; + } + } + /** * For more details about Payto, please refer to the API * Reference. @@ -3314,6 +3368,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(payco, responseGetter); trySetResponseGetter(paynow, responseGetter); trySetResponseGetter(paypal, responseGetter); + trySetResponseGetter(paypay, responseGetter); trySetResponseGetter(payto, responseGetter); trySetResponseGetter(pix, responseGetter); trySetResponseGetter(promptpay, responseGetter); diff --git a/src/main/java/com/stripe/model/PaymentRecord.java b/src/main/java/com/stripe/model/PaymentRecord.java index 1981ee34314..4a59357d016 100644 --- a/src/main/java/com/stripe/model/PaymentRecord.java +++ b/src/main/java/com/stripe/model/PaymentRecord.java @@ -12,6 +12,7 @@ import com.stripe.param.PaymentRecordReportPaymentAttemptCanceledParams; import com.stripe.param.PaymentRecordReportPaymentAttemptFailedParams; import com.stripe.param.PaymentRecordReportPaymentAttemptGuaranteedParams; +import com.stripe.param.PaymentRecordReportPaymentAttemptInformationalParams; import com.stripe.param.PaymentRecordReportPaymentAttemptParams; import com.stripe.param.PaymentRecordReportPaymentParams; import com.stripe.param.PaymentRecordRetrieveParams; @@ -368,6 +369,60 @@ public PaymentRecord reportPaymentAttemptGuaranteed( return getResponseGetter().request(request, PaymentRecord.class); } + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational() throws StripeException { + return reportPaymentAttemptInformational((Map) null, (RequestOptions) null); + } + + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational(RequestOptions options) + throws StripeException { + return reportPaymentAttemptInformational((Map) null, options); + } + + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational(Map params) + throws StripeException { + return reportPaymentAttemptInformational(params, (RequestOptions) null); + } + + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational( + Map params, RequestOptions options) throws StripeException { + String path = + String.format( + "/v1/payment_records/%s/report_payment_attempt_informational", + ApiResource.urlEncodeId(this.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getResponseGetter().request(request, PaymentRecord.class); + } + + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational( + PaymentRecordReportPaymentAttemptInformationalParams params) throws StripeException { + return reportPaymentAttemptInformational(params, (RequestOptions) null); + } + + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational( + PaymentRecordReportPaymentAttemptInformationalParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/payment_records/%s/report_payment_attempt_informational", + ApiResource.urlEncodeId(this.getId())); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return getResponseGetter().request(request, PaymentRecord.class); + } + /** Retrieves a Payment Record with the given ID. */ public static PaymentRecord retrieve(String id) throws StripeException { return retrieve(id, (Map) null, (RequestOptions) null); @@ -730,6 +785,9 @@ public static class PaymentMethodDetails extends StripeObject { @SerializedName("paypal") Paypal paypal; + @SerializedName("paypay") + Paypay paypay; + @SerializedName("payto") Payto payto; @@ -1290,11 +1348,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1432,6 +1490,10 @@ public static class Card extends StripeObject { @SerializedName("three_d_secure") ThreeDSecure threeDSecure; + /** If this Card is part of a card wallet, this contains the details of the card wallet. */ + @SerializedName("wallet") + Wallet wallet; + /** * For more details about Checks, please refer to the API Reference. @@ -1458,6 +1520,10 @@ public static class Checks extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class NetworkToken extends StripeObject { + /** + * Indicates if Stripe used a network token, either user provided or Stripe managed when + * processing the transaction. + */ @SerializedName("used") Boolean used; } @@ -1482,6 +1548,57 @@ public static class ThreeDSecure extends StripeObject { @SerializedName("version") String version; } + + /** + * For more details about Wallet, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Wallet extends StripeObject { + @SerializedName("apple_pay") + ApplePay applePay; + + /** (For tokenized numbers only.) The last four digits of the device account number. */ + @SerializedName("dynamic_last4") + String dynamicLast4; + + @SerializedName("google_pay") + GooglePay googlePay; + + /** + * The type of the card wallet, one of {@code apple_pay} or {@code google_pay}. An + * additional hash is included on the Wallet subhash with a name matching this value. It + * contains additional information specific to the card wallet type. + */ + @SerializedName("type") + String type; + + /** + * For more details about ApplePay, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay extends StripeObject { + /** + * Type of the apple_pay transaction, one of {@code apple_pay} or {@code apple_pay_later}. + */ + @SerializedName("type") + String type; + } + + /** + * For more details about GooglePay, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class GooglePay extends StripeObject {} + } } /** @@ -2778,6 +2895,15 @@ public static class SellerProtection extends StripeObject { } } + /** + * For more details about Paypay, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Paypay extends StripeObject {} + /** * For more details about Payto, please refer to the API * Reference. @@ -3385,11 +3511,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; diff --git a/src/main/java/com/stripe/model/Person.java b/src/main/java/com/stripe/model/Person.java index e5ec6fbc793..3ddbfc54c9e 100644 --- a/src/main/java/com/stripe/model/Person.java +++ b/src/main/java/com/stripe/model/Person.java @@ -541,14 +541,14 @@ public static class Errors extends StripeObject { /** * The code for the type of error. * - *

One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -567,29 +567,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, @@ -757,14 +758,14 @@ public static class Errors extends StripeObject { /** * The code for the type of error. * - *

One of {@code information_missing}, {@code invalid_address_city_state_postal_code}, - * {@code invalid_address_highway_contract_box}, {@code invalid_address_private_mailbox}, - * {@code invalid_business_profile_name}, {@code invalid_business_profile_name_denylisted}, - * {@code invalid_company_name_denylisted}, {@code invalid_dob_age_over_maximum}, {@code - * invalid_dob_age_under_18}, {@code invalid_dob_age_under_minimum}, {@code - * invalid_product_description_length}, {@code invalid_product_description_url_match}, {@code - * invalid_representative_country}, {@code invalid_signator}, {@code - * invalid_statement_descriptor_business_mismatch}, {@code + *

One of {@code external_request}, {@code information_missing}, {@code + * invalid_address_city_state_postal_code}, {@code invalid_address_highway_contract_box}, + * {@code invalid_address_private_mailbox}, {@code invalid_business_profile_name}, {@code + * invalid_business_profile_name_denylisted}, {@code invalid_company_name_denylisted}, {@code + * invalid_dob_age_over_maximum}, {@code invalid_dob_age_under_18}, {@code + * invalid_dob_age_under_minimum}, {@code invalid_product_description_length}, {@code + * invalid_product_description_url_match}, {@code invalid_representative_country}, {@code + * invalid_signator}, {@code invalid_statement_descriptor_business_mismatch}, {@code * invalid_statement_descriptor_denylisted}, {@code invalid_statement_descriptor_length}, * {@code invalid_statement_descriptor_prefix_denylisted}, {@code * invalid_statement_descriptor_prefix_mismatch}, {@code invalid_street_address}, {@code @@ -783,29 +784,30 @@ public static class Errors extends StripeObject { * invalid_url_website_incomplete_return_policy}, {@code * invalid_url_website_incomplete_terms_and_conditions}, {@code * invalid_url_website_incomplete_under_construction}, {@code invalid_url_website_other}, - * {@code invalid_value_other}, {@code verification_directors_mismatch}, {@code - * verification_document_address_mismatch}, {@code verification_document_address_missing}, - * {@code verification_document_corrupt}, {@code verification_document_country_not_supported}, - * {@code verification_document_directors_mismatch}, {@code - * verification_document_dob_mismatch}, {@code verification_document_duplicate_type}, {@code - * verification_document_expired}, {@code verification_document_failed_copy}, {@code - * verification_document_failed_greyscale}, {@code verification_document_failed_other}, {@code - * verification_document_failed_test_mode}, {@code verification_document_fraudulent}, {@code - * verification_document_id_number_mismatch}, {@code verification_document_id_number_missing}, - * {@code verification_document_incomplete}, {@code verification_document_invalid}, {@code - * verification_document_issue_or_expiry_date_missing}, {@code - * verification_document_manipulated}, {@code verification_document_missing_back}, {@code - * verification_document_missing_front}, {@code verification_document_name_mismatch}, {@code - * verification_document_name_missing}, {@code verification_document_nationality_mismatch}, - * {@code verification_document_not_readable}, {@code verification_document_not_signed}, - * {@code verification_document_not_uploaded}, {@code verification_document_photo_mismatch}, - * {@code verification_document_too_large}, {@code verification_document_type_not_supported}, - * {@code verification_extraneous_directors}, {@code verification_failed_address_match}, - * {@code verification_failed_authorizer_authority}, {@code - * verification_failed_business_iec_number}, {@code verification_failed_document_match}, - * {@code verification_failed_id_number_match}, {@code verification_failed_keyed_identity}, - * {@code verification_failed_keyed_match}, {@code verification_failed_name_match}, {@code - * verification_failed_other}, {@code verification_failed_representative_authority}, {@code + * {@code invalid_value_other}, {@code unsupported_business_type}, {@code + * verification_directors_mismatch}, {@code verification_document_address_mismatch}, {@code + * verification_document_address_missing}, {@code verification_document_corrupt}, {@code + * verification_document_country_not_supported}, {@code + * verification_document_directors_mismatch}, {@code verification_document_dob_mismatch}, + * {@code verification_document_duplicate_type}, {@code verification_document_expired}, {@code + * verification_document_failed_copy}, {@code verification_document_failed_greyscale}, {@code + * verification_document_failed_other}, {@code verification_document_failed_test_mode}, {@code + * verification_document_fraudulent}, {@code verification_document_id_number_mismatch}, {@code + * verification_document_id_number_missing}, {@code verification_document_incomplete}, {@code + * verification_document_invalid}, {@code verification_document_issue_or_expiry_date_missing}, + * {@code verification_document_manipulated}, {@code verification_document_missing_back}, + * {@code verification_document_missing_front}, {@code verification_document_name_mismatch}, + * {@code verification_document_name_missing}, {@code + * verification_document_nationality_mismatch}, {@code verification_document_not_readable}, + * {@code verification_document_not_signed}, {@code verification_document_not_uploaded}, + * {@code verification_document_photo_mismatch}, {@code verification_document_too_large}, + * {@code verification_document_type_not_supported}, {@code + * verification_extraneous_directors}, {@code verification_failed_address_match}, {@code + * verification_failed_authorizer_authority}, {@code verification_failed_business_iec_number}, + * {@code verification_failed_document_match}, {@code verification_failed_id_number_match}, + * {@code verification_failed_keyed_identity}, {@code verification_failed_keyed_match}, {@code + * verification_failed_name_match}, {@code verification_failed_other}, {@code + * verification_failed_representative_authority}, {@code * verification_failed_residential_address}, {@code verification_failed_tax_id_match}, {@code * verification_failed_tax_id_not_issued}, {@code * verification_legal_entity_structure_mismatch}, {@code verification_missing_directors}, diff --git a/src/main/java/com/stripe/model/PromotionCode.java b/src/main/java/com/stripe/model/PromotionCode.java index 087f305b2b6..51ec9aefd2e 100644 --- a/src/main/java/com/stripe/model/PromotionCode.java +++ b/src/main/java/com/stripe/model/PromotionCode.java @@ -19,9 +19,8 @@ import lombok.Setter; /** - * A Promotion Code represents a customer-redeemable code for a coupon. You can create multiple codes for a single - * coupon. + * A Promotion Code represents a customer-redeemable code for an underlying promotion. You can + * create multiple codes for a single promotion. * *

If you enable promotion codes in your customer portal @@ -48,19 +47,6 @@ public class PromotionCode extends ApiResource implements HasId, MetadataStore

subscriptions, invoices, checkout sessions, quotes, and more. Coupons do not work with - * conventional one-off charges or payment intents. - */ - @SerializedName("coupon") - Coupon coupon; - /** Time at which the object was created. Measured in seconds since the Unix epoch. */ @SerializedName("created") Long created; @@ -112,6 +98,9 @@ public class PromotionCode extends ApiResource implements HasId, MetadataStore

params) throws StripeException { return create(params, (RequestOptions) null); } /** - * A promotion code points to a coupon. You can optionally restrict the code to a specific - * customer, redemption limit, and expiration date. + * A promotion code points to an underlying promotion. You can optionally restrict the code to a + * specific customer, redemption limit, and expiration date. */ public static PromotionCode create(Map params, RequestOptions options) throws StripeException { @@ -158,16 +147,16 @@ public static PromotionCode create(Map params, RequestOptions op } /** - * A promotion code points to a coupon. You can optionally restrict the code to a specific - * customer, redemption limit, and expiration date. + * A promotion code points to an underlying promotion. You can optionally restrict the code to a + * specific customer, redemption limit, and expiration date. */ public static PromotionCode create(PromotionCodeCreateParams params) throws StripeException { return create(params, (RequestOptions) null); } /** - * A promotion code points to a coupon. You can optionally restrict the code to a specific - * customer, redemption limit, and expiration date. + * A promotion code points to an underlying promotion. You can optionally restrict the code to a + * specific customer, redemption limit, and expiration date. */ public static PromotionCode create(PromotionCodeCreateParams params, RequestOptions options) throws StripeException { @@ -319,6 +308,47 @@ public PromotionCode update(PromotionCodeUpdateParams params, RequestOptions opt return getResponseGetter().request(request, PromotionCode.class); } + /** + * For more details about Promotion, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Promotion extends StripeObject { + /** If promotion {@code type} is {@code coupon}, the coupon for this promotion. */ + @SerializedName("coupon") + @Getter(lombok.AccessLevel.NONE) + @Setter(lombok.AccessLevel.NONE) + ExpandableField coupon; + + /** + * The type of promotion. + * + *

Equal to {@code coupon}. + */ + @SerializedName("type") + String type; + + /** Get ID of expandable {@code coupon} object. */ + public String getCoupon() { + return (this.coupon != null) ? this.coupon.getId() : null; + } + + public void setCoupon(String id) { + this.coupon = ApiResource.setExpandableFieldId(id, this.coupon); + } + + /** Get expanded {@code coupon}. */ + public Coupon getCouponObject() { + return (this.coupon != null) ? this.coupon.getExpanded() : null; + } + + public void setCouponObject(Coupon expandableObject) { + this.coupon = new ExpandableField(expandableObject.getId(), expandableObject); + } + } + /** * For more details about Restrictions, please refer to the API Reference. @@ -373,8 +403,8 @@ public static class CurrencyOption extends StripeObject { @Override public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); - trySetResponseGetter(coupon, responseGetter); trySetResponseGetter(customer, responseGetter); + trySetResponseGetter(promotion, responseGetter); trySetResponseGetter(restrictions, responseGetter); } } diff --git a/src/main/java/com/stripe/model/Quote.java b/src/main/java/com/stripe/model/Quote.java index 63445a35f30..5268742f7dc 100644 --- a/src/main/java/com/stripe/model/Quote.java +++ b/src/main/java/com/stripe/model/Quote.java @@ -2201,6 +2201,9 @@ public static class LineEndsAt extends StripeObject implements HasId { @Setter @EqualsAndHashCode(callSuper = false) public static class BillingMode extends StripeObject { + @SerializedName("flexible") + Flexible flexible; + /** * Controls how prorations and invoices for subscriptions are calculated and orchestrated. * @@ -2208,6 +2211,23 @@ public static class BillingMode extends StripeObject { */ @SerializedName("type") String type; + + /** + * For more details about Flexible, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Flexible extends StripeObject { + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + * + *

One of {@code included}, or {@code itemized}. + */ + @SerializedName("proration_discounts") + String prorationDiscounts; + } } /** diff --git a/src/main/java/com/stripe/model/QuotePreviewInvoice.java b/src/main/java/com/stripe/model/QuotePreviewInvoice.java index 6888e4b8659..9f5b050c330 100644 --- a/src/main/java/com/stripe/model/QuotePreviewInvoice.java +++ b/src/main/java/com/stripe/model/QuotePreviewInvoice.java @@ -1375,6 +1375,13 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("konbini") Konbini konbini; + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + @SerializedName("pix") + Pix pix; + /** * If paying by {@code sepa_debit}, this sub-hash contains details about the SEPA Direct Debit * payment method options to pass to the invoice’s PaymentIntent. @@ -1568,6 +1575,23 @@ public static class IdBankTransfer extends StripeObject {} @EqualsAndHashCode(callSuper = false) public static class Konbini extends StripeObject {} + /** + * For more details about Pix, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Pix extends StripeObject { + /** + * Determines if the amount includes the IOF tax. + * + *

One of {@code always}, or {@code never}. + */ + @SerializedName("amount_includes_iof") + String amountIncludesIof; + } + /** * For more details about SepaDebit, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java b/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java index d3cc29da076..7c31549af0f 100644 --- a/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java +++ b/src/main/java/com/stripe/model/QuotePreviewSubscriptionSchedule.java @@ -320,6 +320,10 @@ public static class AppliesTo extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class BillingMode extends StripeObject { + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Controls how prorations and invoices for subscriptions are calculated and orchestrated. * @@ -331,6 +335,23 @@ public static class BillingMode extends StripeObject { /** Details on when the current billing_mode was adopted. */ @SerializedName("updated_at") Long updatedAt; + + /** + * For more details about Flexible, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Flexible extends StripeObject { + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + * + *

One of {@code included}, or {@code itemized}. + */ + @SerializedName("proration_discounts") + String prorationDiscounts; + } } /** diff --git a/src/main/java/com/stripe/model/Source.java b/src/main/java/com/stripe/model/Source.java index feb3f98574c..ac8dd992a5c 100644 --- a/src/main/java/com/stripe/model/Source.java +++ b/src/main/java/com/stripe/model/Source.java @@ -1191,8 +1191,8 @@ public static class Redirect extends StripeObject { /** * The status of the redirect, either {@code pending} (ready to be used by your customer to - * authenticate the transaction), {@code succeeded} (succesful authentication, cannot be reused) - * or {@code not_required} (redirect should not be used) or {@code failed} (failed + * authenticate the transaction), {@code succeeded} (successful authentication, cannot be + * reused) or {@code not_required} (redirect should not be used) or {@code failed} (failed * authentication, cannot be reused). */ @SerializedName("status") diff --git a/src/main/java/com/stripe/model/StripeError.java b/src/main/java/com/stripe/model/StripeError.java index a688f42b669..b15a46f540f 100644 --- a/src/main/java/com/stripe/model/StripeError.java +++ b/src/main/java/com/stripe/model/StripeError.java @@ -46,7 +46,9 @@ public class StripeError extends StripeObject { * customer_max_payment_methods}, {@code customer_max_subscriptions}, {@code * customer_session_expired}, {@code customer_tax_location_invalid}, {@code debit_not_authorized}, * {@code email_invalid}, {@code expired_card}, {@code financial_connections_account_inactive}, - * {@code financial_connections_institution_unavailable}, {@code + * {@code financial_connections_account_pending_account_numbers}, {@code + * financial_connections_account_unavailable_account_numbers}, {@code + * financial_connections_institution_unavailable}, {@code * financial_connections_no_successful_transaction_refresh}, {@code forwarding_api_inactive}, * {@code forwarding_api_invalid_parameter}, {@code forwarding_api_retryable_upstream_error}, * {@code forwarding_api_upstream_connection_error}, {@code diff --git a/src/main/java/com/stripe/model/Subscription.java b/src/main/java/com/stripe/model/Subscription.java index a1f4b77e6a7..79488d21582 100644 --- a/src/main/java/com/stripe/model/Subscription.java +++ b/src/main/java/com/stripe/model/Subscription.java @@ -70,6 +70,10 @@ public class Subscription extends ApiResource implements HasId, MetadataStore billingSchedules; + /** * Define thresholds at which an invoice will be sent, and the subscription advanced to a new * billing period. @@ -1413,6 +1417,10 @@ public static class BillingCycleAnchorConfig extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class BillingMode extends StripeObject { + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Controls how prorations and invoices for subscriptions are calculated and orchestrated. * @@ -1424,6 +1432,128 @@ public static class BillingMode extends StripeObject { /** Details on when the current billing_mode was adopted. */ @SerializedName("updated_at") Long updatedAt; + + /** + * For more details about Flexible, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Flexible extends StripeObject { + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + * + *

One of {@code included}, or {@code itemized}. + */ + @SerializedName("proration_discounts") + String prorationDiscounts; + } + } + + /** Sets the billing schedule for the subscription. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BillingSchedule extends StripeObject { + /** Specifies which subscription items the billing schedule applies to. */ + @SerializedName("applies_to") + List appliesTo; + + /** Specifies the billing period. */ + @SerializedName("bill_until") + BillUntil billUntil; + + /** Unique identifier for the billing schedule. */ + @SerializedName("key") + String key; + + /** Represents the entities that the billing schedule applies to. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AppliesTo extends StripeObject { + /** The billing schedule will apply to the subscription item with the given price ID. */ + @SerializedName("price") + @Getter(lombok.AccessLevel.NONE) + @Setter(lombok.AccessLevel.NONE) + ExpandableField price; + + /** + * Controls which subscription items the billing schedule applies to. + * + *

Equal to {@code price}. + */ + @SerializedName("type") + String type; + + /** Get ID of expandable {@code price} object. */ + public String getPrice() { + return (this.price != null) ? this.price.getId() : null; + } + + public void setPrice(String id) { + this.price = ApiResource.setExpandableFieldId(id, this.price); + } + + /** Get expanded {@code price}. */ + public Price getPriceObject() { + return (this.price != null) ? this.price.getExpanded() : null; + } + + public void setPriceObject(Price expandableObject) { + this.price = new ExpandableField(expandableObject.getId(), expandableObject); + } + } + + /** Specifies the billing period. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BillUntil extends StripeObject { + /** The timestamp the billing schedule will apply until. */ + @SerializedName("computed_timestamp") + Long computedTimestamp; + + /** Specifies the billing period. */ + @SerializedName("duration") + Duration duration; + + /** If specified, the billing schedule will apply until the specified timestamp. */ + @SerializedName("timestamp") + Long timestamp; + + /** + * Describes how the billing schedule will determine the end date. Either {@code duration} or + * {@code timestamp}. + * + *

One of {@code duration}, or {@code timestamp}. + */ + @SerializedName("type") + String type; + + /** + * Configures the {@code bill_until} date based on the provided {@code interval} and {@code + * interval_count}. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Duration extends StripeObject { + /** + * Specifies billing duration. Either {@code day}, {@code week}, {@code month} or {@code + * year}. + * + *

One of {@code day}, {@code month}, {@code week}, or {@code year}. + */ + @SerializedName("interval") + String interval; + + /** The multiplier applied to the interval. */ + @SerializedName("interval_count") + Long intervalCount; + } + } } /** @@ -1731,6 +1861,13 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("konbini") Konbini konbini; + /** + * This sub-hash contains details about the Pix payment method options to pass to invoices + * created by the subscription. + */ + @SerializedName("pix") + Pix pix; + /** * This sub-hash contains details about the SEPA Direct Debit payment method options to pass * to invoices created by the subscription. @@ -1946,6 +2083,55 @@ public static class IdBankTransfer extends StripeObject {} @EqualsAndHashCode(callSuper = false) public static class Konbini extends StripeObject {} + /** + * For more details about Pix, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Pix extends StripeObject { + @SerializedName("mandate_options") + MandateOptions mandateOptions; + + /** + * For more details about MandateOptions, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class MandateOptions extends StripeObject { + /** Amount to be charged for future payments. */ + @SerializedName("amount") + Long amount; + + /** + * Determines if the amount includes the IOF tax. + * + *

One of {@code always}, or {@code never}. + */ + @SerializedName("amount_includes_iof") + String amountIncludesIof; + + /** + * Date when the mandate expires and no further payments will be charged, in {@code + * YYYY-MM-DD}. + */ + @SerializedName("end_date") + String endDate; + + /** + * Schedule at which the future payments will be charged. + * + *

One of {@code halfyearly}, {@code monthly}, {@code quarterly}, {@code weekly}, or + * {@code yearly}. + */ + @SerializedName("payment_schedule") + String paymentSchedule; + } + } + /** * For more details about SepaDebit, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/SubscriptionItem.java b/src/main/java/com/stripe/model/SubscriptionItem.java index 310604f8e36..e525396e6d4 100644 --- a/src/main/java/com/stripe/model/SubscriptionItem.java +++ b/src/main/java/com/stripe/model/SubscriptionItem.java @@ -30,6 +30,10 @@ @EqualsAndHashCode(callSuper = false) public class SubscriptionItem extends ApiResource implements HasId, MetadataStore { + /** The time period the subscription item has been billed for. */ + @SerializedName("billed_until") + Long billedUntil; + /** * Define thresholds at which an invoice will be sent, and the related subscription advanced to a * new billing period. diff --git a/src/main/java/com/stripe/model/SubscriptionSchedule.java b/src/main/java/com/stripe/model/SubscriptionSchedule.java index 3e22af3b9ea..090e4a87ffd 100644 --- a/src/main/java/com/stripe/model/SubscriptionSchedule.java +++ b/src/main/java/com/stripe/model/SubscriptionSchedule.java @@ -635,6 +635,10 @@ public SubscriptionSchedule update( @Setter @EqualsAndHashCode(callSuper = false) public static class BillingMode extends StripeObject { + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Controls how prorations and invoices for subscriptions are calculated and orchestrated. * @@ -646,6 +650,23 @@ public static class BillingMode extends StripeObject { /** Details on when the current billing_mode was adopted. */ @SerializedName("updated_at") Long updatedAt; + + /** + * For more details about Flexible, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Flexible extends StripeObject { + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + * + *

One of {@code included}, or {@code itemized}. + */ + @SerializedName("proration_discounts") + String prorationDiscounts; + } } /** diff --git a/src/main/java/com/stripe/model/billing/MeterUsage.java b/src/main/java/com/stripe/model/billing/analytics/MeterUsage.java similarity index 83% rename from src/main/java/com/stripe/model/billing/MeterUsage.java rename to src/main/java/com/stripe/model/billing/analytics/MeterUsage.java index 12bc8a41975..444402d2bc7 100644 --- a/src/main/java/com/stripe/model/billing/MeterUsage.java +++ b/src/main/java/com/stripe/model/billing/analytics/MeterUsage.java @@ -1,5 +1,5 @@ // File generated from our OpenAPI spec -package com.stripe.model.billing; +package com.stripe.model.billing.analytics; import com.google.gson.annotations.SerializedName; import com.stripe.exception.StripeException; @@ -8,8 +8,8 @@ import com.stripe.net.ApiResource; import com.stripe.net.BaseAddress; import com.stripe.net.RequestOptions; -import com.stripe.param.billing.MeterUsageRetrieveParams; -import java.util.List; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.billing.analytics.MeterUsageRetrieveParams; import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -23,14 +23,6 @@ @Setter @EqualsAndHashCode(callSuper = false) public class MeterUsage extends ApiResource { - /** The aggregated meter usage data for the specified customer and time range. */ - @SerializedName("data") - List data; - - /** Timestamp indicating how fresh the data is. Measured in seconds since the Unix epoch. */ - @SerializedName("data_refreshed_at") - Long dataRefreshedAt; - /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. @@ -41,11 +33,18 @@ public class MeterUsage extends ApiResource { /** * String representing the object's type. Objects of the same type share the same value. * - *

Equal to {@code billing.meter_usage}. + *

Equal to {@code billing.analytics.meter_usage}. */ @SerializedName("object") String object; + /** The timestamp to indicate data freshness, measured in seconds since the Unix epoch. */ + @SerializedName("refreshed_at") + Long refreshedAt; + + @SerializedName("rows") + MeterUsageRowCollection rows; + /** * Returns aggregated meter usage data for a customer within a specified time interval. The data * can be grouped by various dimensions and can include multiple meters if specified. @@ -91,4 +90,10 @@ public static MeterUsage retrieve(MeterUsageRetrieveParams params, RequestOption options); return getGlobalResponseGetter().request(request, MeterUsage.class); } + + @Override + public void setResponseGetter(StripeResponseGetter responseGetter) { + super.setResponseGetter(responseGetter); + trySetResponseGetter(rows, responseGetter); + } } diff --git a/src/main/java/com/stripe/model/billing/MeterUsageRow.java b/src/main/java/com/stripe/model/billing/analytics/MeterUsageRow.java similarity index 79% rename from src/main/java/com/stripe/model/billing/MeterUsageRow.java rename to src/main/java/com/stripe/model/billing/analytics/MeterUsageRow.java index 547e3b68e94..20629016ffa 100644 --- a/src/main/java/com/stripe/model/billing/MeterUsageRow.java +++ b/src/main/java/com/stripe/model/billing/analytics/MeterUsageRow.java @@ -1,5 +1,5 @@ // File generated from our OpenAPI spec -package com.stripe.model.billing; +package com.stripe.model.billing.analytics; import com.google.gson.annotations.SerializedName; import com.stripe.model.HasId; @@ -14,22 +14,14 @@ @Setter @EqualsAndHashCode(callSuper = false) public class MeterUsageRow extends StripeObject implements HasId { - /** Timestamp indicating the end of the bucket. Measured in seconds since the Unix epoch. */ - @SerializedName("bucket_end_time") - Long bucketEndTime; - - /** Timestamp indicating the start of the bucket. Measured in seconds since the Unix epoch. */ - @SerializedName("bucket_start_time") - Long bucketStartTime; - - /** The aggregated meter usage value for the specified bucket. */ - @SerializedName("bucket_value") - BigDecimal bucketValue; - /** A set of key-value pairs representing the dimensions of the meter usage. */ @SerializedName("dimensions") Map dimensions; + /** Timestamp indicating the end of the bucket. Measured in seconds since the Unix epoch. */ + @SerializedName("ends_at") + Long endsAt; + /** Unique identifier for the object. */ @Getter(onMethod_ = {@Override}) @SerializedName("id") @@ -39,14 +31,22 @@ public class MeterUsageRow extends StripeObject implements HasId { * The unique identifier for the meter. Null if no meters were provided and usage was aggregated * across all meters. */ - @SerializedName("meter_id") - String meterId; + @SerializedName("meter") + String meter; /** * String representing the object's type. Objects of the same type share the same value. * - *

Equal to {@code billing.meter_usage_row}. + *

Equal to {@code billing.analytics.meter_usage_row}. */ @SerializedName("object") String object; + + /** Timestamp indicating the start of the bucket. Measured in seconds since the Unix epoch. */ + @SerializedName("starts_at") + Long startsAt; + + /** The aggregated meter usage value for the specified bucket. */ + @SerializedName("value") + BigDecimal value; } diff --git a/src/main/java/com/stripe/model/billing/analytics/MeterUsageRowCollection.java b/src/main/java/com/stripe/model/billing/analytics/MeterUsageRowCollection.java new file mode 100644 index 00000000000..40d0877c886 --- /dev/null +++ b/src/main/java/com/stripe/model/billing/analytics/MeterUsageRowCollection.java @@ -0,0 +1,6 @@ +// File generated from our OpenAPI spec +package com.stripe.model.billing.analytics; + +import com.stripe.model.StripeCollection; + +public class MeterUsageRowCollection extends StripeCollection {} diff --git a/src/main/java/com/stripe/model/billingportal/Configuration.java b/src/main/java/com/stripe/model/billingportal/Configuration.java index 29ef889e4f0..3a3b455e6d8 100644 --- a/src/main/java/com/stripe/model/billingportal/Configuration.java +++ b/src/main/java/com/stripe/model/billingportal/Configuration.java @@ -449,6 +449,16 @@ public static class SubscriptionUpdate extends StripeObject { @SerializedName("schedule_at_period_end") ScheduleAtPeriodEnd scheduleAtPeriodEnd; + /** + * Determines how handle updates to trialing subscriptions. Valid values are {@code end_trial} + * and {@code continue_trial}. Defaults to a value of {@code end_trial} if you don't set it + * during creation. + * + *

One of {@code continue_trial}, or {@code end_trial}. + */ + @SerializedName("trial_update_behavior") + String trialUpdateBehavior; + /** * For more details about Product, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/checkout/Session.java b/src/main/java/com/stripe/model/checkout/Session.java index 0797bad0d51..4a65ade6130 100644 --- a/src/main/java/com/stripe/model/checkout/Session.java +++ b/src/main/java/com/stripe/model/checkout/Session.java @@ -94,6 +94,9 @@ public class Session extends ApiResource implements HasId, MetadataStore discounts; + /** + * A list of the types of payment methods (e.g., {@code card}) that should be excluded from this + * Checkout Session. This should only be used when payment methods for this Checkout Session are + * managed through the Stripe + * Dashboard. + */ + @SerializedName("excluded_payment_method_types") + List excludedPaymentMethodTypes; + /** The timestamp at which the Checkout Session will expire. */ @SerializedName("expires_at") Long expiresAt; @@ -266,6 +278,9 @@ public class Session extends ApiResource implements HasId, MetadataStoreAPI Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BrandingSettings extends StripeObject { + /** + * A hex color value starting with {@code #} representing the background color for the Checkout + * Session. + */ + @SerializedName("background_color") + String backgroundColor; + + /** + * The border style for the Checkout Session. Must be one of {@code rounded}, {@code + * rectangular}, or {@code pill}. + */ + @SerializedName("border_style") + String borderStyle; + + /** + * A hex color value starting with {@code #} representing the button color for the Checkout + * Session. + */ + @SerializedName("button_color") + String buttonColor; + + /** The display name shown on the Checkout Session. */ + @SerializedName("display_name") + String displayName; + + /** + * The font family for the Checkout Session. Must be one of the supported + * font families. + */ + @SerializedName("font_family") + String fontFamily; + + /** The icon for the Checkout Session. You cannot set both {@code logo} and {@code icon}. */ + @SerializedName("icon") + Icon icon; + + /** The logo for the Checkout Session. You cannot set both {@code logo} and {@code icon}. */ + @SerializedName("logo") + Logo logo; + + /** + * For more details about Icon, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Icon extends StripeObject { + /** + * The ID of a File upload representing the + * icon. Purpose must be {@code business_icon}. Required if {@code type} is {@code file} and + * disallowed otherwise. + */ + @SerializedName("file") + String file; + + /** The type of image for the icon. Must be one of {@code file} or {@code url}. */ + @SerializedName("type") + String type; + + /** The URL of the image. Present when {@code type} is {@code url}. */ + @SerializedName("url") + String url; + } + + /** + * For more details about Logo, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Logo extends StripeObject { + /** + * The ID of a File upload representing the + * logo. Purpose must be {@code business_logo}. Required if {@code type} is {@code file} and + * disallowed otherwise. + */ + @SerializedName("file") + String file; + + /** The type of image for the logo. Must be one of {@code file} or {@code url}. */ + @SerializedName("type") + String type; + + /** The URL of the image. Present when {@code type} is {@code url}. */ + @SerializedName("url") + String url; + } + } + /** * For more details about CollectedInformation, please refer to the API Reference. @@ -1027,6 +1142,10 @@ public static class CollectedInformation extends StripeObject { @SerializedName("email") String email; + /** Customer’s individual name for this Checkout Session. */ + @SerializedName("individual_name") + String individualName; + /** Customer’s phone number for this Checkout Session. */ @SerializedName("phone") String phone; @@ -1453,6 +1572,10 @@ public static class CustomerDetails extends StripeObject { @SerializedName("address") Address address; + /** The customer's business name after a completed Checkout Session. */ + @SerializedName("business_name") + String businessName; + /** * The email associated with the Customer, if one exists, on the Checkout Session after a * completed Checkout Session or at time of session expiry. Otherwise, if the customer has @@ -1462,6 +1585,10 @@ public static class CustomerDetails extends StripeObject { @SerializedName("email") String email; + /** The customer's individual name after a completed Checkout Session. */ + @SerializedName("individual_name") + String individualName; + /** * The customer's name after a completed Checkout Session. Note: This property is populated only * for sessions on or after March 30, 2022. @@ -1764,6 +1891,61 @@ public static class RenderingOptions extends StripeObject { } } + /** + * For more details about NameCollection, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NameCollection extends StripeObject { + @SerializedName("business") + Business business; + + @SerializedName("individual") + Individual individual; + + /** + * For more details about Business, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Business extends StripeObject { + /** Indicates whether business name collection is enabled for the session. */ + @SerializedName("enabled") + Boolean enabled; + + /** + * Whether the customer is required to complete the field before completing the Checkout + * Session. Defaults to {@code false}. + */ + @SerializedName("optional") + Boolean optional; + } + + /** + * For more details about Individual, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Individual extends StripeObject { + /** Indicates whether individual name collection is enabled for the session. */ + @SerializedName("enabled") + Boolean enabled; + + /** + * Whether the customer is required to complete the field before completing the Checkout + * Session. Defaults to {@code false}. + */ + @SerializedName("optional") + Boolean optional; + } + } + /** * For more details about OptionalItem, please refer to the API Reference. @@ -1849,6 +2031,9 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("alipay") Alipay alipay; + @SerializedName("alma") + Alma alma; + @SerializedName("amazon_pay") AmazonPay amazonPay; @@ -1861,6 +2046,9 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("bancontact") Bancontact bancontact; + @SerializedName("billie") + Billie billie; + @SerializedName("boleto") Boleto boleto; @@ -1939,6 +2127,9 @@ public static class PaymentMethodOptions extends StripeObject { @SerializedName("samsung_pay") SamsungPay samsungPay; + @SerializedName("satispay") + Satispay satispay; + @SerializedName("sepa_debit") SepaDebit sepaDebit; @@ -2062,6 +2253,14 @@ public static class MandateOptions extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Affirm extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -2095,6 +2294,14 @@ public static class Affirm extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class AfterpayClearpay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -2153,6 +2360,23 @@ public static class Alipay extends StripeObject { String setupFutureUsage; } + /** + * For more details about Alma, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Alma extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + } + /** * For more details about AmazonPay, please refer to the API Reference. @@ -2161,6 +2385,14 @@ public static class Alipay extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class AmazonPay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -2321,6 +2553,23 @@ public static class Bancontact extends StripeObject { String setupFutureUsage; } + /** + * For more details about Billie, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Billie extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + } + /** * For more details about Boleto, please refer to the API * Reference. @@ -2370,6 +2619,14 @@ public static class Boleto extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Card extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + @SerializedName("installments") Installments installments; @@ -2520,6 +2777,14 @@ public static class Restrictions extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Cashapp extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -2855,6 +3120,14 @@ public static class KakaoPay extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Klarna extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -2971,6 +3244,14 @@ public static class KrCard extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Link extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -3004,6 +3285,14 @@ public static class Link extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Mobilepay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -3506,6 +3795,14 @@ public static class MandateOptions extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class RevolutPay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + /** * Indicates that you intend to make future payments with this PaymentIntent's payment method. * @@ -3548,6 +3845,23 @@ public static class SamsungPay extends StripeObject { String captureMethod; } + /** + * For more details about Satispay, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Satispay extends StripeObject { + /** + * Controls when the funds will be captured from the customer's account. + * + *

Equal to {@code manual}. + */ + @SerializedName("capture_method") + String captureMethod; + } + /** * For more details about SepaDebit, please refer to the API Reference. @@ -4245,6 +4559,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(adaptivePricing, responseGetter); trySetResponseGetter(afterExpiration, responseGetter); trySetResponseGetter(automaticTax, responseGetter); + trySetResponseGetter(brandingSettings, responseGetter); trySetResponseGetter(collectedInformation, responseGetter); trySetResponseGetter(consent, responseGetter); trySetResponseGetter(consentCollection, responseGetter); @@ -4255,6 +4570,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(invoice, responseGetter); trySetResponseGetter(invoiceCreation, responseGetter); trySetResponseGetter(lineItems, responseGetter); + trySetResponseGetter(nameCollection, responseGetter); trySetResponseGetter(paymentIntent, responseGetter); trySetResponseGetter(paymentLink, responseGetter); trySetResponseGetter(paymentMethodConfigurationDetails, responseGetter); diff --git a/src/main/java/com/stripe/model/issuing/Card.java b/src/main/java/com/stripe/model/issuing/Card.java index 979aff4b95e..c2279b0a4a6 100644 --- a/src/main/java/com/stripe/model/issuing/Card.java +++ b/src/main/java/com/stripe/model/issuing/Card.java @@ -165,6 +165,10 @@ public class Card extends ApiResource implements HasId, MetadataStore { @SerializedName("replacement_reason") String replacementReason; + /** Text separate from cardholder name, printed on the card. */ + @SerializedName("second_line") + String secondLine; + /** Where and how the card will be shipped. */ @SerializedName("shipping") Shipping shipping; diff --git a/src/main/java/com/stripe/model/tax/Calculation.java b/src/main/java/com/stripe/model/tax/Calculation.java index 97a756ab956..239ee21ba6d 100644 --- a/src/main/java/com/stripe/model/tax/Calculation.java +++ b/src/main/java/com/stripe/model/tax/Calculation.java @@ -290,11 +290,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -304,7 +304,7 @@ public static class Address extends StripeObject { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") String state; @@ -380,11 +380,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -394,7 +394,7 @@ public static class Address extends StripeObject { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") String state; diff --git a/src/main/java/com/stripe/model/tax/Settings.java b/src/main/java/com/stripe/model/tax/Settings.java index b5090fc8d20..d26e2cb6c60 100644 --- a/src/main/java/com/stripe/model/tax/Settings.java +++ b/src/main/java/com/stripe/model/tax/Settings.java @@ -149,6 +149,15 @@ public static Settings update(SettingsUpdateParams params, RequestOptions option @Setter @EqualsAndHashCode(callSuper = false) public static class Defaults extends StripeObject { + /** + * The tax calculation provider this account uses. Defaults to {@code stripe} when not using a + * third-party provider. + * + *

One of {@code anrok}, {@code avalara}, {@code sphere}, or {@code stripe}. + */ + @SerializedName("provider") + String provider; + /** * Default tax diff --git a/src/main/java/com/stripe/model/tax/Transaction.java b/src/main/java/com/stripe/model/tax/Transaction.java index fd628992398..f67b062766f 100644 --- a/src/main/java/com/stripe/model/tax/Transaction.java +++ b/src/main/java/com/stripe/model/tax/Transaction.java @@ -335,11 +335,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -349,7 +349,7 @@ public static class Address extends StripeObject { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") String state; @@ -438,11 +438,11 @@ public static class Address extends StripeObject { @SerializedName("country") String country; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -452,7 +452,7 @@ public static class Address extends StripeObject { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") String state; diff --git a/src/main/java/com/stripe/model/terminal/Configuration.java b/src/main/java/com/stripe/model/terminal/Configuration.java index e6b4a193f7c..ea48c740df3 100644 --- a/src/main/java/com/stripe/model/terminal/Configuration.java +++ b/src/main/java/com/stripe/model/terminal/Configuration.java @@ -33,6 +33,9 @@ @Setter @EqualsAndHashCode(callSuper = false) public class Configuration extends ApiResource implements HasId { + @SerializedName("bbpos_wisepad3") + BbposWisepad3 bbposWisepad3; + @SerializedName("bbpos_wisepos_e") BbposWiseposE bbposWiseposE; @@ -258,6 +261,39 @@ public Configuration update(ConfigurationUpdateParams params, RequestOptions opt return getResponseGetter().request(request, Configuration.class); } + /** + * For more details about BbposWisepad3, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BbposWisepad3 extends StripeObject { + /** A File ID representing an image to display on the reader. */ + @SerializedName("splashscreen") + @Getter(lombok.AccessLevel.NONE) + @Setter(lombok.AccessLevel.NONE) + ExpandableField splashscreen; + + /** Get ID of expandable {@code splashscreen} object. */ + public String getSplashscreen() { + return (this.splashscreen != null) ? this.splashscreen.getId() : null; + } + + public void setSplashscreen(String id) { + this.splashscreen = ApiResource.setExpandableFieldId(id, this.splashscreen); + } + + /** Get expanded {@code splashscreen}. */ + public File getSplashscreenObject() { + return (this.splashscreen != null) ? this.splashscreen.getExpanded() : null; + } + + public void setSplashscreenObject(File expandableObject) { + this.splashscreen = new ExpandableField(expandableObject.getId(), expandableObject); + } + } + /** * For more details about BbposWiseposE, please refer to the API Reference. @@ -1083,6 +1119,7 @@ public static class PersonalPsk extends StripeObject { @Override public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); + trySetResponseGetter(bbposWisepad3, responseGetter); trySetResponseGetter(bbposWiseposE, responseGetter); trySetResponseGetter(offline, responseGetter); trySetResponseGetter(readerSecurity, responseGetter); diff --git a/src/main/java/com/stripe/model/terminal/Location.java b/src/main/java/com/stripe/model/terminal/Location.java index 93969929030..95871681b0e 100644 --- a/src/main/java/com/stripe/model/terminal/Location.java +++ b/src/main/java/com/stripe/model/terminal/Location.java @@ -6,6 +6,7 @@ import com.stripe.model.Address; import com.stripe.model.HasId; import com.stripe.model.MetadataStore; +import com.stripe.model.StripeObject; import com.stripe.net.ApiRequest; import com.stripe.net.ApiRequestParams; import com.stripe.net.ApiResource; @@ -33,6 +34,12 @@ public class Location extends ApiResource implements HasId, MetadataStoreAPI Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AddressKana extends StripeObject { + /** City/Ward. */ + @SerializedName("city") + String city; + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + String country; + + /** Block/Building number. */ + @SerializedName("line1") + String line1; + + /** Building details. */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** Prefecture. */ + @SerializedName("state") + String state; + + /** Town/cho-me. */ + @SerializedName("town") + String town; + } + + /** + * For more details about AddressKanji, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AddressKanji extends StripeObject { + /** City/Ward. */ + @SerializedName("city") + String city; + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + String country; + + /** Block/Building number. */ + @SerializedName("line1") + String line1; + + /** Building details. */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** Prefecture. */ + @SerializedName("state") + String state; + + /** Town/cho-me. */ + @SerializedName("town") + String town; + } + @Override public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); trySetResponseGetter(address, responseGetter); + trySetResponseGetter(addressKana, responseGetter); + trySetResponseGetter(addressKanji, responseGetter); } } diff --git a/src/main/java/com/stripe/model/v2/DeletedObject.java b/src/main/java/com/stripe/model/v2/DeletedObject.java new file mode 100644 index 00000000000..11c7fb566f3 --- /dev/null +++ b/src/main/java/com/stripe/model/v2/DeletedObject.java @@ -0,0 +1,26 @@ +// File generated from our OpenAPI spec +package com.stripe.model.v2; + +import com.google.gson.annotations.SerializedName; +import com.stripe.model.HasId; +import com.stripe.model.StripeObject; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class DeletedObject extends StripeObject implements HasId { + /** The ID of the object that's being deleted. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** + * String representing the type of the object that has been deleted. Objects of the same type + * share the same value of the object field. + */ + @SerializedName("object") + String object; +} diff --git a/src/main/java/com/stripe/model/v2/Event.java b/src/main/java/com/stripe/model/v2/Event.java index 85586a20a09..140e8855029 100644 --- a/src/main/java/com/stripe/model/v2/Event.java +++ b/src/main/java/com/stripe/model/v2/Event.java @@ -17,6 +17,18 @@ import lombok.Getter; import lombok.Setter; +/** + * Events are generated to keep you informed of activity in your business account. APIs in the /v2 + * namespace generate thin events which + * have small, unversioned payloads that include a reference to the ID of the object that has + * changed. The Events v2 API returns these new thin events. Retrieve the event object for + * additional data about the event. Use the related object ID in the event payload to fetch + * the API resource of the object associated with the event. Comparatively, events generated by + * most API v1 include a versioned snapshot of an API object in their payload. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -121,10 +133,7 @@ public static class RelatedObject extends StripeObject implements HasId { String url; } - /** - * For more details about Reason, please refer to the API - * Reference. - */ + /** Reason for the event. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -141,10 +150,7 @@ public static class Reason extends StripeObject { @SerializedName("type") String type; - /** - * For more details about Request, please refer to the API - * Reference. - */ + /** Information on the API request that instigated the event. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java index 2d4f2ef9800..c08e50db0c8 100644 --- a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java @@ -36,7 +36,7 @@ public final class EventDataClassLookup { classLookup.put("v2.core.account", com.stripe.model.v2.core.Account.class); classLookup.put("v2.core.account_link", com.stripe.model.v2.core.AccountLink.class); - classLookup.put("v2.core.account_person", com.stripe.model.v2.core.Person.class); + classLookup.put("v2.core.account_person", com.stripe.model.v2.core.AccountPerson.class); classLookup.put( "v2.core.vault.gb_bank_account", com.stripe.model.v2.core.vault.GbBankAccount.class); diff --git a/src/main/java/com/stripe/model/v2/EventDestination.java b/src/main/java/com/stripe/model/v2/EventDestination.java index 401cf4666c0..6da9435ba81 100644 --- a/src/main/java/com/stripe/model/v2/EventDestination.java +++ b/src/main/java/com/stripe/model/v2/EventDestination.java @@ -11,6 +11,13 @@ import lombok.Getter; import lombok.Setter; +/** + * Set up an event destination to receive events from Stripe across multiple destination types, + * including webhook endpoints and Amazon EventBridge. Event + * destinations support receiving thin events + * and snapshot events. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -104,10 +111,7 @@ public class EventDestination extends StripeObject implements HasId { @SerializedName("webhook_endpoint") WebhookEndpoint webhookEndpoint; - /** - * For more details about AmazonEventbridge, please refer to the API Reference. - */ + /** Amazon EventBridge configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -129,10 +133,7 @@ public static class AmazonEventbridge extends StripeObject { String awsEventSourceStatus; } - /** - * For more details about StatusDetails, please refer to the API Reference. - */ + /** Additional information about event destination status. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -141,10 +142,7 @@ public static class StatusDetails extends StripeObject { @SerializedName("disabled") Disabled disabled; - /** - * For more details about Disabled, please refer to the API Reference. - */ + /** Details about why the event destination has been disabled. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -159,10 +157,7 @@ public static class Disabled extends StripeObject { } } - /** - * For more details about WebhookEndpoint, please refer to the API Reference. - */ + /** Webhook endpoint configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/billing/MeterEvent.java b/src/main/java/com/stripe/model/v2/billing/MeterEvent.java index 854478014d2..698c1693576 100644 --- a/src/main/java/com/stripe/model/v2/billing/MeterEvent.java +++ b/src/main/java/com/stripe/model/v2/billing/MeterEvent.java @@ -9,6 +9,7 @@ import lombok.Getter; import lombok.Setter; +/** Fix me empty_doc_string. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java b/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java index 6fbad825d02..a81435ddf07 100644 --- a/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java +++ b/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java @@ -63,10 +63,7 @@ public class MeterEventAdjustment extends StripeObject implements HasId { @SerializedName("type") String type; - /** - * For more details about Cancel, please refer to the API - * Reference. - */ + /** Specifies which event to cancel. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/core/Account.java b/src/main/java/com/stripe/model/v2/core/Account.java index 7e4f05aaea4..073e0293c5d 100644 --- a/src/main/java/com/stripe/model/v2/core/Account.java +++ b/src/main/java/com/stripe/model/v2/core/Account.java @@ -5,6 +5,7 @@ import com.stripe.model.HasId; import com.stripe.model.StripeObject; import com.stripe.v2.Amount; +import java.math.BigDecimal; import java.time.Instant; import java.util.List; import java.util.Map; @@ -12,6 +13,11 @@ import lombok.Getter; import lombok.Setter; +/** + * A V2 Account is a representation of a company or individual that a Stripe user does business + * with. Accounts contain the contact details, Legal Entity information, and configuration required + * to enable the Account for use across Stripe products. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -104,8 +110,8 @@ public class Account extends StripeObject implements HasId { Requirements requirements; /** - * For more details about Configuration, please refer to the API Reference. + * An Account Configuration which allows the Account to take on a key persona across Stripe + * products. */ @Getter @Setter @@ -134,10 +140,7 @@ public static class Configuration extends StripeObject { @SerializedName("storer") Storer storer; - /** - * For more details about Customer, please refer to the API Reference. - */ + /** The Customer Configuration allows the Account to be used in inbound payment flows. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -180,8 +183,9 @@ public static class Customer extends StripeObject { String testClock; /** - * For more details about AutomaticIndirectTax, please refer to the API Reference. + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the + * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. */ @Getter @Setter @@ -221,53 +225,14 @@ public static class AutomaticIndirectTax extends StripeObject { String locationSource; /** - * For more details about Location, please refer to the API Reference. + * The customer’s identified tax location - uses {@code location_source}. Will only be + * rendered if the {@code automatic_indirect_tax} feature is requested and {@code active}. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Location extends StripeObject { - /** - * The identified tax country of the customer. - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, - * {@code am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, - * {@code aw}, {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, - * {@code bf}, {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, - * {@code bn}, {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, - * {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, - * {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, - * {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, - * {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, - * {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, - * {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, - * {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, - * {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, - * {@code km}, {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, - * {@code la}, {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, - * {@code lt}, {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, - * {@code me}, {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, - * {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, - * {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, - * {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, - * {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, - * {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, - * {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, - * {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, - * {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, - * {@code ua}, {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, - * {@code vc}, {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, - * {@code ws}, {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. - */ + /** The identified tax country of the customer. */ @SerializedName("country") String country; @@ -278,8 +243,8 @@ public static class Location extends StripeObject { } /** - * For more details about Billing, please refer to the API Reference. + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. */ @Getter @Setter @@ -296,10 +261,7 @@ public static class Billing extends StripeObject { @SerializedName("invoice") Invoice invoice; - /** - * For more details about Invoice, please refer to the API Reference. - */ + /** Default settings used on invoices for this customer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -317,7 +279,7 @@ public static class Invoice extends StripeObject { /** The sequence to be used on the customer's next invoice. Defaults to 1. */ @SerializedName("next_sequence") - Integer nextSequence; + Long nextSequence; /** * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 @@ -350,10 +312,7 @@ public static class CustomField extends StripeObject { String value; } - /** - * For more details about Rendering, please refer to the API Reference. - */ + /** Default options for invoice PDF rendering for this customer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -374,10 +333,7 @@ public static class Rendering extends StripeObject { } } - /** - * For more details about Capabilities, please refer to the API Reference. - */ + /** Capabilities that have been requested on the Customer Configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -392,8 +348,10 @@ public static class Capabilities extends StripeObject { AutomaticIndirectTax automaticIndirectTax; /** - * For more details about AutomaticIndirectTax, please refer to the API Reference. + * Generates requirements for enabling automatic indirect tax calculation on this customer's + * invoices or subscriptions. Recommended to request this capability if planning to enable + * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code + * location_source} field. */ @Getter @Setter @@ -450,10 +408,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about Shipping, please refer to the API Reference. - */ + /** The customer's shipping information. Appears on invoices emailed to this customer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -470,10 +425,7 @@ public static class Shipping extends StripeObject { @SerializedName("phone") String phone; - /** - * For more details about Address, please refer to the API Reference. - */ + /** Customer shipping address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -485,43 +437,6 @@ public static class Address extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, - * {@code am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, - * {@code aw}, {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, - * {@code bf}, {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, - * {@code bn}, {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, - * {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, - * {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, - * {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, - * {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, - * {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, - * {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, - * {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, - * {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, - * {@code km}, {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, - * {@code la}, {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, - * {@code lt}, {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, - * {@code me}, {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, - * {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, - * {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, - * {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, - * {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, - * {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, - * {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, - * {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, - * {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, - * {@code ua}, {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, - * {@code vc}, {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, - * {@code ws}, {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -546,8 +461,9 @@ public static class Address extends StripeObject { } /** - * For more details about Merchant, please refer to the API Reference. + * The Merchant configuration allows the Account to act as a connected account and collect + * payments facilitated by a Connect platform. You can add this configuration to your connected + * accounts only if you’ve completed onboarding as a Connect platform. */ @Getter @Setter @@ -598,10 +514,7 @@ public static class Merchant extends StripeObject { @SerializedName("support") Support support; - /** - * For more details about BacsDebitPayments, please refer to the API Reference. - */ + /** Settings used for Bacs debit payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -616,8 +529,8 @@ public static class BacsDebitPayments extends StripeObject { } /** - * For more details about Branding, please refer to the API Reference. + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. */ @Getter @Setter @@ -647,10 +560,7 @@ public static class Branding extends StripeObject { String secondaryColor; } - /** - * For more details about Capabilities, please refer to the API Reference. - */ + /** Capabilities that have been requested on the Merchant Configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -835,10 +745,7 @@ public static class Capabilities extends StripeObject { @SerializedName("zip_payments") ZipPayments zipPayments; - /** - * For more details about AchDebitPayments, please refer to the API Reference. - */ + /** Allow the merchant to process ACH debit payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -893,10 +800,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about AcssDebitPayments, please refer to the API Reference. - */ + /** Allow the merchant to process ACSS debit payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -951,10 +855,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about AffirmPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Affirm payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1009,10 +910,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about AfterpayClearpayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Afterpay/Clearpay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1067,10 +965,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about AlmaPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Alma payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1124,10 +1019,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about AmazonPayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Amazon Pay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1182,10 +1074,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about AuBecsDebitPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Australian BECS Direct Debit payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1240,10 +1129,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about BacsDebitPayments, please refer to the API Reference. - */ + /** Allow the merchant to process BACS Direct Debit payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1298,10 +1184,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about BancontactPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Bancontact payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1356,10 +1239,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about BlikPayments, please refer to the API Reference. - */ + /** Allow the merchant to process BLIK payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1413,10 +1293,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about BoletoPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Boleto payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1471,10 +1348,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about CardPayments, please refer to the API Reference. - */ + /** Allow the merchant to collect card payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1528,10 +1402,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about CartesBancairesPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Cartes Bancaires payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1586,10 +1457,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about CashappPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Cash App payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1644,10 +1512,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about EpsPayments, please refer to the API Reference. - */ + /** Allow the merchant to process EPS payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1701,10 +1566,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about FpxPayments, please refer to the API Reference. - */ + /** Allow the merchant to process FPX payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1758,10 +1620,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about GbBankTransferPayments, please refer to the API Reference. - */ + /** Allow the merchant to process UK bank transfer payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1816,10 +1675,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about GrabpayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process GrabPay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1874,10 +1730,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about IdealPayments, please refer to the API Reference. - */ + /** Allow the merchant to process iDEAL payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1932,10 +1785,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about JcbPayments, please refer to the API Reference. - */ + /** Allow the merchant to process JCB card payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -1989,10 +1839,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about JpBankTransferPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Japanese bank transfer payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2047,10 +1894,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about KakaoPayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Kakao Pay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2105,10 +1949,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about KlarnaPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Klarna payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2163,10 +2004,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about KonbiniPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Konbini convenience store payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2221,10 +2059,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about KrCardPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Korean card payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2279,10 +2114,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about LinkPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Link payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2336,10 +2168,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about MobilepayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process MobilePay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2394,10 +2223,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about MultibancoPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Multibanco payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2452,10 +2278,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about MxBankTransferPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Mexican bank transfer payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2510,10 +2333,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about NaverPayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Naver Pay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2568,10 +2388,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about OxxoPayments, please refer to the API Reference. - */ + /** Allow the merchant to process OXXO payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2625,10 +2442,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about P24Payments, please refer to the API Reference. - */ + /** Allow the merchant to process Przelewy24 (P24) payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2682,10 +2496,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about PayByBankPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Pay by Bank payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2740,10 +2551,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about PaycoPayments, please refer to the API Reference. - */ + /** Allow the merchant to process PAYCO payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2798,10 +2606,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about PaynowPayments, please refer to the API Reference. - */ + /** Allow the merchant to process PayNow payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2856,10 +2661,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about PromptpayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process PromptPay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2914,10 +2716,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about RevolutPayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Revolut Pay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -2972,10 +2771,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about SamsungPayPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Samsung Pay payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3030,10 +2826,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about SepaBankTransferPayments, please refer to the API Reference. - */ + /** Allow the merchant to process SEPA bank transfer payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3088,10 +2881,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about SepaDebitPayments, please refer to the API Reference. - */ + /** Allow the merchant to process SEPA Direct Debit payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3146,10 +2936,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about StripeBalance, please refer to the API Reference. - */ + /** Capabilities that enable the merchant to manage their Stripe Balance (/v1/balance). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3158,10 +2945,7 @@ public static class StripeBalance extends StripeObject { @SerializedName("payouts") Payouts payouts; - /** - * For more details about Payouts, please refer to the API Reference. - */ + /** Allows the account to do payouts using their Stripe Balance (/v1/balance). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3218,10 +3002,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about SwishPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Swish payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3276,10 +3057,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about TwintPayments, please refer to the API Reference. - */ + /** Allow the merchant to process TWINT payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3334,10 +3112,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about UsBankTransferPayments, please refer to the API Reference. - */ + /** Allow the merchant to process US bank transfer payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3392,10 +3167,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about ZipPayments, please refer to the API Reference. - */ + /** Allow the merchant to process Zip payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3450,10 +3222,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about CardPayments, please refer to the API Reference. - */ + /** Card payments settings. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3466,8 +3235,8 @@ public static class CardPayments extends StripeObject { DeclineOn declineOn; /** - * For more details about DeclineOn, please refer to the API Reference. + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. */ @Getter @Setter @@ -3490,10 +3259,7 @@ public static class DeclineOn extends StripeObject { } } - /** - * For more details about SepaDebitPayments, please refer to the API Reference. - */ + /** Settings used for SEPA debit payments. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3503,10 +3269,7 @@ public static class SepaDebitPayments extends StripeObject { String creditorId; } - /** - * For more details about StatementDescriptor, please refer to the API Reference. - */ + /** Statement descriptor. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3535,10 +3298,7 @@ public static class StatementDescriptor extends StripeObject { String prefix; } - /** - * For more details about Support, please refer to the API Reference. - */ + /** Publicly available contact information for sending support issues to. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3559,10 +3319,7 @@ public static class Support extends StripeObject { @SerializedName("url") String url; - /** - * For more details about Address, please refer to the API Reference. - */ + /** A publicly available mailing address for sending support issues to. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3574,43 +3331,6 @@ public static class Address extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, - * {@code am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, - * {@code aw}, {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, - * {@code bf}, {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, - * {@code bn}, {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, - * {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, - * {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, - * {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, - * {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, - * {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, - * {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, - * {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, - * {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, - * {@code km}, {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, - * {@code la}, {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, - * {@code lt}, {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, - * {@code me}, {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, - * {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, - * {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, - * {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, - * {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, - * {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, - * {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, - * {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, - * {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, - * {@code ua}, {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, - * {@code vc}, {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, - * {@code ws}, {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -3638,10 +3358,7 @@ public static class Address extends StripeObject { } } - /** - * For more details about Recipient, please refer to the API Reference. - */ + /** The Recipient Configuration allows the Account to receive funds. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3664,10 +3381,7 @@ public static class Recipient extends StripeObject { @SerializedName("default_outbound_destination") DefaultOutboundDestination defaultOutboundDestination; - /** - * For more details about Capabilities, please refer to the API Reference. - */ + /** Capabilities that have been requested on the Recipient Configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3684,10 +3398,7 @@ public static class Capabilities extends StripeObject { @SerializedName("stripe_balance") StripeBalance stripeBalance; - /** - * For more details about BankAccounts, please refer to the API Reference. - */ + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3704,8 +3415,8 @@ public static class BankAccounts extends StripeObject { Wire wire; /** - * For more details about Local, please refer to the API Reference. + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. */ @Getter @Setter @@ -3762,10 +3473,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about Wire, please refer to the API Reference. - */ + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3822,10 +3530,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about Cards, please refer to the API Reference. - */ + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3879,10 +3584,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about StripeBalance, please refer to the API Reference. - */ + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3897,10 +3599,7 @@ public static class StripeBalance extends StripeObject { @SerializedName("stripe_transfers") StripeTransfers stripeTransfers; - /** - * For more details about Payouts, please refer to the API Reference. - */ + /** Allows the account to do payouts using their Stripe Balance (/v1/balance). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -3957,8 +3656,7 @@ public static class StatusDetail extends StripeObject { } /** - * For more details about StripeTransfers, please refer to the API Reference. + * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). */ @Getter @Setter @@ -4020,8 +3718,8 @@ public static class StatusDetail extends StripeObject { } /** - * For more details about DefaultOutboundDestination, please refer to the API Reference. + * The payout method to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through the dashboard. */ @Getter @Setter @@ -4062,8 +3760,8 @@ public static class DefaultOutboundDestination extends StripeObject implements H } /** - * For more details about Storer, please refer to the API - * Reference. + * The Storer Configuration allows the Account to store and move funds using stored-value + * FinancialAccounts. */ @Getter @Setter @@ -4080,10 +3778,7 @@ public static class Storer extends StripeObject { @SerializedName("capabilities") Capabilities capabilities; - /** - * For more details about Capabilities, please refer to the API Reference. - */ + /** Capabilities that have been requested on the Storer Configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4108,10 +3803,7 @@ public static class Capabilities extends StripeObject { @SerializedName("outbound_transfers") OutboundTransfers outboundTransfers; - /** - * For more details about FinancialAddresses, please refer to the API Reference. - */ + /** Can provision a financial address to credit/debit a FinancialAccount. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4124,8 +3816,8 @@ public static class FinancialAddresses extends StripeObject { BankAccounts bankAccounts; /** - * For more details about BankAccounts, please refer to the API Reference. + * Can provision a bank-account like financial address (VBAN) to credit/debit a + * FinancialAccount. */ @Getter @Setter @@ -4185,10 +3877,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about HoldsCurrencies, please refer to the API Reference. - */ + /** Can hold storage-type funds on Stripe. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4197,10 +3886,7 @@ public static class HoldsCurrencies extends StripeObject { @SerializedName("gbp") Gbp gbp; - /** - * For more details about Gbp, please refer to the API Reference. - */ + /** Can hold storage-type funds on Stripe in GBP. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4257,10 +3943,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about InboundTransfers, please refer to the API Reference. - */ + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4272,8 +3955,7 @@ public static class InboundTransfers extends StripeObject { BankAccounts bankAccounts; /** - * For more details about BankAccounts, please refer to the API Reference. + * Can pull funds from an external bank account, owned by yourself, to a FinancialAccount. */ @Getter @Setter @@ -4333,10 +4015,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about OutboundPayments, please refer to the API Reference. - */ + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4356,10 +4035,7 @@ public static class OutboundPayments extends StripeObject { @SerializedName("financial_accounts") FinancialAccounts financialAccounts; - /** - * For more details about BankAccounts, please refer to the API Reference. - */ + /** Can send funds from a FinancialAccount to a bank account, owned by someone else. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4417,10 +4093,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about Cards, please refer to the API Reference. - */ + /** Can send funds from a FinancialAccount to a debit card, owned by someone else. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4477,8 +4150,8 @@ public static class StatusDetail extends StripeObject { } /** - * For more details about FinancialAccounts, please refer to the API Reference. + * Can send funds from a FinancialAccount to another FinancialAccount, owned by someone + * else. */ @Getter @Setter @@ -4538,10 +4211,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about OutboundTransfers, please refer to the API Reference. - */ + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4556,10 +4226,7 @@ public static class OutboundTransfers extends StripeObject { @SerializedName("financial_accounts") FinancialAccounts financialAccounts; - /** - * For more details about BankAccounts, please refer to the API Reference. - */ + /** Can send funds from a FinancialAccount, to a bank account, owned by yourself. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4618,8 +4285,7 @@ public static class StatusDetail extends StripeObject { } /** - * For more details about FinancialAccounts, please refer to the API Reference. + * Can send funds from a FinancialAccount to another FinancialAccount, owned by yourself. */ @Getter @Setter @@ -4682,10 +4348,7 @@ public static class StatusDetail extends StripeObject { } } - /** - * For more details about Defaults, please refer to the API - * Reference. - */ + /** Default values to be used on Account Configurations. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4694,33 +4357,6 @@ public static class Defaults extends StripeObject { * Three-letter ISO currency * code, in lowercase. Must be a supported * currency. - * - *

One of {@code aed}, {@code afn}, {@code all}, {@code amd}, {@code ang}, {@code aoa}, - * {@code ars}, {@code aud}, {@code awg}, {@code azn}, {@code bam}, {@code bbd}, {@code bdt}, - * {@code bgn}, {@code bhd}, {@code bif}, {@code bmd}, {@code bnd}, {@code bob}, {@code bov}, - * {@code brl}, {@code bsd}, {@code btn}, {@code bwp}, {@code byn}, {@code byr}, {@code bzd}, - * {@code cad}, {@code cdf}, {@code che}, {@code chf}, {@code chw}, {@code clf}, {@code clp}, - * {@code cny}, {@code cop}, {@code cou}, {@code crc}, {@code cuc}, {@code cup}, {@code cve}, - * {@code czk}, {@code djf}, {@code dkk}, {@code dop}, {@code dzd}, {@code eek}, {@code egp}, - * {@code ern}, {@code etb}, {@code eur}, {@code fjd}, {@code fkp}, {@code gbp}, {@code gel}, - * {@code ghc}, {@code ghs}, {@code gip}, {@code gmd}, {@code gnf}, {@code gtq}, {@code gyd}, - * {@code hkd}, {@code hnl}, {@code hrk}, {@code htg}, {@code huf}, {@code idr}, {@code ils}, - * {@code inr}, {@code iqd}, {@code irr}, {@code isk}, {@code jmd}, {@code jod}, {@code jpy}, - * {@code kes}, {@code kgs}, {@code khr}, {@code kmf}, {@code kpw}, {@code krw}, {@code kwd}, - * {@code kyd}, {@code kzt}, {@code lak}, {@code lbp}, {@code lkr}, {@code lrd}, {@code lsl}, - * {@code ltl}, {@code lvl}, {@code lyd}, {@code mad}, {@code mdl}, {@code mga}, {@code mkd}, - * {@code mmk}, {@code mnt}, {@code mop}, {@code mro}, {@code mru}, {@code mur}, {@code mvr}, - * {@code mwk}, {@code mxn}, {@code mxv}, {@code myr}, {@code mzn}, {@code nad}, {@code ngn}, - * {@code nio}, {@code nok}, {@code npr}, {@code nzd}, {@code omr}, {@code pab}, {@code pen}, - * {@code pgk}, {@code php}, {@code pkr}, {@code pln}, {@code pyg}, {@code qar}, {@code ron}, - * {@code rsd}, {@code rub}, {@code rwf}, {@code sar}, {@code sbd}, {@code scr}, {@code sdg}, - * {@code sek}, {@code sgd}, {@code shp}, {@code sle}, {@code sll}, {@code sos}, {@code srd}, - * {@code ssp}, {@code std}, {@code stn}, {@code svc}, {@code syp}, {@code szl}, {@code thb}, - * {@code tjs}, {@code tmt}, {@code tnd}, {@code top}, {@code try}, {@code ttd}, {@code twd}, - * {@code tzs}, {@code uah}, {@code ugx}, {@code usd}, {@code usdb}, {@code usdc}, {@code usn}, - * {@code uyi}, {@code uyu}, {@code uzs}, {@code vef}, {@code ves}, {@code vnd}, {@code vuv}, - * {@code wst}, {@code xaf}, {@code xcd}, {@code xcg}, {@code xof}, {@code xpf}, {@code yer}, - * {@code zar}, {@code zmk}, {@code zmw}, {@code zwd}, {@code zwg}, or {@code zwl}. */ @SerializedName("currency") String currency; @@ -4733,10 +4369,7 @@ public static class Defaults extends StripeObject { @SerializedName("responsibilities") Responsibilities responsibilities; - /** - * For more details about Responsibilities, please refer to the API Reference. - */ + /** Default responsibilities held by either Stripe or the platform. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4761,10 +4394,7 @@ public static class Responsibilities extends StripeObject { } } - /** - * For more details about Identity, please refer to the API - * Reference. - */ + /** Information about the company, individual, and business represented by the Account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4781,41 +4411,6 @@ public static class Identity extends StripeObject { * 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. - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code am}, - * {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, {@code - * ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, {@code bg}, - * {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, {@code bo}, {@code - * bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, {@code by}, {@code bz}, - * {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, {@code ch}, {@code ci}, {@code - * ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, {@code cr}, {@code cu}, {@code cv}, - * {@code cw}, {@code cx}, {@code cy}, {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code - * dm}, {@code do}, {@code dz}, {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, - * {@code es}, {@code et}, {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code - * fr}, {@code ga}, {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, - * {@code gi}, {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code - * gs}, {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, {@code - * in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code jm}, - * {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, {@code - * kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, {@code lb}, - * {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, {@code lu}, {@code - * lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, {@code mf}, {@code mg}, - * {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, {@code mo}, {@code mp}, {@code - * mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, {@code mv}, {@code mw}, {@code mx}, - * {@code my}, {@code mz}, {@code na}, {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code - * ni}, {@code nl}, {@code no}, {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, - * {@code pa}, {@code pe}, {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code - * pm}, {@code pn}, {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, - * {@code qz}, {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code - * sb}, {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, {@code - * st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code tf}, - * {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, {@code - * to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, {@code ug}, - * {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, {@code ve}, {@code - * vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, {@code xx}, {@code ye}, - * {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -4836,10 +4431,7 @@ public static class Identity extends StripeObject { @SerializedName("individual") Individual individual; - /** - * For more details about Attestations, please refer to the API Reference. - */ + /** Attestations from the identity's key people, e.g. owners, executives, directors. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4867,8 +4459,8 @@ public static class Attestations extends StripeObject { TermsOfService termsOfService; /** - * For more details about DirectorshipDeclaration, please refer to the API Reference. + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. */ @Getter @Setter @@ -4891,8 +4483,8 @@ public static class DirectorshipDeclaration extends StripeObject { } /** - * For more details about OwnershipDeclaration, please refer to the API Reference. + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. */ @Getter @Setter @@ -4915,10 +4507,7 @@ public static class OwnershipDeclaration extends StripeObject { String userAgent; } - /** - * For more details about PersonsProvided, please refer to the API Reference. - */ + /** Attestation that all Persons with a specific Relationship value have been provided. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4957,10 +4546,7 @@ public static class PersonsProvided extends StripeObject { String ownershipExemptionReason; } - /** - * For more details about TermsOfService, please refer to the API Reference. - */ + /** Attestations of accepted terms of service agreements. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -4978,8 +4564,9 @@ public static class TermsOfService extends StripeObject { Storer storer; /** - * For more details about InnerAccount, please refer to the API Reference. + * Details on the Account's acceptance of the Stripe Services + * Agreement. */ @Getter @Setter @@ -5007,10 +4594,7 @@ public static class InnerAccount extends StripeObject { String userAgent; } - /** - * For more details about Storer, please refer to the API Reference. - */ + /** Details on the Account's acceptance of Treasury-specific terms of service. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5039,10 +4623,7 @@ public static class Storer extends StripeObject { } } - /** - * For more details about BusinessDetails, please refer to the API Reference. - */ + /** Information about the company or business. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5068,7 +4649,7 @@ public static class BusinessDetails extends StripeObject { * business. */ @SerializedName("estimated_worker_count") - Integer estimatedWorkerCount; + Long estimatedWorkerCount; /** The provided ID numbers of a business entity. */ @SerializedName("id_numbers") @@ -5122,10 +4703,7 @@ public static class BusinessDetails extends StripeObject { @SerializedName("url") String url; - /** - * For more details about Address, please refer to the API Reference. - */ + /** The company’s primary address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5137,43 +4715,6 @@ public static class Address extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code - * am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, - * {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, - * {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, - * {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, - * {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, - * {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, - * {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, {@code cz}, - * {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, {@code ec}, - * {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, {@code fi}, - * {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, {@code gb}, - * {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, {@code gl}, - * {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, {@code gt}, - * {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, {@code hr}, - * {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, {@code in}, - * {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code jm}, - * {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, - * {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, - * {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, - * {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, - * {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, - * {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, - * {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, {@code nc}, - * {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, {@code np}, - * {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, {@code pf}, - * {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, {@code pr}, - * {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, {@code re}, - * {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, {@code sc}, - * {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, {@code sk}, - * {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, {@code st}, - * {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code tf}, - * {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, - * {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, - * {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, - * {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, - * {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -5199,10 +4740,7 @@ public static class Address extends StripeObject { String town; } - /** - * For more details about AnnualRevenue, please refer to the API Reference. - */ + /** The business gross annual revenue for its preceding fiscal year. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5219,10 +4757,7 @@ public static class AnnualRevenue extends StripeObject { String fiscalYearEnd; } - /** - * For more details about Documents, please refer to the API Reference. - */ + /** Documents that may be submitted to satisfy various informational requests. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5281,8 +4816,9 @@ public static class Documents extends StripeObject { ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; /** - * For more details about BankAccountOwnershipVerification, please refer to the API Reference. + * 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 check. */ @Getter @Setter @@ -5305,10 +4841,7 @@ public static class BankAccountOwnershipVerification extends StripeObject { String type; } - /** - * For more details about CompanyLicense, please refer to the API Reference. - */ + /** One or more documents that demonstrate proof of a company’s license to operate. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5330,10 +4863,7 @@ public static class CompanyLicense extends StripeObject { String type; } - /** - * For more details about CompanyMemorandumOfAssociation, please refer to the API Reference. - */ + /** One or more documents showing the company’s Memorandum of Association. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5356,8 +4886,8 @@ public static class CompanyMemorandumOfAssociation extends StripeObject { } /** - * For more details about CompanyMinisterialDecree, please refer to the API Reference. + * Certain countries only: One or more documents showing the ministerial decree legalizing + * the company’s establishment. */ @Getter @Setter @@ -5381,8 +4911,8 @@ public static class CompanyMinisterialDecree extends StripeObject { } /** - * For more details about CompanyRegistrationVerification, please refer to the API Reference. + * One or more documents that demonstrate proof of a company’s registration with the + * appropriate local authorities. */ @Getter @Setter @@ -5405,10 +4935,7 @@ public static class CompanyRegistrationVerification extends StripeObject { String type; } - /** - * For more details about CompanyTaxIdVerification, please refer to the API Reference. - */ + /** One or more documents that demonstrate proof of a company’s tax ID. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5430,10 +4957,7 @@ public static class CompanyTaxIdVerification extends StripeObject { String type; } - /** - * For more details about PrimaryVerification, please refer to the API Reference. - */ + /** A document verifying the business. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5454,8 +4978,8 @@ public static class PrimaryVerification extends StripeObject { String type; /** - * For more details about FrontBack, please refer to the API Reference. + * The file upload + * tokens for the front and back of the verification document. */ @Getter @Setter @@ -5483,10 +5007,7 @@ public static class FrontBack extends StripeObject { } } - /** - * For more details about ProofOfAddress, please refer to the API Reference. - */ + /** One or more documents that demonstrate proof of address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5509,8 +5030,8 @@ public static class ProofOfAddress extends StripeObject { } /** - * For more details about ProofOfRegistration, please refer to the API Reference. + * One or more documents showing the company’s proof of registration with the national + * business registry. */ @Getter @Setter @@ -5533,10 +5054,7 @@ public static class ProofOfRegistration extends StripeObject { String type; } - /** - * For more details about ProofOfUltimateBeneficialOwnership, please refer to the API Reference. - */ + /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5593,10 +5111,7 @@ public static class IdNumber extends StripeObject { String type; } - /** - * For more details about MonthlyEstimatedRevenue, please refer to the API Reference. - */ + /** An estimate of the monthly revenue of the business. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5606,10 +5121,7 @@ public static class MonthlyEstimatedRevenue extends StripeObject { Amount amount; } - /** - * For more details about ScriptAddresses, please refer to the API Reference. - */ + /** The business registration address of the business entity in non latin script. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5622,10 +5134,7 @@ public static class ScriptAddresses extends StripeObject { @SerializedName("kanji") Kanji kanji; - /** - * For more details about Kana, please refer to the API Reference. - */ + /** Kana Address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5637,43 +5146,6 @@ public static class Kana extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, - * {@code am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, - * {@code aw}, {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, - * {@code bf}, {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, - * {@code bn}, {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, - * {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, - * {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, - * {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, - * {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, - * {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, - * {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, - * {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, - * {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, - * {@code km}, {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, - * {@code la}, {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, - * {@code lt}, {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, - * {@code me}, {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, - * {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, - * {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, - * {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, - * {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, - * {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, - * {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, - * {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, - * {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, - * {@code ua}, {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, - * {@code vc}, {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, - * {@code ws}, {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -5699,10 +5171,7 @@ public static class Kana extends StripeObject { String town; } - /** - * For more details about Kanji, please refer to the API Reference. - */ + /** Kanji Address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5714,43 +5183,6 @@ public static class Kanji extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, - * {@code am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, - * {@code aw}, {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, - * {@code bf}, {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, - * {@code bn}, {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, - * {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, - * {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, - * {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, - * {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, - * {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, - * {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, - * {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, - * {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, - * {@code km}, {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, - * {@code la}, {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, - * {@code lt}, {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, - * {@code me}, {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, - * {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, - * {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, - * {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, - * {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, - * {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, - * {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, - * {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, - * {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, - * {@code ua}, {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, - * {@code vc}, {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, - * {@code ws}, {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -5777,10 +5209,7 @@ public static class Kanji extends StripeObject { } } - /** - * For more details about ScriptNames, please refer to the API Reference. - */ + /** The business legal name in non latin script. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5793,10 +5222,7 @@ public static class ScriptNames extends StripeObject { @SerializedName("kanji") Kanji kanji; - /** - * For more details about Kana, please refer to the API Reference. - */ + /** Kana name. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5806,10 +5232,7 @@ public static class Kana extends StripeObject { String registeredName; } - /** - * For more details about Kanji, please refer to the API Reference. - */ + /** Kanji name. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -5822,8 +5245,8 @@ public static class Kanji extends StripeObject { } /** - * For more details about Individual, please refer to the API Reference. + * Information about the individual represented by the Account. This property is {@code null} + * unless {@code entity_type} is set to {@code individual}. */ @Getter @Setter @@ -5957,43 +5380,6 @@ public static class AdditionalAddress extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code - * am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, - * {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, - * {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, - * {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, - * {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, - * {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, - * {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, {@code cz}, - * {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, {@code ec}, - * {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, {@code fi}, - * {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, {@code gb}, - * {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, {@code gl}, - * {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, {@code gt}, - * {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, {@code hr}, - * {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, {@code in}, - * {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code jm}, - * {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, - * {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, - * {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, - * {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, - * {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, - * {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, - * {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, {@code nc}, - * {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, {@code np}, - * {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, {@code pf}, - * {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, {@code pr}, - * {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, {@code re}, - * {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, {@code sc}, - * {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, {@code sk}, - * {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, {@code st}, - * {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code tf}, - * {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, - * {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, - * {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, - * {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, - * {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -6056,10 +5442,7 @@ public static class AdditionalName extends StripeObject { String surname; } - /** - * For more details about AdditionalTermsOfService, please refer to the API Reference. - */ + /** Terms of service acceptances. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6068,10 +5451,7 @@ public static class AdditionalTermsOfService extends StripeObject { @SerializedName("account") InnerAccount account; - /** - * For more details about InnerAccount, please refer to the API Reference. - */ + /** Stripe terms of service agreement. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6099,10 +5479,7 @@ public static class InnerAccount extends StripeObject { } } - /** - * For more details about Address, please refer to the API Reference. - */ + /** The individual's residential address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6114,43 +5491,6 @@ public static class Address extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code - * am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, - * {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, - * {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, - * {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, - * {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, - * {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, - * {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, {@code cz}, - * {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, {@code ec}, - * {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, {@code fi}, - * {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, {@code gb}, - * {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, {@code gl}, - * {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, {@code gt}, - * {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, {@code hr}, - * {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, {@code in}, - * {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code jm}, - * {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, - * {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, - * {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, - * {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, - * {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, - * {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, - * {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, {@code nc}, - * {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, {@code np}, - * {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, {@code pf}, - * {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, {@code pr}, - * {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, {@code re}, - * {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, {@code sc}, - * {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, {@code sk}, - * {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, {@code st}, - * {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code tf}, - * {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, - * {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, - * {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, - * {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, - * {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -6176,31 +5516,25 @@ public static class Address extends StripeObject { String town; } - /** - * For more details about DateOfBirth, please refer to the API Reference. - */ + /** The individual's date of birth. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class DateOfBirth extends StripeObject { /** The day of birth, between 1 and 31. */ @SerializedName("day") - Integer day; + Long day; /** The month of birth, between 1 and 12. */ @SerializedName("month") - Integer month; + Long month; /** The four-digit year of birth. */ @SerializedName("year") - Integer year; + Long year; } - /** - * For more details about Documents, please refer to the API Reference. - */ + /** Documents that may be submitted to satisfy various informational requests. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6239,8 +5573,8 @@ public static class Documents extends StripeObject { Visa visa; /** - * For more details about CompanyAuthorization, please refer to the API Reference. + * One or more documents that demonstrate proof that this person is authorized to represent + * the company. */ @Getter @Setter @@ -6264,8 +5598,7 @@ public static class CompanyAuthorization extends StripeObject { } /** - * For more details about Passport, please refer to the API Reference. + * One or more documents showing the person’s passport page with photo and personal data. */ @Getter @Setter @@ -6289,8 +5622,7 @@ public static class Passport extends StripeObject { } /** - * For more details about PrimaryVerification, please refer to the API Reference. + * An identifying document showing the person's name, either a passport or local ID card. */ @Getter @Setter @@ -6312,8 +5644,8 @@ public static class PrimaryVerification extends StripeObject { String type; /** - * For more details about FrontBack, please refer to the API Reference. + * The file upload + * tokens for the front and back of the verification document. */ @Getter @Setter @@ -6342,8 +5674,8 @@ public static class FrontBack extends StripeObject { } /** - * For more details about SecondaryVerification, please refer to the API Reference. + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. */ @Getter @Setter @@ -6365,8 +5697,8 @@ public static class SecondaryVerification extends StripeObject { String type; /** - * For more details about FrontBack, please refer to the API Reference. + * The file upload + * tokens for the front and back of the verification document. */ @Getter @Setter @@ -6395,8 +5727,8 @@ public static class FrontBack extends StripeObject { } /** - * For more details about Visa, please refer to the API Reference. + * One or more documents showing the person’s visa required for living in the country where + * they are residing. */ @Getter @Setter @@ -6443,10 +5775,7 @@ public static class IdNumber extends StripeObject { String type; } - /** - * For more details about Relationship, please refer to the API Reference. - */ + /** The relationship that this individual has with the Account's identity. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6480,7 +5809,7 @@ public static class Relationship extends StripeObject { /** The percent owned by the individual of the Account’s legal entity. */ @SerializedName("percent_ownership") - String percentOwnership; + BigDecimal percentOwnership; /** * Whether the individual is authorized as the primary representative of the Account. This @@ -6497,10 +5826,7 @@ public static class Relationship extends StripeObject { String title; } - /** - * For more details about ScriptAddresses, please refer to the API Reference. - */ + /** The script addresses (e.g., non-Latin characters) associated with the individual. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6513,10 +5839,7 @@ public static class ScriptAddresses extends StripeObject { @SerializedName("kanji") Kanji kanji; - /** - * For more details about Kana, please refer to the API Reference. - */ + /** Kana Address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6528,43 +5851,6 @@ public static class Kana extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, - * {@code am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, - * {@code aw}, {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, - * {@code bf}, {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, - * {@code bn}, {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, - * {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, - * {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, - * {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, - * {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, - * {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, - * {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, - * {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, - * {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, - * {@code km}, {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, - * {@code la}, {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, - * {@code lt}, {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, - * {@code me}, {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, - * {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, - * {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, - * {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, - * {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, - * {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, - * {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, - * {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, - * {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, - * {@code ua}, {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, - * {@code vc}, {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, - * {@code ws}, {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -6590,10 +5876,7 @@ public static class Kana extends StripeObject { String town; } - /** - * For more details about Kanji, please refer to the API Reference. - */ + /** Kanji Address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6605,43 +5888,6 @@ public static class Kanji extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, - * {@code am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, - * {@code aw}, {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, - * {@code bf}, {@code bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, - * {@code bn}, {@code bo}, {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, - * {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, - * {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, {@code cn}, - * {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, - * {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, - * {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, - * {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, {@code gi}, - * {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code gs}, - * {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, - * {@code km}, {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, - * {@code la}, {@code lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, - * {@code lt}, {@code lu}, {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, - * {@code me}, {@code mf}, {@code mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, - * {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, {@code ms}, {@code mt}, - * {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, {@code na}, - * {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, - * {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, - * {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, - * {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code sb}, - * {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, - * {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, - * {@code ua}, {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, - * {@code vc}, {@code ve}, {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, - * {@code ws}, {@code xx}, {@code ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -6668,10 +5914,7 @@ public static class Kanji extends StripeObject { } } - /** - * For more details about ScriptNames, please refer to the API Reference. - */ + /** The script names (e.g. non-Latin characters) associated with the individual. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6684,10 +5927,7 @@ public static class ScriptNames extends StripeObject { @SerializedName("kanji") Kanji kanji; - /** - * For more details about Kana, please refer to the API Reference. - */ + /** Persons name in kana script. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6701,10 +5941,7 @@ public static class Kana extends StripeObject { String surname; } - /** - * For more details about Kanji, please refer to the API Reference. - */ + /** Persons name in kanji script. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6722,8 +5959,8 @@ public static class Kanji extends StripeObject { } /** - * For more details about Requirements, please refer to the API Reference. + * Information about the requirements for the Account, including what information needs to be + * collected, and by when. */ @Getter @Setter @@ -6872,8 +6109,8 @@ public static class Errors extends StripeObject { } /** - * For more details about Impact, please refer to the API Reference. + * A hash describing the impact of not collecting the requirement, or Stripe not being able to + * verify the collected information. */ @Getter @Setter @@ -6940,8 +6177,8 @@ public static class RestrictsCapability extends StripeObject { Deadline deadline; /** - * For more details about Deadline, please refer to the API Reference. + * Details about when in the account lifecycle the requirement must be collected by the + * avoid the Capability restriction. */ @Getter @Setter @@ -6958,10 +6195,7 @@ public static class Deadline extends StripeObject { } } - /** - * For more details about MinimumDeadline, please refer to the API Reference. - */ + /** The soonest point when the account will be impacted by not providing the requirement. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -6975,10 +6209,7 @@ public static class MinimumDeadline extends StripeObject { String status; } - /** - * For more details about Reference, please refer to the API Reference. - */ + /** A reference to the location of the requirement. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -7020,10 +6251,7 @@ public static class RequestedReason extends StripeObject { } } - /** - * For more details about Summary, please refer to the API - * Reference. - */ + /** An object containing an overview of requirements for the Account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -7037,8 +6265,9 @@ public static class Summary extends StripeObject { MinimumDeadline minimumDeadline; /** - * For more details about MinimumDeadline, please refer to the API Reference. + * The soonest date and time a requirement on the Account will become {@code past due}. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: + * {@code 2022-09-18T13:22:18.123Z}. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/core/AccountLink.java b/src/main/java/com/stripe/model/v2/core/AccountLink.java index 823215608ea..7931531ede8 100644 --- a/src/main/java/com/stripe/model/v2/core/AccountLink.java +++ b/src/main/java/com/stripe/model/v2/core/AccountLink.java @@ -9,6 +9,11 @@ import lombok.Getter; import lombok.Setter; +/** + * AccountLinks are the means by which a Merchant grants an Account permission to access + * Stripe-hosted applications, such as Recipient Onboarding. This API is only available for users + * enrolled in the public preview for Accounts v2. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -49,10 +54,7 @@ public class AccountLink extends StripeObject { @SerializedName("use_case") UseCase useCase; - /** - * For more details about UseCase, please refer to the API - * Reference. - */ + /** The use case of AccountLink the user is requesting. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -73,10 +75,7 @@ public static class UseCase extends StripeObject { @SerializedName("type") String type; - /** - * For more details about AccountOnboarding, please refer to the API Reference. - */ + /** Indicates that the AccountLink provided should onboard an account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -113,8 +112,8 @@ public static class AccountOnboarding extends StripeObject { String returnUrl; /** - * For more details about CollectionOptions, please refer to the API Reference. + * Specifies the requirements that Stripe collects from v2/core/accounts in the Onboarding + * flow. */ @Getter @Setter @@ -142,10 +141,7 @@ public static class CollectionOptions extends StripeObject { } } - /** - * For more details about AccountUpdate, please refer to the API Reference. - */ + /** Indicates that the AccountLink provided should update a previously onboarded account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -182,8 +178,8 @@ public static class AccountUpdate extends StripeObject { String returnUrl; /** - * For more details about CollectionOptions, please refer to the API Reference. + * Specifies the requirements that Stripe collects from v2/core/accounts in the Onboarding + * flow. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/core/Person.java b/src/main/java/com/stripe/model/v2/core/AccountPerson.java similarity index 55% rename from src/main/java/com/stripe/model/v2/core/Person.java rename to src/main/java/com/stripe/model/v2/core/AccountPerson.java index f1e0ef3ed81..b12b4e33a60 100644 --- a/src/main/java/com/stripe/model/v2/core/Person.java +++ b/src/main/java/com/stripe/model/v2/core/AccountPerson.java @@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.model.HasId; import com.stripe.model.StripeObject; +import java.math.BigDecimal; import java.time.Instant; import java.util.List; import java.util.Map; @@ -11,21 +12,22 @@ import lombok.Getter; import lombok.Setter; +/** Person retrieval response schema. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) -public class Person extends StripeObject implements HasId { +public class AccountPerson extends StripeObject implements HasId { /** The account ID which the individual belongs to. */ @SerializedName("account") String account; /** Additional addresses associated with the person. */ @SerializedName("additional_addresses") - List additionalAddresses; + List additionalAddresses; /** Additional names (e.g. aliases) associated with the person. */ @SerializedName("additional_names") - List additionalNames; + List additionalNames; /** Attestations of accepted terms of service agreements. */ @SerializedName("additional_terms_of_service") @@ -65,7 +67,7 @@ public class Person extends StripeObject implements HasId { /** The identification numbers (e.g., SSN) associated with the person. */ @SerializedName("id_numbers") - List idNumbers; + List idNumbers; /** * The person's gender (International regulations require either "male" or @@ -156,41 +158,6 @@ public static class AdditionalAddress extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code am}, - * {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, {@code - * ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, {@code bg}, - * {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, {@code bo}, {@code - * bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, {@code by}, {@code bz}, - * {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, {@code ch}, {@code ci}, {@code - * ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, {@code cr}, {@code cu}, {@code cv}, - * {@code cw}, {@code cx}, {@code cy}, {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code - * dm}, {@code do}, {@code dz}, {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, - * {@code es}, {@code et}, {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code - * fr}, {@code ga}, {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, - * {@code gi}, {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code - * gs}, {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, {@code - * in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code jm}, - * {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, {@code - * kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, {@code lb}, - * {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, {@code lu}, {@code - * lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, {@code mf}, {@code mg}, - * {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, {@code mo}, {@code mp}, {@code - * mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, {@code mv}, {@code mw}, {@code mx}, - * {@code my}, {@code mz}, {@code na}, {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code - * ni}, {@code nl}, {@code no}, {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, - * {@code pa}, {@code pe}, {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code - * pm}, {@code pn}, {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, - * {@code qz}, {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code - * sb}, {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, {@code - * st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code tf}, - * {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, {@code - * to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, {@code ug}, - * {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, {@code ve}, {@code - * vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, {@code xx}, {@code ye}, - * {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -253,10 +220,7 @@ public static class AdditionalName extends StripeObject { String surname; } - /** - * For more details about AdditionalTermsOfService, please refer to the API Reference. - */ + /** Attestations of accepted terms of service agreements. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -265,10 +229,7 @@ public static class AdditionalTermsOfService extends StripeObject { @SerializedName("account") Account account; - /** - * For more details about Account, please refer to the API - * Reference. - */ + /** Stripe terms of service agreement. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -294,10 +255,7 @@ public static class Account extends StripeObject { } } - /** - * For more details about Address, please refer to the API - * Reference. - */ + /** The person's residential address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -309,41 +267,6 @@ public static class Address extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code am}, - * {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, {@code - * ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, {@code bg}, - * {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, {@code bo}, {@code - * bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, {@code by}, {@code bz}, - * {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, {@code ch}, {@code ci}, {@code - * ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, {@code cr}, {@code cu}, {@code cv}, - * {@code cw}, {@code cx}, {@code cy}, {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code - * dm}, {@code do}, {@code dz}, {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code er}, - * {@code es}, {@code et}, {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, {@code - * fr}, {@code ga}, {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code gh}, - * {@code gi}, {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, {@code - * gs}, {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code hn}, - * {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, {@code - * in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code jm}, - * {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, {@code - * kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, {@code lb}, - * {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, {@code lu}, {@code - * lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, {@code mf}, {@code mg}, - * {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, {@code mo}, {@code mp}, {@code - * mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, {@code mv}, {@code mw}, {@code mx}, - * {@code my}, {@code mz}, {@code na}, {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code - * ni}, {@code nl}, {@code no}, {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, - * {@code pa}, {@code pe}, {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code - * pm}, {@code pn}, {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code qa}, - * {@code qz}, {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, {@code - * sb}, {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code sj}, - * {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, {@code - * st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code tf}, - * {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, {@code - * to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, {@code ug}, - * {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, {@code ve}, {@code - * vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, {@code xx}, {@code ye}, - * {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -369,31 +292,25 @@ public static class Address extends StripeObject { String town; } - /** - * For more details about DateOfBirth, please refer to the API Reference. - */ + /** The person's date of birth. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class DateOfBirth extends StripeObject { /** The day of birth, between 1 and 31. */ @SerializedName("day") - Integer day; + Long day; /** The month of birth, between 1 and 12. */ @SerializedName("month") - Integer month; + Long month; /** The four-digit year of birth. */ @SerializedName("year") - Integer year; + Long year; } - /** - * For more details about Documents, please refer to the API - * Reference. - */ + /** Documents that may be submitted to satisfy various informational requests. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -428,8 +345,8 @@ public static class Documents extends StripeObject { Visa visa; /** - * For more details about CompanyAuthorization, please refer to the API Reference. + * One or more documents that demonstrate proof that this person is authorized to represent the + * company. */ @Getter @Setter @@ -452,10 +369,7 @@ public static class CompanyAuthorization extends StripeObject { String type; } - /** - * For more details about Passport, please refer to the API Reference. - */ + /** One or more documents showing the person’s passport page with photo and personal data. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -477,10 +391,7 @@ public static class Passport extends StripeObject { String type; } - /** - * For more details about PrimaryVerification, please refer to the API Reference. - */ + /** An identifying document showing the person's name, either a passport or local ID card. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -501,8 +412,8 @@ public static class PrimaryVerification extends StripeObject { String type; /** - * For more details about FrontBack, please refer to the API Reference. + * The file upload tokens + * for the front and back of the verification document. */ @Getter @Setter @@ -529,8 +440,8 @@ public static class FrontBack extends StripeObject { } /** - * For more details about SecondaryVerification, please refer to the API Reference. + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. */ @Getter @Setter @@ -552,8 +463,8 @@ public static class SecondaryVerification extends StripeObject { String type; /** - * For more details about FrontBack, please refer to the API Reference. + * The file upload tokens + * for the front and back of the verification document. */ @Getter @Setter @@ -580,8 +491,8 @@ public static class FrontBack extends StripeObject { } /** - * For more details about Visa, please refer to the API - * Reference. + * One or more documents showing the person’s visa required for living in the country where they + * are residing. */ @Getter @Setter @@ -627,10 +538,7 @@ public static class IdNumber extends StripeObject { String type; } - /** - * For more details about Relationship, please refer to the API Reference. - */ + /** The relationship that this person has with the Account's business or legal entity. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -664,7 +572,7 @@ public static class Relationship extends StripeObject { /** The percent owned by the individual of the Account’s legal entity. */ @SerializedName("percent_ownership") - String percentOwnership; + BigDecimal percentOwnership; /** * Whether the individual is authorized as the primary representative of the Account. This is @@ -681,10 +589,7 @@ public static class Relationship extends StripeObject { String title; } - /** - * For more details about ScriptAddresses, please refer to the API Reference. - */ + /** The script addresses (e.g., non-Latin characters) associated with the person. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -697,10 +602,7 @@ public static class ScriptAddresses extends StripeObject { @SerializedName("kanji") Kanji kanji; - /** - * For more details about Kana, please refer to the API - * Reference. - */ + /** Kana Address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -712,41 +614,6 @@ public static class Kana extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code - * am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, - * {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, {@code - * bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, {@code bo}, - * {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, {@code by}, {@code - * bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, {@code ch}, {@code ci}, - * {@code ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, {@code cr}, {@code cu}, {@code - * cv}, {@code cw}, {@code cx}, {@code cy}, {@code cz}, {@code de}, {@code dj}, {@code dk}, - * {@code dm}, {@code do}, {@code dz}, {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code - * er}, {@code es}, {@code et}, {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, - * {@code fr}, {@code ga}, {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code - * gh}, {@code gi}, {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, - * {@code gs}, {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code - * hn}, {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code - * jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, - * {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, {@code - * lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, {@code lu}, - * {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, {@code mf}, {@code - * mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, {@code mo}, {@code mp}, - * {@code mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, {@code mv}, {@code mw}, {@code - * mx}, {@code my}, {@code mz}, {@code na}, {@code nc}, {@code ne}, {@code nf}, {@code ng}, - * {@code ni}, {@code nl}, {@code no}, {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code - * om}, {@code pa}, {@code pe}, {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, - * {@code pm}, {@code pn}, {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code - * qa}, {@code qz}, {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, - * {@code sb}, {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code - * sj}, {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code - * tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, - * {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, {@code - * ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, {@code ve}, - * {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, {@code xx}, {@code - * ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -772,10 +639,7 @@ public static class Kana extends StripeObject { String town; } - /** - * For more details about Kanji, please refer to the API - * Reference. - */ + /** Kanji Address. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -787,41 +651,6 @@ public static class Kanji extends StripeObject { /** * Two-letter country code (ISO * 3166-1 alpha-2). - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code - * am}, {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, - * {@code ax}, {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, {@code - * bg}, {@code bh}, {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, {@code bo}, - * {@code bq}, {@code br}, {@code bs}, {@code bt}, {@code bv}, {@code bw}, {@code by}, {@code - * bz}, {@code ca}, {@code cc}, {@code cd}, {@code cf}, {@code cg}, {@code ch}, {@code ci}, - * {@code ck}, {@code cl}, {@code cm}, {@code cn}, {@code co}, {@code cr}, {@code cu}, {@code - * cv}, {@code cw}, {@code cx}, {@code cy}, {@code cz}, {@code de}, {@code dj}, {@code dk}, - * {@code dm}, {@code do}, {@code dz}, {@code ec}, {@code ee}, {@code eg}, {@code eh}, {@code - * er}, {@code es}, {@code et}, {@code fi}, {@code fj}, {@code fk}, {@code fm}, {@code fo}, - * {@code fr}, {@code ga}, {@code gb}, {@code gd}, {@code ge}, {@code gf}, {@code gg}, {@code - * gh}, {@code gi}, {@code gl}, {@code gm}, {@code gn}, {@code gp}, {@code gq}, {@code gr}, - * {@code gs}, {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, {@code hm}, {@code - * hn}, {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, {@code im}, - * {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, {@code - * jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, - * {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, {@code - * lb}, {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, {@code lu}, - * {@code lv}, {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, {@code mf}, {@code - * mg}, {@code mh}, {@code mk}, {@code ml}, {@code mm}, {@code mn}, {@code mo}, {@code mp}, - * {@code mq}, {@code mr}, {@code ms}, {@code mt}, {@code mu}, {@code mv}, {@code mw}, {@code - * mx}, {@code my}, {@code mz}, {@code na}, {@code nc}, {@code ne}, {@code nf}, {@code ng}, - * {@code ni}, {@code nl}, {@code no}, {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code - * om}, {@code pa}, {@code pe}, {@code pf}, {@code pg}, {@code ph}, {@code pk}, {@code pl}, - * {@code pm}, {@code pn}, {@code pr}, {@code ps}, {@code pt}, {@code pw}, {@code py}, {@code - * qa}, {@code qz}, {@code re}, {@code ro}, {@code rs}, {@code ru}, {@code rw}, {@code sa}, - * {@code sb}, {@code sc}, {@code sd}, {@code se}, {@code sg}, {@code sh}, {@code si}, {@code - * sj}, {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, {@code sr}, {@code ss}, - * {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, {@code td}, {@code - * tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, {@code tn}, - * {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, {@code - * ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, {@code ve}, - * {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, {@code xx}, {@code - * ye}, {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -848,10 +677,7 @@ public static class Kanji extends StripeObject { } } - /** - * For more details about ScriptNames, please refer to the API Reference. - */ + /** The script names (e.g. non-Latin characters) associated with the person. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -864,10 +690,7 @@ public static class ScriptNames extends StripeObject { @SerializedName("kanji") Kanji kanji; - /** - * For more details about Kana, please refer to the API - * Reference. - */ + /** Persons name in kana script. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -881,10 +704,7 @@ public static class Kana extends StripeObject { String surname; } - /** - * For more details about Kanji, please refer to the API - * Reference. - */ + /** Persons name in kanji script. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/core/vault/GbBankAccount.java b/src/main/java/com/stripe/model/v2/core/vault/GbBankAccount.java index cd42c22e8c9..766317d0182 100644 --- a/src/main/java/com/stripe/model/v2/core/vault/GbBankAccount.java +++ b/src/main/java/com/stripe/model/v2/core/vault/GbBankAccount.java @@ -9,6 +9,7 @@ import lombok.Getter; import lombok.Setter; +/** Use the GBBankAccounts API to create and manage GB bank account objects. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -76,8 +77,9 @@ public class GbBankAccount extends StripeObject implements HasId { String sortCode; /** - * For more details about ConfirmationOfPayee, please refer to the API Reference. + * Information around the status of Confirmation of Payee matching done on this bank account. + * Confirmation of Payee is a name matching service that must be done before making + * OutboundPayments in the UK. */ @Getter @Setter @@ -99,8 +101,8 @@ public static class ConfirmationOfPayee extends StripeObject { String status; /** - * For more details about Result, please refer to the API - * Reference. + * The result of the Confirmation of Payee check, once the check has been initiated. Closed + * enum. */ @Getter @Setter @@ -135,8 +137,8 @@ public static class Result extends StripeObject { Provided provided; /** - * For more details about Matched, please refer to the API Reference. + * The fields that CoP service matched against. Only has value if MATCH or PARTIAL_MATCH, + * empty otherwise. */ @Getter @Setter @@ -156,10 +158,7 @@ public static class Matched extends StripeObject { String name; } - /** - * For more details about Provided, please refer to the API Reference. - */ + /** The fields that are matched against what the network has on file. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java b/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java index a583e26ac7b..a2ac614c1c3 100644 --- a/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java +++ b/src/main/java/com/stripe/model/v2/core/vault/UsBankAccount.java @@ -9,6 +9,10 @@ import lombok.Getter; import lombok.Setter; +/** + * Use the USBankAccounts API to create and manage US bank accounts objects that you can use to + * receive funds. Note that these are not interchangeable with v1 Tokens. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java b/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java index e980bd50602..6c3003f3991 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/Adjustment.java @@ -10,6 +10,10 @@ import lombok.Getter; import lombok.Setter; +/** + * Adjustments represent Stripe-initiated credits or debits to a user balance. They might be used to + * amend balances due to technical or operational error. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -67,10 +71,7 @@ public class Adjustment extends StripeObject implements HasId { @SerializedName("receipt_url") String receiptUrl; - /** - * For more details about AdjustedFlow, please refer to the API Reference. - */ + /** If applicable, contains information about the original flow linked to this Adjustment. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java index 803eb31723f..a6777cc90a9 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAccount.java @@ -12,6 +12,10 @@ import lombok.Getter; import lombok.Setter; +/** + * A FinancialAccount represents a balance and can be used as the source or destination for the + * money management ({@code /v2/money_management}) APIs. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -27,39 +31,6 @@ public class FinancialAccount extends StripeObject implements HasId { /** * Open Enum. Two-letter country code that represents the country where the LegalEntity associated * with the FinancialAccount is based in. - * - *

One of {@code ad}, {@code ae}, {@code af}, {@code ag}, {@code ai}, {@code al}, {@code am}, - * {@code ao}, {@code aq}, {@code ar}, {@code as}, {@code at}, {@code au}, {@code aw}, {@code ax}, - * {@code az}, {@code ba}, {@code bb}, {@code bd}, {@code be}, {@code bf}, {@code bg}, {@code bh}, - * {@code bi}, {@code bj}, {@code bl}, {@code bm}, {@code bn}, {@code bo}, {@code bq}, {@code br}, - * {@code bs}, {@code bt}, {@code bv}, {@code bw}, {@code by}, {@code bz}, {@code ca}, {@code cc}, - * {@code cd}, {@code cf}, {@code cg}, {@code ch}, {@code ci}, {@code ck}, {@code cl}, {@code cm}, - * {@code cn}, {@code co}, {@code cr}, {@code cu}, {@code cv}, {@code cw}, {@code cx}, {@code cy}, - * {@code cz}, {@code de}, {@code dj}, {@code dk}, {@code dm}, {@code do}, {@code dz}, {@code ec}, - * {@code ee}, {@code eg}, {@code eh}, {@code er}, {@code es}, {@code et}, {@code fi}, {@code fj}, - * {@code fk}, {@code fm}, {@code fo}, {@code fr}, {@code ga}, {@code gb}, {@code gd}, {@code ge}, - * {@code gf}, {@code gg}, {@code gh}, {@code gi}, {@code gl}, {@code gm}, {@code gn}, {@code gp}, - * {@code gq}, {@code gr}, {@code gs}, {@code gt}, {@code gu}, {@code gw}, {@code gy}, {@code hk}, - * {@code hm}, {@code hn}, {@code hr}, {@code ht}, {@code hu}, {@code id}, {@code ie}, {@code il}, - * {@code im}, {@code in}, {@code io}, {@code iq}, {@code ir}, {@code is}, {@code it}, {@code je}, - * {@code jm}, {@code jo}, {@code jp}, {@code ke}, {@code kg}, {@code kh}, {@code ki}, {@code km}, - * {@code kn}, {@code kp}, {@code kr}, {@code kw}, {@code ky}, {@code kz}, {@code la}, {@code lb}, - * {@code lc}, {@code li}, {@code lk}, {@code lr}, {@code ls}, {@code lt}, {@code lu}, {@code lv}, - * {@code ly}, {@code ma}, {@code mc}, {@code md}, {@code me}, {@code mf}, {@code mg}, {@code mh}, - * {@code mk}, {@code ml}, {@code mm}, {@code mn}, {@code mo}, {@code mp}, {@code mq}, {@code mr}, - * {@code ms}, {@code mt}, {@code mu}, {@code mv}, {@code mw}, {@code mx}, {@code my}, {@code mz}, - * {@code na}, {@code nc}, {@code ne}, {@code nf}, {@code ng}, {@code ni}, {@code nl}, {@code no}, - * {@code np}, {@code nr}, {@code nu}, {@code nz}, {@code om}, {@code pa}, {@code pe}, {@code pf}, - * {@code pg}, {@code ph}, {@code pk}, {@code pl}, {@code pm}, {@code pn}, {@code pr}, {@code ps}, - * {@code pt}, {@code pw}, {@code py}, {@code qa}, {@code qz}, {@code re}, {@code ro}, {@code rs}, - * {@code ru}, {@code rw}, {@code sa}, {@code sb}, {@code sc}, {@code sd}, {@code se}, {@code sg}, - * {@code sh}, {@code si}, {@code sj}, {@code sk}, {@code sl}, {@code sm}, {@code sn}, {@code so}, - * {@code sr}, {@code ss}, {@code st}, {@code sv}, {@code sx}, {@code sy}, {@code sz}, {@code tc}, - * {@code td}, {@code tf}, {@code tg}, {@code th}, {@code tj}, {@code tk}, {@code tl}, {@code tm}, - * {@code tn}, {@code to}, {@code tr}, {@code tt}, {@code tv}, {@code tw}, {@code tz}, {@code ua}, - * {@code ug}, {@code um}, {@code us}, {@code uy}, {@code uz}, {@code va}, {@code vc}, {@code ve}, - * {@code vg}, {@code vi}, {@code vn}, {@code vu}, {@code wf}, {@code ws}, {@code xx}, {@code ye}, - * {@code yt}, {@code za}, {@code zm}, or {@code zw}. */ @SerializedName("country") String country; @@ -137,8 +108,9 @@ public class FinancialAccount extends StripeObject implements HasId { String type; /** - * For more details about Balance, please refer to the API - * Reference. + * Multi-currency balance of this FinancialAccount, split by availability state. Each balance is + * represented as a hash where the key is the three-letter ISO currency code, in lowercase, and + * the value is the amount for that currency. */ @Getter @Setter @@ -158,8 +130,8 @@ public static class Balance extends StripeObject { } /** - * For more details about Other, please refer to the API - * Reference. + * If this is a {@code other} FinancialAccount, this hash indicates what the actual type is. + * Upgrade your API version to see it reflected in {@code type}. */ @Getter @Setter @@ -218,8 +190,8 @@ public static class ForwardingSettings extends StripeObject { } /** - * For more details about Storage, please refer to the API - * Reference. + * If this is a {@code storage} FinancialAccount, this hash includes details specific to {@code + * storage} FinancialAccounts. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java index e1e83c0fecb..84d42e783d5 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java @@ -9,6 +9,10 @@ import lombok.Getter; import lombok.Setter; +/** + * A FinancialAddress contains information needed to transfer money to a Financial Account. A + * Financial Account can have more than one Financial Address. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -26,36 +30,7 @@ public class FinancialAddress extends StripeObject implements HasId { @SerializedName("credentials") Credentials credentials; - /** - * Open Enum. The currency the FinancialAddress supports. - * - *

One of {@code aed}, {@code afn}, {@code all}, {@code amd}, {@code ang}, {@code aoa}, {@code - * ars}, {@code aud}, {@code awg}, {@code azn}, {@code bam}, {@code bbd}, {@code bdt}, {@code - * bgn}, {@code bhd}, {@code bif}, {@code bmd}, {@code bnd}, {@code bob}, {@code bov}, {@code - * brl}, {@code bsd}, {@code btn}, {@code bwp}, {@code byn}, {@code byr}, {@code bzd}, {@code - * cad}, {@code cdf}, {@code che}, {@code chf}, {@code chw}, {@code clf}, {@code clp}, {@code - * cny}, {@code cop}, {@code cou}, {@code crc}, {@code cuc}, {@code cup}, {@code cve}, {@code - * czk}, {@code djf}, {@code dkk}, {@code dop}, {@code dzd}, {@code eek}, {@code egp}, {@code - * ern}, {@code etb}, {@code eur}, {@code fjd}, {@code fkp}, {@code gbp}, {@code gel}, {@code - * ghc}, {@code ghs}, {@code gip}, {@code gmd}, {@code gnf}, {@code gtq}, {@code gyd}, {@code - * hkd}, {@code hnl}, {@code hrk}, {@code htg}, {@code huf}, {@code idr}, {@code ils}, {@code - * inr}, {@code iqd}, {@code irr}, {@code isk}, {@code jmd}, {@code jod}, {@code jpy}, {@code - * kes}, {@code kgs}, {@code khr}, {@code kmf}, {@code kpw}, {@code krw}, {@code kwd}, {@code - * kyd}, {@code kzt}, {@code lak}, {@code lbp}, {@code lkr}, {@code lrd}, {@code lsl}, {@code - * ltl}, {@code lvl}, {@code lyd}, {@code mad}, {@code mdl}, {@code mga}, {@code mkd}, {@code - * mmk}, {@code mnt}, {@code mop}, {@code mro}, {@code mru}, {@code mur}, {@code mvr}, {@code - * mwk}, {@code mxn}, {@code mxv}, {@code myr}, {@code mzn}, {@code nad}, {@code ngn}, {@code - * nio}, {@code nok}, {@code npr}, {@code nzd}, {@code omr}, {@code pab}, {@code pen}, {@code - * pgk}, {@code php}, {@code pkr}, {@code pln}, {@code pyg}, {@code qar}, {@code ron}, {@code - * rsd}, {@code rub}, {@code rwf}, {@code sar}, {@code sbd}, {@code scr}, {@code sdg}, {@code - * sek}, {@code sgd}, {@code shp}, {@code sle}, {@code sll}, {@code sos}, {@code srd}, {@code - * ssp}, {@code std}, {@code stn}, {@code svc}, {@code syp}, {@code szl}, {@code thb}, {@code - * tjs}, {@code tmt}, {@code tnd}, {@code top}, {@code try}, {@code ttd}, {@code twd}, {@code - * tzs}, {@code uah}, {@code ugx}, {@code usd}, {@code usdb}, {@code usdc}, {@code usn}, {@code - * uyi}, {@code uyu}, {@code uzs}, {@code vef}, {@code ves}, {@code vnd}, {@code vuv}, {@code - * wst}, {@code xaf}, {@code xcd}, {@code xcg}, {@code xof}, {@code xpf}, {@code yer}, {@code - * zar}, {@code zmk}, {@code zmw}, {@code zwd}, {@code zwg}, or {@code zwl}. - */ + /** Open Enum. The currency the FinancialAddress supports. */ @SerializedName("currency") String currency; @@ -94,8 +69,10 @@ public class FinancialAddress extends StripeObject implements HasId { String status; /** - * For more details about Credentials, please refer to the API Reference. + * Object indicates the type of credentials that have been allocated and attached to the + * FinancialAddress. It contains all necessary banking details with which to perform money + * movements with the FinancialAddress. This field is only available for FinancialAddresses with + * an active status. */ @Getter @Setter @@ -124,8 +101,8 @@ public static class Credentials extends StripeObject { UsBankAccount usBankAccount; /** - * For more details about GbBankAccount, please refer to the API Reference. + * The credentials of the UK Bank Account for the FinancialAddress. This contains unique banking + * details such as the sort code, account number, etc. of a UK bank account. */ @Getter @Setter @@ -153,8 +130,8 @@ public static class GbBankAccount extends StripeObject { } /** - * For more details about UsBankAccount, please refer to the API Reference. + * The credentials of the US Bank Account for the FinancialAddress. This contains unique banking + * details such as the routing number, account number, etc. of a US bank account. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java b/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java index f2d2cd3b9bf..4816f0ba479 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/InboundTransfer.java @@ -7,10 +7,15 @@ import com.stripe.v2.Amount; import java.time.Instant; import java.util.List; +import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; +/** + * An InboundTransfer object, representing a money movement from a user owned PaymentMethod to a + * FinancialAccount belonging to the same user. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -70,10 +75,7 @@ public class InboundTransfer extends StripeObject implements HasId { @SerializedName("transfer_history") List transferHistory; - /** - * For more details about From, please refer to the API - * Reference. - */ + /** A nested object containing information about the origin of the InboundTransfer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -86,10 +88,7 @@ public static class From extends StripeObject { @SerializedName("payment_method") PaymentMethod paymentMethod; - /** - * For more details about PaymentMethod, please refer to the API Reference. - */ + /** The Payment Method object used to create the InboundTransfer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -107,10 +106,7 @@ public static class PaymentMethod extends StripeObject { } } - /** - * For more details about To, please refer to the API - * Reference. - */ + /** A nested object containing information about the destination of the InboundTransfer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -138,11 +134,11 @@ public static class TransferHistory extends StripeObject implements HasId { /** The history entry for a processing InboundTransfer. */ @SerializedName("bank_debit_processing") - BankDebitProcessing bankDebitProcessing; + Map bankDebitProcessing; /** The history entry for a queued InboundTransfer. */ @SerializedName("bank_debit_queued") - BankDebitQueued bankDebitQueued; + Map bankDebitQueued; /** The history entry for a returned InboundTransfer. */ @SerializedName("bank_debit_returned") @@ -150,7 +146,7 @@ public static class TransferHistory extends StripeObject implements HasId { /** The history entry for a succeeded InboundTransfer. */ @SerializedName("bank_debit_succeeded") - BankDebitSucceeded bankDebitSucceeded; + Map bankDebitSucceeded; /** Creation time of the HistoryEntry in RFC 3339 format and UTC. */ @SerializedName("created") @@ -182,10 +178,7 @@ public static class TransferHistory extends StripeObject implements HasId { @SerializedName("type") String type; - /** - * For more details about BankDebitFailed, please refer to the API Reference. - */ + /** The history entry for a failed InboundTransfer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -201,28 +194,7 @@ public static class BankDebitFailed extends StripeObject { String failureReason; } - /** - * For more details about BankDebitProcessing, please refer to the API Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class BankDebitProcessing extends StripeObject {} - - /** - * For more details about BankDebitQueued, please refer to the API Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class BankDebitQueued extends StripeObject {} - - /** - * For more details about BankDebitReturned, please refer to the API Reference. - */ + /** The history entry for a returned InboundTransfer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -237,14 +209,5 @@ public static class BankDebitReturned extends StripeObject { @SerializedName("return_reason") String returnReason; } - - /** - * For more details about BankDebitSucceeded, please refer to the API Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class BankDebitSucceeded extends StripeObject {} } } diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java index 7de9c1f2081..7cf929f9692 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java @@ -11,6 +11,10 @@ import lombok.Getter; import lombok.Setter; +/** + * OutboundPayment represents a single money movement from one FinancialAccount you own to a payout + * method someone else owns. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -139,10 +143,7 @@ public class OutboundPayment extends StripeObject implements HasId { @SerializedName("trace_id") TraceId traceId; - /** - * For more details about DeliveryOptions, please refer to the API Reference. - */ + /** Delivery options to be used to send the OutboundPayment. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -156,10 +157,7 @@ public static class DeliveryOptions extends StripeObject { String bankAccount; } - /** - * For more details about From, please refer to the API - * Reference. - */ + /** The FinancialAccount that funds were pulled from. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -173,10 +171,7 @@ public static class From extends StripeObject { String financialAccount; } - /** - * For more details about RecipientNotification, please refer to the API Reference. - */ + /** Details about the OutboundPayment notification settings for recipient. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -192,10 +187,7 @@ public static class RecipientNotification extends StripeObject { String setting; } - /** - * For more details about StatusDetails, please refer to the API Reference. - */ + /** Status details for an OutboundPayment in a {@code failed} or {@code returned} state. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -208,10 +200,7 @@ public static class StatusDetails extends StripeObject { @SerializedName("returned") Returned returned; - /** - * For more details about Failed, please refer to the API - * Reference. - */ + /** The {@code failed} status reason. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -227,10 +216,7 @@ public static class Failed extends StripeObject { String reason; } - /** - * For more details about Returned, please refer to the API Reference. - */ + /** The {@code returned} status reason. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -249,10 +235,7 @@ public static class Returned extends StripeObject { } } - /** - * For more details about StatusTransitions, please refer to the API Reference. - */ + /** Hash containing timestamps of when the object transitioned to a particular status. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -290,10 +273,7 @@ public static class StatusTransitions extends StripeObject { Instant returnedAt; } - /** - * For more details about To, please refer to the API - * Reference. - */ + /** To which payout method the OutboundPayment was sent. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -312,8 +292,8 @@ public static class To extends StripeObject { } /** - * For more details about TraceId, please refer to the API - * Reference. + * A unique identifier that can be used to track this OutboundPayment with recipient bank. Banks + * might call this a “reference number” or something similar. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java index 847b29fdb72..07e925b9171 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPaymentQuote.java @@ -12,6 +12,10 @@ import lombok.Getter; import lombok.Setter; +/** + * OutboundPaymentQuote represents a quote that provides fee and amount estimates for + * OutboundPayment. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -68,10 +72,7 @@ public class OutboundPaymentQuote extends StripeObject implements HasId { @SerializedName("to") To to; - /** - * For more details about DeliveryOptions, please refer to the API Reference. - */ + /** Delivery options to be used to send the OutboundPayment. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -107,10 +108,7 @@ public static class EstimatedFee extends StripeObject { String type; } - /** - * For more details about From, please refer to the API - * Reference. - */ + /** Details about the sender of an OutboundPaymentQuote. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -124,10 +122,7 @@ public static class From extends StripeObject { String financialAccount; } - /** - * For more details about FxQuote, please refer to the API - * Reference. - */ + /** The underlying FXQuote details for the OutboundPaymentQuote. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -176,10 +171,7 @@ public static class Rate extends StripeObject { } } - /** - * For more details about To, please refer to the API - * Reference. - */ + /** Details about the recipient of an OutboundPaymentQuote. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundSetupIntent.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundSetupIntent.java index 38322c6472e..fd348e55d91 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundSetupIntent.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundSetupIntent.java @@ -9,6 +9,7 @@ import lombok.Getter; import lombok.Setter; +/** Use the OutboundSetupIntent API to create and setup usable payout methods. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -42,9 +43,7 @@ public class OutboundSetupIntent extends StripeObject implements HasId { @SerializedName("object") String object; - /** - * Information about the payout method that’s created and linked to this outbound setup intent. - */ + /** Use the PayoutMethods API to list and interact with PayoutMethod objects. */ @SerializedName("payout_method") PayoutMethod payoutMethod; @@ -65,10 +64,7 @@ public class OutboundSetupIntent extends StripeObject implements HasId { @SerializedName("usage_intent") String usageIntent; - /** - * For more details about NextAction, please refer to the API Reference. - */ + /** Specifies which actions needs to be taken next to continue setup of the credential. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -85,10 +81,7 @@ public static class NextAction extends StripeObject { @SerializedName("type") String type; - /** - * For more details about ConfirmationOfPayee, please refer to the API Reference. - */ + /** Confirmation of Payee details. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java index 8749352020d..f6c67995654 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java @@ -11,6 +11,10 @@ import lombok.Getter; import lombok.Setter; +/** + * OutboundTransfer represents a single money movement from one FinancialAccount you own to a payout + * method you also own. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -128,10 +132,7 @@ public class OutboundTransfer extends StripeObject implements HasId { @SerializedName("trace_id") TraceId traceId; - /** - * For more details about DeliveryOptions, please refer to the API Reference. - */ + /** Delivery options to be used to send the OutboundTransfer. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -145,10 +146,7 @@ public static class DeliveryOptions extends StripeObject { String bankAccount; } - /** - * For more details about From, please refer to the API - * Reference. - */ + /** The FinancialAccount that funds were pulled from. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -162,10 +160,7 @@ public static class From extends StripeObject { String financialAccount; } - /** - * For more details about StatusDetails, please refer to the API Reference. - */ + /** Status details for an OutboundTransfer in a {@code failed} or {@code returned} state. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -178,10 +173,7 @@ public static class StatusDetails extends StripeObject { @SerializedName("returned") Returned returned; - /** - * For more details about Failed, please refer to the API - * Reference. - */ + /** The {@code failed} status reason. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -197,10 +189,7 @@ public static class Failed extends StripeObject { String reason; } - /** - * For more details about Returned, please refer to the API Reference. - */ + /** The {@code returned} status reason. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -219,10 +208,7 @@ public static class Returned extends StripeObject { } } - /** - * For more details about StatusTransitions, please refer to the API Reference. - */ + /** Hash containing timestamps of when the object transitioned to a particular status. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -260,10 +246,7 @@ public static class StatusTransitions extends StripeObject { Instant returnedAt; } - /** - * For more details about To, please refer to the API - * Reference. - */ + /** To which payout method the OutboundTransfer was sent. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -278,8 +261,8 @@ public static class To extends StripeObject { } /** - * For more details about TraceId, please refer to the API - * Reference. + * A unique identifier that can be used to track this OutboundTransfer with recipient bank. Banks + * might call this a “reference number” or something similar. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethod.java b/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethod.java index 076373b395e..4d2af2abd08 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethod.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethod.java @@ -10,6 +10,7 @@ import lombok.Getter; import lombok.Setter; +/** Use the PayoutMethods API to list and interact with PayoutMethod objects. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -70,10 +71,7 @@ public class PayoutMethod extends StripeObject implements HasId { @SerializedName("usage_status") UsageStatus usageStatus; - /** - * For more details about BankAccount, please refer to the API Reference. - */ + /** The PayoutMethodBankAccount object details. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -123,10 +121,7 @@ public static class BankAccount extends StripeObject { List supportedCurrencies; } - /** - * For more details about Card, please refer to the API - * Reference. - */ + /** The PayoutMethodCard object details. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -154,8 +149,8 @@ public static class Card extends StripeObject { } /** - * For more details about UsageStatus, please refer to the API Reference. + * Indicates whether the payout method has met the necessary requirements for outbound money + * movement. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethodsBankAccountSpec.java b/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethodsBankAccountSpec.java index a721c884e0c..23b774f7353 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethodsBankAccountSpec.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/PayoutMethodsBankAccountSpec.java @@ -9,6 +9,7 @@ import lombok.Getter; import lombok.Setter; +/** The PayoutMethodsBankAccountSpec object. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -63,11 +64,11 @@ public static class Field extends StripeObject { /** The maximum length of the field. */ @SerializedName("max_length") - Integer maxLength; + Long maxLength; /** THe minimum length of the field. */ @SerializedName("min_length") - Integer minLength; + Long minLength; /** The placeholder value of the field. */ @SerializedName("placeholder") @@ -81,17 +82,16 @@ public static class Field extends StripeObject { @SerializedName("validation_regex") String validationRegex; - /** - * For more details about LocalNameHuman, please refer to the API Reference. - */ + /** The human readable local name of the field. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class LocalNameHuman extends StripeObject { + /** The default content of the localizable string. */ @SerializedName("content") String content; + /** A unique key representing the instance of this localizable string. */ @SerializedName("localization_key") String localizationKey; } diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java index c627328e30b..a1f7fbb28fd 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java @@ -10,6 +10,10 @@ import lombok.Getter; import lombok.Setter; +/** + * Use ReceivedCredits API to retrieve information on when, where, and how funds are sent into your + * FinancialAccount. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -103,8 +107,8 @@ public class ReceivedCredit extends StripeObject implements HasId { String type; /** - * For more details about BalanceTransfer, please refer to the API Reference. + * This object stores details about the originating Stripe transaction that resulted in the + * ReceivedCredit. Present if {@code type} field value is {@code balance_transfer}. */ @Getter @Setter @@ -136,8 +140,8 @@ public static class BalanceTransfer extends StripeObject { } /** - * For more details about BankTransfer, please refer to the API Reference. + * This object stores details about the originating banking transaction that resulted in the + * ReceivedCredit. Present if {@code type} field value is {@code external_credit}. */ @Getter @Setter @@ -174,8 +178,8 @@ public static class BankTransfer extends StripeObject { UsBankAccount usBankAccount; /** - * For more details about GbBankAccount, please refer to the API Reference. + * Hash containing the transaction bank details. Present if {@code payment_method_type} field + * value is {@code gb_bank_account}. */ @Getter @Setter @@ -207,8 +211,8 @@ public static class GbBankAccount extends StripeObject { } /** - * For more details about UsBankAccount, please refer to the API Reference. + * Hash containing the transaction bank details. Present if {@code payment_method_type} field + * value is {@code us_bank_account}. */ @Getter @Setter @@ -237,8 +241,8 @@ public static class UsBankAccount extends StripeObject { } /** - * For more details about StatusDetails, please refer to the API Reference. + * This hash contains detailed information that elaborates on the specific status of the + * ReceivedCredit. e.g the reason behind a failure if the status is marked as {@code failed}. */ @Getter @Setter @@ -259,8 +263,8 @@ public static class StatusDetails extends StripeObject { Returned returned; /** - * For more details about Failed, please refer to the API - * Reference. + * Hash that provides additional information regarding the reason behind a {@code failed} + * ReceivedCredit status. It is only present when the ReceivedCredit status is {@code failed}. */ @Getter @Setter @@ -277,8 +281,8 @@ public static class Failed extends StripeObject { } /** - * For more details about Returned, please refer to the API Reference. + * Hash that provides additional information regarding the reason behind a {@code returned} + * ReceivedCredit status. It is only present when the ReceivedCredit status is {@code returned}. */ @Getter @Setter @@ -294,10 +298,7 @@ public static class Returned extends StripeObject { } } - /** - * For more details about StatusTransitions, please refer to the API Reference. - */ + /** Hash containing timestamps of when the object transitioned to a particular status. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java index e0ffe046d10..35e84bcd2d7 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java @@ -10,6 +10,7 @@ import lombok.Getter; import lombok.Setter; +/** ReceivedDebit resource. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -91,8 +92,8 @@ public class ReceivedDebit extends StripeObject implements HasId { String type; /** - * For more details about BankTransfer, please refer to the API Reference. + * This object stores details about the originating banking transaction that resulted in the + * ReceivedDebit. Present if {@code type} field value is {@code bank_transfer}. */ @Getter @Setter @@ -118,10 +119,7 @@ public static class BankTransfer extends StripeObject { @SerializedName("us_bank_account") UsBankAccount usBankAccount; - /** - * For more details about UsBankAccount, please refer to the API Reference. - */ + /** The payment method used to originate the debit. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -144,10 +142,7 @@ public static class UsBankAccount extends StripeObject { } } - /** - * For more details about StatusDetails, please refer to the API Reference. - */ + /** Detailed information about the status of the ReceivedDebit. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -160,8 +155,8 @@ public static class StatusDetails extends StripeObject { Failed failed; /** - * For more details about Failed, please refer to the API - * Reference. + * Information that elaborates on the {@code failed} status of a ReceivedDebit. It is only + * present when the ReceivedDebit status is {@code failed}. */ @Getter @Setter @@ -178,10 +173,7 @@ public static class Failed extends StripeObject { } } - /** - * For more details about StatusTransitions, please refer to the API Reference. - */ + /** The time at which the ReceivedDebit transitioned to a particular status. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java b/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java index 68eec32418e..1cad83d755f 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/Transaction.java @@ -10,6 +10,13 @@ import lombok.Getter; import lombok.Setter; +/** + * Use Transactions to view changes to your FinancialAccount balance over time. Every flow that + * moves money, such as OutboundPayments or ReceivedCredits, will have one or more Transactions that + * describes how the flow impacted your balance. Note that while the FinancialAccount balance will + * always be up to date, be aware that Transactions and TransactionEntries are created shortly after + * to reflect changes. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -88,8 +95,8 @@ public class Transaction extends StripeObject implements HasId { StatusTransitions statusTransitions; /** - * For more details about BalanceImpact, please refer to the API Reference. + * The delta to the FinancialAccount's balance. The balance_impact for the Transaction is equal to + * sum of its TransactionEntries that have {@code effective_at}s in the past. */ @Getter @Setter @@ -108,10 +115,7 @@ public static class BalanceImpact extends StripeObject { Amount outboundPending; } - /** - * For more details about Flow, please refer to the API - * Reference. - */ + /** Details about the Flow object that created the Transaction. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -163,10 +167,7 @@ public static class Flow extends StripeObject { String type; } - /** - * For more details about StatusTransitions, please refer to the API Reference. - */ + /** Timestamps for when the Transaction transitioned to a particular status. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java b/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java index c0296b2a8a5..87d1e6f2e15 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/TransactionEntry.java @@ -10,6 +10,10 @@ import lombok.Getter; import lombok.Setter; +/** + * TransactionEntries represent individual money movements across different states within a + * Transaction. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -58,10 +62,7 @@ public class TransactionEntry extends StripeObject implements HasId { @SerializedName("transaction_details") TransactionDetails transactionDetails; - /** - * For more details about BalanceImpact, please refer to the API Reference. - */ + /** The delta to the FinancialAccount's balance. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -79,10 +80,7 @@ public static class BalanceImpact extends StripeObject { Amount outboundPending; } - /** - * For more details about TransactionDetails, please refer to the API Reference. - */ + /** Details copied from the transaction that this TransactionEntry belongs to. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -106,10 +104,7 @@ public static class TransactionDetails extends StripeObject { @SerializedName("flow") Flow flow; - /** - * For more details about Flow, please refer to the API - * Reference. - */ + /** Details about the Flow object that created the Transaction. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) diff --git a/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java b/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java index 8f6cd546414..0d26e1c7c28 100644 --- a/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java +++ b/src/main/java/com/stripe/model/v2/payments/OffSessionPayment.java @@ -11,6 +11,7 @@ import lombok.Getter; import lombok.Setter; +/** OffSessionPayment resource. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -143,17 +144,14 @@ public class OffSessionPayment extends StripeObject implements HasId { @SerializedName("transfer_data") TransferData transferData; - /** - * For more details about RetryDetails, please refer to the API Reference. - */ + /** Details about the OffSessionPayment retries. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class RetryDetails extends StripeObject { /** Number of authorization attempts so far. */ @SerializedName("attempts") - Integer attempts; + Long attempts; /** * Indicates the strategy for how you want Stripe to retry the payment. @@ -165,8 +163,9 @@ public static class RetryDetails extends StripeObject { } /** - * For more details about TransferData, please refer to the API Reference. + * The data that automatically creates a Transfer after the payment finalizes. Learn more about + * the use case for connected + * accounts. */ @Getter @Setter @@ -181,7 +180,7 @@ public static class TransferData extends StripeObject { * unit (e.g., 100 cents to charge $1.00). */ @SerializedName("amount") - Integer amount; + Long amount; /** * The account (if any) that the payment is attributed to for tax reporting, and where funds diff --git a/src/main/java/com/stripe/net/ApiService.java b/src/main/java/com/stripe/net/ApiService.java index e2383b97705..8c9d22f7809 100644 --- a/src/main/java/com/stripe/net/ApiService.java +++ b/src/main/java/com/stripe/net/ApiService.java @@ -1,7 +1,7 @@ package com.stripe.net; import com.stripe.exception.StripeException; -import com.stripe.model.StripeObjectInterface; +import com.stripe.model.StripeObject; import java.io.InputStream; import java.lang.reflect.Type; import lombok.AccessLevel; @@ -17,7 +17,7 @@ protected ApiService(StripeResponseGetter responseGetter) { } @SuppressWarnings("TypeParameterUnusedInFormals") - protected T request(ApiRequest request, Type typeToken) + protected T request(ApiRequest request, Type typeToken) throws StripeException { return this.getResponseGetter().request(request.addUsage("stripe_client"), typeToken); } diff --git a/src/main/java/com/stripe/net/BearerTokenAuthenticator.java b/src/main/java/com/stripe/net/BearerTokenAuthenticator.java index 03c9faa8d8b..44bf2e21819 100644 --- a/src/main/java/com/stripe/net/BearerTokenAuthenticator.java +++ b/src/main/java/com/stripe/net/BearerTokenAuthenticator.java @@ -1,5 +1,6 @@ package com.stripe.net; +import com.stripe.exception.ApiKeyMissingException; import com.stripe.exception.AuthenticationException; import com.stripe.exception.StripeException; import com.stripe.util.StringUtils; @@ -11,7 +12,7 @@ public final class BearerTokenAuthenticator implements Authenticator { public BearerTokenAuthenticator(String apiKey) { if (apiKey == null) { - throw new IllegalArgumentException("apiKey should be not-null"); + throw new ApiKeyMissingException("API key cannot be null. Set Stripe.apiKey"); } this.apiKey = apiKey; } diff --git a/src/main/java/com/stripe/net/LiveStripeResponseGetter.java b/src/main/java/com/stripe/net/LiveStripeResponseGetter.java index 76b88830be3..d8fdc544cf7 100644 --- a/src/main/java/com/stripe/net/LiveStripeResponseGetter.java +++ b/src/main/java/com/stripe/net/LiveStripeResponseGetter.java @@ -117,7 +117,7 @@ private StripeRequest toRawStripeRequest(RawApiRequest apiRequest, RequestOption @Override @SuppressWarnings({"TypeParameterUnusedInFormals", "unchecked"}) - public T request(ApiRequest apiRequest, Type typeToken) + public T request(ApiRequest apiRequest, Type typeToken) throws StripeException { RequestOptions mergedOptions = RequestOptions.merge(this.options, apiRequest.getOptions()); @@ -229,7 +229,7 @@ public StripeResponse rawRequest(RawApiRequest apiRequest) throws StripeExceptio @Override @SuppressWarnings({"TypeParameterUnusedInFormals", "deprecation"}) - public T request( + public T request( BaseAddress baseAddress, ApiResource.RequestMethod method, String path, diff --git a/src/main/java/com/stripe/net/StripeResponseGetter.java b/src/main/java/com/stripe/net/StripeResponseGetter.java index cb6b54cf10d..c55d9958661 100644 --- a/src/main/java/com/stripe/net/StripeResponseGetter.java +++ b/src/main/java/com/stripe/net/StripeResponseGetter.java @@ -1,7 +1,7 @@ package com.stripe.net; import com.stripe.exception.StripeException; -import com.stripe.model.StripeObjectInterface; +import com.stripe.model.StripeObject; import java.io.InputStream; import java.lang.reflect.Type; import java.util.Map; @@ -10,7 +10,7 @@ public interface StripeResponseGetter { /** @deprecated Use {@link #request(ApiRequest, Type)} instead. */ @SuppressWarnings("TypeParameterUnusedInFormals") @Deprecated - T request( + T request( BaseAddress baseAddress, ApiResource.RequestMethod method, String path, @@ -21,7 +21,7 @@ T request( throws StripeException; @SuppressWarnings("TypeParameterUnusedInFormals") - default T request(ApiRequest request, Type typeToken) + default T request(ApiRequest request, Type typeToken) throws StripeException { return request( request.getBaseAddress(), diff --git a/src/main/java/com/stripe/param/AccountCreateParams.java b/src/main/java/com/stripe/param/AccountCreateParams.java index b1cc90f795c..5fd61455fb6 100644 --- a/src/main/java/com/stripe/param/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/AccountCreateParams.java @@ -1137,11 +1137,11 @@ public static class SupportAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1244,13 +1244,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1499,6 +1499,10 @@ public static class Capabilities { @SerializedName("paypal_payments") PaypalPayments paypalPayments; + /** The paypay_payments capability. */ + @SerializedName("paypay_payments") + PaypayPayments paypayPayments; + /** The payto_payments capability. */ @SerializedName("payto_payments") PaytoPayments paytoPayments; @@ -1649,6 +1653,7 @@ private Capabilities( PaycoPayments paycoPayments, PaynowPayments paynowPayments, PaypalPayments paypalPayments, + PaypayPayments paypayPayments, PaytoPayments paytoPayments, PixPayments pixPayments, PromptpayPayments promptpayPayments, @@ -1723,6 +1728,7 @@ private Capabilities( this.paycoPayments = paycoPayments; this.paynowPayments = paynowPayments; this.paypalPayments = paypalPayments; + this.paypayPayments = paypayPayments; this.paytoPayments = paytoPayments; this.pixPayments = pixPayments; this.promptpayPayments = promptpayPayments; @@ -1853,6 +1859,8 @@ public static class Builder { private PaypalPayments paypalPayments; + private PaypayPayments paypayPayments; + private PaytoPayments paytoPayments; private PixPayments pixPayments; @@ -1955,6 +1963,7 @@ public AccountCreateParams.Capabilities build() { this.paycoPayments, this.paynowPayments, this.paypalPayments, + this.paypayPayments, this.paytoPayments, this.pixPayments, this.promptpayPayments, @@ -2335,6 +2344,13 @@ public Builder setPaypalPayments( return this; } + /** The paypay_payments capability. */ + public Builder setPaypayPayments( + AccountCreateParams.Capabilities.PaypayPayments paypayPayments) { + this.paypayPayments = paypayPayments; + return this; + } + /** The payto_payments capability. */ public Builder setPaytoPayments( AccountCreateParams.Capabilities.PaytoPayments paytoPayments) { @@ -6343,6 +6359,86 @@ public Builder setRequested(Boolean requested) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaypayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PaypayPayments(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.PaypayPayments build() { + return new AccountCreateParams.Capabilities.PaypayPayments( + 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.PaypayPayments#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A 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.PaypayPayments#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 @EqualsAndHashCode(callSuper = false) public static class PaytoPayments { @@ -8873,11 +8969,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -8980,13 +9076,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -12346,11 +12442,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -12453,13 +12549,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -12942,11 +13038,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -13049,13 +13145,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -15392,16 +15488,15 @@ public static class Schedule { /** * The day of the week when available funds are paid out, specified as {@code monday}, - * {@code tuesday}, etc. (required and applicable only if {@code interval} is {@code - * weekly}.) + * {@code tuesday}, etc. Required and applicable only if {@code interval} is {@code weekly}. */ @SerializedName("weekly_anchor") WeeklyAnchor weeklyAnchor; /** * The days of the week when available funds are paid out, specified as an array, e.g., - * [{@code monday}, {@code tuesday}]. (required and applicable only if {@code interval} is - * {@code weekly} and {@code weekly_anchor} is not set.) + * [{@code monday}, {@code tuesday}]. Required and applicable only if {@code interval} is + * {@code weekly}. */ @SerializedName("weekly_payout_days") List weeklyPayoutDays; @@ -15561,8 +15656,8 @@ public Builder addAllMonthlyPayoutDay(List elements) { /** * The day of the week when available funds are paid out, specified as {@code monday}, - * {@code tuesday}, etc. (required and applicable only if {@code interval} is {@code - * weekly}.) + * {@code tuesday}, etc. Required and applicable only if {@code interval} is {@code + * weekly}. */ public Builder setWeeklyAnchor( AccountCreateParams.Settings.Payouts.Schedule.WeeklyAnchor weeklyAnchor) { @@ -15671,12 +15766,6 @@ public enum WeeklyPayoutDay implements ApiRequestParams.EnumParam { @SerializedName("monday") MONDAY("monday"), - @SerializedName("saturday") - SATURDAY("saturday"), - - @SerializedName("sunday") - SUNDAY("sunday"), - @SerializedName("thursday") THURSDAY("thursday"), diff --git a/src/main/java/com/stripe/param/AccountPersonCreateParams.java b/src/main/java/com/stripe/param/AccountPersonCreateParams.java index 419ba8b52c3..a9982ede685 100644 --- a/src/main/java/com/stripe/param/AccountPersonCreateParams.java +++ b/src/main/java/com/stripe/param/AccountPersonCreateParams.java @@ -884,11 +884,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -989,13 +989,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1872,11 +1872,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1978,13 +1978,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/AccountPersonUpdateParams.java b/src/main/java/com/stripe/param/AccountPersonUpdateParams.java index 45fad2e0a32..ab515d80358 100644 --- a/src/main/java/com/stripe/param/AccountPersonUpdateParams.java +++ b/src/main/java/com/stripe/param/AccountPersonUpdateParams.java @@ -1001,11 +1001,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1121,25 +1121,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -2118,11 +2118,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -2239,25 +2239,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/AccountUpdateParams.java b/src/main/java/com/stripe/param/AccountUpdateParams.java index 583808036e4..c24be6d00bf 100644 --- a/src/main/java/com/stripe/param/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/AccountUpdateParams.java @@ -1196,11 +1196,11 @@ public static class SupportAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1318,25 +1318,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -1597,6 +1597,10 @@ public static class Capabilities { @SerializedName("paypal_payments") PaypalPayments paypalPayments; + /** The paypay_payments capability. */ + @SerializedName("paypay_payments") + PaypayPayments paypayPayments; + /** The payto_payments capability. */ @SerializedName("payto_payments") PaytoPayments paytoPayments; @@ -1747,6 +1751,7 @@ private Capabilities( PaycoPayments paycoPayments, PaynowPayments paynowPayments, PaypalPayments paypalPayments, + PaypayPayments paypayPayments, PaytoPayments paytoPayments, PixPayments pixPayments, PromptpayPayments promptpayPayments, @@ -1821,6 +1826,7 @@ private Capabilities( this.paycoPayments = paycoPayments; this.paynowPayments = paynowPayments; this.paypalPayments = paypalPayments; + this.paypayPayments = paypayPayments; this.paytoPayments = paytoPayments; this.pixPayments = pixPayments; this.promptpayPayments = promptpayPayments; @@ -1951,6 +1957,8 @@ public static class Builder { private PaypalPayments paypalPayments; + private PaypayPayments paypayPayments; + private PaytoPayments paytoPayments; private PixPayments pixPayments; @@ -2053,6 +2061,7 @@ public AccountUpdateParams.Capabilities build() { this.paycoPayments, this.paynowPayments, this.paypalPayments, + this.paypayPayments, this.paytoPayments, this.pixPayments, this.promptpayPayments, @@ -2433,6 +2442,13 @@ public Builder setPaypalPayments( return this; } + /** The paypay_payments capability. */ + public Builder setPaypayPayments( + AccountUpdateParams.Capabilities.PaypayPayments paypayPayments) { + this.paypayPayments = paypayPayments; + return this; + } + /** The payto_payments capability. */ public Builder setPaytoPayments( AccountUpdateParams.Capabilities.PaytoPayments paytoPayments) { @@ -6441,6 +6457,86 @@ public Builder setRequested(Boolean requested) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaypayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PaypayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Capabilities.PaypayPayments build() { + return new AccountUpdateParams.Capabilities.PaypayPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Capabilities.PaypayPayments#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Capabilities.PaypayPayments#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 @EqualsAndHashCode(callSuper = false) public static class PaytoPayments { @@ -9042,11 +9138,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -9164,25 +9260,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -12116,11 +12212,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -12238,25 +12334,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -12841,11 +12937,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -12963,25 +13059,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -15564,16 +15660,15 @@ public static class Schedule { /** * The day of the week when available funds are paid out, specified as {@code monday}, - * {@code tuesday}, etc. (required and applicable only if {@code interval} is {@code - * weekly}.) + * {@code tuesday}, etc. Required and applicable only if {@code interval} is {@code weekly}. */ @SerializedName("weekly_anchor") WeeklyAnchor weeklyAnchor; /** * The days of the week when available funds are paid out, specified as an array, e.g., - * [{@code monday}, {@code tuesday}]. (required and applicable only if {@code interval} is - * {@code weekly} and {@code weekly_anchor} is not set.) + * [{@code monday}, {@code tuesday}]. Required and applicable only if {@code interval} is + * {@code weekly}. */ @SerializedName("weekly_payout_days") List weeklyPayoutDays; @@ -15733,8 +15828,8 @@ public Builder addAllMonthlyPayoutDay(List elements) { /** * The day of the week when available funds are paid out, specified as {@code monday}, - * {@code tuesday}, etc. (required and applicable only if {@code interval} is {@code - * weekly}.) + * {@code tuesday}, etc. Required and applicable only if {@code interval} is {@code + * weekly}. */ public Builder setWeeklyAnchor( AccountUpdateParams.Settings.Payouts.Schedule.WeeklyAnchor weeklyAnchor) { @@ -15843,12 +15938,6 @@ public enum WeeklyPayoutDay implements ApiRequestParams.EnumParam { @SerializedName("monday") MONDAY("monday"), - @SerializedName("saturday") - SATURDAY("saturday"), - - @SerializedName("sunday") - SUNDAY("sunday"), - @SerializedName("thursday") THURSDAY("thursday"), diff --git a/src/main/java/com/stripe/param/BalanceSettingsUpdateParams.java b/src/main/java/com/stripe/param/BalanceSettingsUpdateParams.java index d2c1f4c0c6d..ac0ee91cad5 100644 --- a/src/main/java/com/stripe/param/BalanceSettingsUpdateParams.java +++ b/src/main/java/com/stripe/param/BalanceSettingsUpdateParams.java @@ -28,8 +28,7 @@ public class BalanceSettingsUpdateParams extends ApiRequestParams { Map extraParams; /** - * Required. Settings that apply to the Payments Balance. + * Settings that apply to the Payments Balance. */ @SerializedName("payments") Payments payments; @@ -110,8 +109,8 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. Settings that apply to the Payments Balance. + * Settings that apply to the Payments + * Balance. */ public Builder setPayments(BalanceSettingsUpdateParams.Payments payments) { this.payments = payments; @@ -241,6 +240,15 @@ public static class Payouts { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** + * The minimum balance amount to retain per currency after automatic payouts. Only funds that + * exceed these amounts are paid out. Learn more about the minimum balances + * for automatic payouts. + */ + @SerializedName("minimum_balance_by_currency") + Object minimumBalanceByCurrency; + /** * Details on when funds from charges are available, and when they are paid out to an external * account. For details, see our extraParams, Schedule schedule, Object statementDescriptor) { + Map extraParams, + Object minimumBalanceByCurrency, + Schedule schedule, + Object statementDescriptor) { this.extraParams = extraParams; + this.minimumBalanceByCurrency = minimumBalanceByCurrency; this.schedule = schedule; this.statementDescriptor = statementDescriptor; } @@ -271,6 +283,8 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Object minimumBalanceByCurrency; + private Schedule schedule; private Object statementDescriptor; @@ -278,7 +292,10 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public BalanceSettingsUpdateParams.Payments.Payouts build() { return new BalanceSettingsUpdateParams.Payments.Payouts( - this.extraParams, this.schedule, this.statementDescriptor); + this.extraParams, + this.minimumBalanceByCurrency, + this.schedule, + this.statementDescriptor); } /** @@ -309,6 +326,83 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Add a key/value pair to `minimumBalanceByCurrency` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * BalanceSettingsUpdateParams.Payments.Payouts#minimumBalanceByCurrency} for the field + * documentation. + */ + @SuppressWarnings("unchecked") + public Builder putMinimumBalanceByCurrency(String key, Long value) { + if (this.minimumBalanceByCurrency == null + || this.minimumBalanceByCurrency instanceof EmptyParam) { + this.minimumBalanceByCurrency = new HashMap(); + } + ((Map) this.minimumBalanceByCurrency).put(key, value); + return this; + } + + /** + * Add a key/value pair to `minimumBalanceByCurrency` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * BalanceSettingsUpdateParams.Payments.Payouts#minimumBalanceByCurrency} for the field + * documentation. + */ + @SuppressWarnings("unchecked") + public Builder putMinimumBalanceByCurrency(String key, EmptyParam value) { + if (this.minimumBalanceByCurrency == null + || this.minimumBalanceByCurrency instanceof EmptyParam) { + this.minimumBalanceByCurrency = new HashMap(); + } + ((Map) this.minimumBalanceByCurrency).put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `minimumBalanceByCurrency` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. Map values can only be one of the following types: `Long`, `EmptyParam`. + * See {@link BalanceSettingsUpdateParams.Payments.Payouts#minimumBalanceByCurrency} for the + * field documentation. + */ + @SuppressWarnings("unchecked") + public Builder putAllMinimumBalanceByCurrency(Map map) { + if (!map.values().stream().allMatch(v -> v instanceof Long || v instanceof EmptyParam)) { + throw new IllegalArgumentException( + "All map values must one of the following types: Long, EmptyParam"); + } + if (this.minimumBalanceByCurrency == null + || this.minimumBalanceByCurrency instanceof EmptyParam) { + this.minimumBalanceByCurrency = new HashMap(); + } + ((Map) this.minimumBalanceByCurrency).putAll(map); + return this; + } + + /** + * The minimum balance amount to retain per currency after automatic payouts. Only funds + * that exceed these amounts are paid out. Learn more about the minimum balances + * for automatic payouts. + */ + public Builder setMinimumBalanceByCurrency(EmptyParam minimumBalanceByCurrency) { + this.minimumBalanceByCurrency = minimumBalanceByCurrency; + return this; + } + + /** + * The minimum balance amount to retain per currency after automatic payouts. Only funds + * that exceed these amounts are paid out. Learn more about the minimum balances + * for automatic payouts. + */ + public Builder setMinimumBalanceByCurrency(Map minimumBalanceByCurrency) { + this.minimumBalanceByCurrency = minimumBalanceByCurrency; + return this; + } + /** * Details on when funds from charges are available, and when they are paid out to an * external account. For details, see our @@ -535,12 +629,6 @@ public enum WeeklyPayoutDay implements ApiRequestParams.EnumParam { @SerializedName("monday") MONDAY("monday"), - @SerializedName("saturday") - SATURDAY("saturday"), - - @SerializedName("sunday") - SUNDAY("sunday"), - @SerializedName("thursday") THURSDAY("thursday"), @@ -564,15 +652,15 @@ public enum WeeklyPayoutDay implements ApiRequestParams.EnumParam { @EqualsAndHashCode(callSuper = false) public static class SettlementTiming { /** - * The number of days charge funds are held before becoming available. May also be set to - * {@code minimum}, representing the lowest available value for the account country. Default - * is {@code minimum}. The {@code delay_days} parameter remains at the last configured value - * if {@code payouts.schedule.interval} is {@code manual}. Learn more about controlling - * payout delay days. + * Change {@code delay_days} for this account, which determines the number of days charge + * funds are held before becoming available. The maximum value is 31. Passing an empty string + * to {@code delay_days_override} will return {@code delay_days} to the default, which is the + * lowest available value for the account. Learn more about controlling delay + * days. */ @SerializedName("delay_days_override") - Long delayDaysOverride; + Object delayDaysOverride; /** * Map of extra parameters for custom features not available in this client library. The @@ -583,7 +671,7 @@ public static class SettlementTiming { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private SettlementTiming(Long delayDaysOverride, Map extraParams) { + private SettlementTiming(Object delayDaysOverride, Map extraParams) { this.delayDaysOverride = delayDaysOverride; this.extraParams = extraParams; } @@ -593,7 +681,7 @@ public static Builder builder() { } public static class Builder { - private Long delayDaysOverride; + private Object delayDaysOverride; private Map extraParams; @@ -604,18 +692,31 @@ public BalanceSettingsUpdateParams.Payments.SettlementTiming build() { } /** - * The number of days charge funds are held before becoming available. May also be set to - * {@code minimum}, representing the lowest available value for the account country. Default - * is {@code minimum}. The {@code delay_days} parameter remains at the last configured value - * if {@code payouts.schedule.interval} is {@code manual}. Learn more about controlling - * payout delay days. + * delay days. */ public Builder setDelayDaysOverride(Long delayDaysOverride) { this.delayDaysOverride = delayDaysOverride; return this; } + /** + * Change {@code delay_days} for this account, which determines the number of days charge + * funds are held before becoming available. The maximum value is 31. Passing an empty + * string to {@code delay_days_override} will return {@code delay_days} to the default, + * which is the lowest available value for the account. Learn more about controlling + * delay days. + */ + public Builder setDelayDaysOverride(EmptyParam delayDaysOverride) { + this.delayDaysOverride = delayDaysOverride; + 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 diff --git a/src/main/java/com/stripe/param/ChargeCaptureParams.java b/src/main/java/com/stripe/param/ChargeCaptureParams.java index 36ff3229d06..c5d99225a04 100644 --- a/src/main/java/com/stripe/param/ChargeCaptureParams.java +++ b/src/main/java/com/stripe/param/ChargeCaptureParams.java @@ -1475,11 +1475,11 @@ public static class PickupAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1582,13 +1582,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1632,11 +1632,11 @@ public static class ReturnAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1739,13 +1739,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -2028,11 +2028,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -2135,13 +2135,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -3725,11 +3725,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3832,13 +3832,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/ChargeCreateParams.java b/src/main/java/com/stripe/param/ChargeCreateParams.java index c824304cd10..bc73185fe0e 100644 --- a/src/main/java/com/stripe/param/ChargeCreateParams.java +++ b/src/main/java/com/stripe/param/ChargeCreateParams.java @@ -907,11 +907,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1014,13 +1014,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/ChargeUpdateParams.java b/src/main/java/com/stripe/param/ChargeUpdateParams.java index 909cfe4df06..7bdfd5e5849 100644 --- a/src/main/java/com/stripe/param/ChargeUpdateParams.java +++ b/src/main/java/com/stripe/param/ChargeUpdateParams.java @@ -1726,11 +1726,11 @@ public static class PickupAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1848,25 +1848,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -1922,11 +1922,11 @@ public static class ReturnAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -2044,25 +2044,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -2375,11 +2375,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -2497,25 +2497,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -4259,11 +4259,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -4381,25 +4381,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -5425,11 +5425,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -5547,25 +5547,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java index cb870c26943..97940730121 100644 --- a/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java +++ b/src/main/java/com/stripe/param/ConfirmationTokenCreateParams.java @@ -519,6 +519,13 @@ public static class PaymentMethodData { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -693,6 +700,7 @@ private PaymentMethodData( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -755,6 +763,7 @@ private PaymentMethodData( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -867,6 +876,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -951,6 +962,7 @@ public ConfirmationTokenCreateParams.PaymentMethodData build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -1413,6 +1425,15 @@ public Builder setPaypal(ConfirmationTokenCreateParams.PaymentMethodData.Paypal return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(ConfirmationTokenCreateParams.PaymentMethodData.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo * payment method. @@ -2461,11 +2482,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -2570,13 +2591,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -5000,6 +5021,64 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfirmationTokenCreateParams.PaymentMethodData.Paypay build() { + return new ConfirmationTokenCreateParams.PaymentMethodData.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ConfirmationTokenCreateParams.PaymentMethodData.Paypay#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ConfirmationTokenCreateParams.PaymentMethodData.Paypay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -6586,6 +6665,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), @@ -7152,11 +7234,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -7259,13 +7341,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/CustomerCreateParams.java b/src/main/java/com/stripe/param/CustomerCreateParams.java index c64735c67a4..18b6d44d0ad 100644 --- a/src/main/java/com/stripe/param/CustomerCreateParams.java +++ b/src/main/java/com/stripe/param/CustomerCreateParams.java @@ -27,6 +27,10 @@ public class CustomerCreateParams extends ApiRequestParams { @SerializedName("balance") Long balance; + /** The customer's business name. This may be up to 150 characters. */ + @SerializedName("business_name") + Object businessName; + /** Balance information and default balance settings for this customer. */ @SerializedName("cash_balance") CashBalance cashBalance; @@ -58,6 +62,10 @@ public class CustomerCreateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The customer's full name. This may be up to 150 characters. */ + @SerializedName("individual_name") + Object individualName; + /** * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase * letters or numbers. @@ -126,11 +134,13 @@ public class CustomerCreateParams extends ApiRequestParams { private CustomerCreateParams( Object address, Long balance, + Object businessName, CashBalance cashBalance, String description, String email, List expand, Map extraParams, + Object individualName, String invoicePrefix, InvoiceSettings invoiceSettings, Object metadata, @@ -148,11 +158,13 @@ private CustomerCreateParams( Boolean validate) { this.address = address; this.balance = balance; + this.businessName = businessName; this.cashBalance = cashBalance; this.description = description; this.email = email; this.expand = expand; this.extraParams = extraParams; + this.individualName = individualName; this.invoicePrefix = invoicePrefix; this.invoiceSettings = invoiceSettings; this.metadata = metadata; @@ -179,6 +191,8 @@ public static class Builder { private Long balance; + private Object businessName; + private CashBalance cashBalance; private String description; @@ -189,6 +203,8 @@ public static class Builder { private Map extraParams; + private Object individualName; + private String invoicePrefix; private InvoiceSettings invoiceSettings; @@ -224,11 +240,13 @@ public CustomerCreateParams build() { return new CustomerCreateParams( this.address, this.balance, + this.businessName, this.cashBalance, this.description, this.email, this.expand, this.extraParams, + this.individualName, this.invoicePrefix, this.invoiceSettings, this.metadata, @@ -269,6 +287,18 @@ public Builder setBalance(Long balance) { return this; } + /** The customer's business name. This may be up to 150 characters. */ + public Builder setBusinessName(String businessName) { + this.businessName = businessName; + return this; + } + + /** The customer's business name. This may be up to 150 characters. */ + public Builder setBusinessName(EmptyParam businessName) { + this.businessName = businessName; + return this; + } + /** Balance information and default balance settings for this customer. */ public Builder setCashBalance(CustomerCreateParams.CashBalance cashBalance) { this.cashBalance = cashBalance; @@ -345,6 +375,18 @@ public Builder putAllExtraParam(Map map) { return this; } + /** The customer's full name. This may be up to 150 characters. */ + public Builder setIndividualName(String individualName) { + this.individualName = individualName; + return this; + } + + /** The customer's full name. This may be up to 150 characters. */ + public Builder setIndividualName(EmptyParam individualName) { + this.individualName = individualName; + return this; + } + /** * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase * letters or numbers. @@ -556,11 +598,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -662,13 +704,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1382,11 +1424,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1490,13 +1532,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java index 0f3a43861bf..e16d8e81610 100644 --- a/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java +++ b/src/main/java/com/stripe/param/CustomerListPaymentMethodsParams.java @@ -357,6 +357,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java index 5cb4ae87970..6423cc1287b 100644 --- a/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/CustomerPaymentMethodListParams.java @@ -357,6 +357,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/CustomerPaymentSourceUpdateParams.java b/src/main/java/com/stripe/param/CustomerPaymentSourceUpdateParams.java index 40a075540cf..cfb835b3cf1 100644 --- a/src/main/java/com/stripe/param/CustomerPaymentSourceUpdateParams.java +++ b/src/main/java/com/stripe/param/CustomerPaymentSourceUpdateParams.java @@ -563,11 +563,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -685,25 +685,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/CustomerUpdateParams.java b/src/main/java/com/stripe/param/CustomerUpdateParams.java index ad19ad87e2a..c7bc87791f2 100644 --- a/src/main/java/com/stripe/param/CustomerUpdateParams.java +++ b/src/main/java/com/stripe/param/CustomerUpdateParams.java @@ -27,6 +27,10 @@ public class CustomerUpdateParams extends ApiRequestParams { @SerializedName("balance") Long balance; + /** The customer's business name. This may be up to 150 characters. */ + @SerializedName("business_name") + Object businessName; + /** Balance information and default balance settings for this customer. */ @SerializedName("cash_balance") CashBalance cashBalance; @@ -72,6 +76,10 @@ public class CustomerUpdateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** The customer's full name. This may be up to 150 characters. */ + @SerializedName("individual_name") + Object individualName; + /** * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase * letters or numbers. @@ -129,12 +137,14 @@ public class CustomerUpdateParams extends ApiRequestParams { private CustomerUpdateParams( Object address, Long balance, + Object businessName, CashBalance cashBalance, Object defaultSource, Object description, Object email, List expand, Map extraParams, + Object individualName, Object invoicePrefix, InvoiceSettings invoiceSettings, Object metadata, @@ -149,12 +159,14 @@ private CustomerUpdateParams( Boolean validate) { this.address = address; this.balance = balance; + this.businessName = businessName; this.cashBalance = cashBalance; this.defaultSource = defaultSource; this.description = description; this.email = email; this.expand = expand; this.extraParams = extraParams; + this.individualName = individualName; this.invoicePrefix = invoicePrefix; this.invoiceSettings = invoiceSettings; this.metadata = metadata; @@ -178,6 +190,8 @@ public static class Builder { private Long balance; + private Object businessName; + private CashBalance cashBalance; private Object defaultSource; @@ -190,6 +204,8 @@ public static class Builder { private Map extraParams; + private Object individualName; + private Object invoicePrefix; private InvoiceSettings invoiceSettings; @@ -219,12 +235,14 @@ public CustomerUpdateParams build() { return new CustomerUpdateParams( this.address, this.balance, + this.businessName, this.cashBalance, this.defaultSource, this.description, this.email, this.expand, this.extraParams, + this.individualName, this.invoicePrefix, this.invoiceSettings, this.metadata, @@ -262,6 +280,18 @@ public Builder setBalance(Long balance) { return this; } + /** The customer's business name. This may be up to 150 characters. */ + public Builder setBusinessName(String businessName) { + this.businessName = businessName; + return this; + } + + /** The customer's business name. This may be up to 150 characters. */ + public Builder setBusinessName(EmptyParam businessName) { + this.businessName = businessName; + return this; + } + /** Balance information and default balance settings for this customer. */ public Builder setCashBalance(CustomerUpdateParams.CashBalance cashBalance) { this.cashBalance = cashBalance; @@ -390,6 +420,18 @@ public Builder putAllExtraParam(Map map) { return this; } + /** The customer's full name. This may be up to 150 characters. */ + public Builder setIndividualName(String individualName) { + this.individualName = individualName; + return this; + } + + /** The customer's full name. This may be up to 150 characters. */ + public Builder setIndividualName(EmptyParam individualName) { + this.individualName = individualName; + return this; + } + /** * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase * letters or numbers. @@ -590,11 +632,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -712,25 +754,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -1506,11 +1548,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1630,25 +1672,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/DisputeUpdateParams.java b/src/main/java/com/stripe/param/DisputeUpdateParams.java index 1cd05ee3485..929ea6f494e 100644 --- a/src/main/java/com/stripe/param/DisputeUpdateParams.java +++ b/src/main/java/com/stripe/param/DisputeUpdateParams.java @@ -35,6 +35,10 @@ public class DisputeUpdateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Intended submission method for the dispute. */ + @SerializedName("intended_submission_method") + IntendedSubmissionMethod intendedSubmissionMethod; + /** * 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 @@ -56,11 +60,13 @@ private DisputeUpdateParams( Evidence evidence, List expand, Map extraParams, + IntendedSubmissionMethod intendedSubmissionMethod, Object metadata, Boolean submit) { this.evidence = evidence; this.expand = expand; this.extraParams = extraParams; + this.intendedSubmissionMethod = intendedSubmissionMethod; this.metadata = metadata; this.submit = submit; } @@ -76,6 +82,8 @@ public static class Builder { private Map extraParams; + private IntendedSubmissionMethod intendedSubmissionMethod; + private Object metadata; private Boolean submit; @@ -83,7 +91,12 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public DisputeUpdateParams build() { return new DisputeUpdateParams( - this.evidence, this.expand, this.extraParams, this.metadata, this.submit); + this.evidence, + this.expand, + this.extraParams, + this.intendedSubmissionMethod, + this.metadata, + this.submit); } /** @@ -148,6 +161,13 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Intended submission method for the dispute. */ + public Builder setIntendedSubmissionMethod( + DisputeUpdateParams.IntendedSubmissionMethod intendedSubmissionMethod) { + this.intendedSubmissionMethod = intendedSubmissionMethod; + 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 @@ -1581,11 +1601,11 @@ public static class ShippingAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1708,25 +1728,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -2067,11 +2087,11 @@ public static class ShippingAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -2194,25 +2214,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -2334,4 +2354,25 @@ public Builder setFeeAcknowledged(Boolean feeAcknowledged) { } } } + + public enum IntendedSubmissionMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"), + + @SerializedName("prefer_manual") + PREFER_MANUAL("prefer_manual"), + + @SerializedName("prefer_smart_disputes") + PREFER_SMART_DISPUTES("prefer_smart_disputes"), + + @SerializedName("smart_disputes") + SMART_DISPUTES("smart_disputes"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + IntendedSubmissionMethod(String value) { + this.value = value; + } + } } diff --git a/src/main/java/com/stripe/param/InvoiceAddLinesParams.java b/src/main/java/com/stripe/param/InvoiceAddLinesParams.java index 65902188723..e69cadbcb43 100644 --- a/src/main/java/com/stripe/param/InvoiceAddLinesParams.java +++ b/src/main/java/com/stripe/param/InvoiceAddLinesParams.java @@ -1441,19 +1441,28 @@ public static class ProductData { @SerializedName("tax_code") String taxCode; + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + @SerializedName("unit_label") + String unitLabel; + private ProductData( String description, Map extraParams, List images, Map metadata, String name, - String taxCode) { + String taxCode, + String unitLabel) { this.description = description; this.extraParams = extraParams; this.images = images; this.metadata = metadata; this.name = name; this.taxCode = taxCode; + this.unitLabel = unitLabel; } public static Builder builder() { @@ -1473,6 +1482,8 @@ public static class Builder { private String taxCode; + private String unitLabel; + /** Finalize and obtain parameter instance from this builder. */ public InvoiceAddLinesParams.Line.PriceData.ProductData build() { return new InvoiceAddLinesParams.Line.PriceData.ProductData( @@ -1481,7 +1492,8 @@ public InvoiceAddLinesParams.Line.PriceData.ProductData build() { this.images, this.metadata, this.name, - this.taxCode); + this.taxCode, + this.unitLabel); } /** @@ -1589,6 +1601,15 @@ public Builder setTaxCode(String taxCode) { this.taxCode = taxCode; return this; } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(String unitLabel) { + this.unitLabel = unitLabel; + return this; + } } } diff --git a/src/main/java/com/stripe/param/InvoiceCreateParams.java b/src/main/java/com/stripe/param/InvoiceCreateParams.java index c596878c5dd..c7db5b18f95 100644 --- a/src/main/java/com/stripe/param/InvoiceCreateParams.java +++ b/src/main/java/com/stripe/param/InvoiceCreateParams.java @@ -2023,7 +2023,6 @@ public static class PaymentSettings { * invoice’s default payment method, the subscription’s default payment method, the customer’s * default payment method, and your invoice template settings. - * Should not be specified with payment_method_configuration */ @SerializedName("payment_method_types") Object paymentMethodTypes; @@ -2154,7 +2153,6 @@ public Builder addAllPaymentMethodType( * invoice’s default payment method, the subscription’s default payment method, the customer’s * default payment method, and your invoice template settings. - * Should not be specified with payment_method_configuration */ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) { this.paymentMethodTypes = paymentMethodTypes; @@ -2167,7 +2165,6 @@ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) { * invoice’s default payment method, the subscription’s default payment method, the customer’s * default payment method, and your invoice template settings. - * Should not be specified with payment_method_configuration */ public Builder setPaymentMethodTypes( List paymentMethodTypes) { @@ -2230,6 +2227,13 @@ public static class PaymentMethodOptions { @SerializedName("konbini") Object konbini; + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + @SerializedName("pix") + Object pix; + /** * If paying by {@code sepa_debit}, this sub-hash contains details about the SEPA Direct Debit * payment method options to pass to the invoice’s PaymentIntent. @@ -2259,6 +2263,7 @@ private PaymentMethodOptions( Map extraParams, Object idBankTransfer, Object konbini, + Object pix, Object sepaDebit, Object upi, Object usBankAccount) { @@ -2269,6 +2274,7 @@ private PaymentMethodOptions( this.extraParams = extraParams; this.idBankTransfer = idBankTransfer; this.konbini = konbini; + this.pix = pix; this.sepaDebit = sepaDebit; this.upi = upi; this.usBankAccount = usBankAccount; @@ -2293,6 +2299,8 @@ public static class Builder { private Object konbini; + private Object pix; + private Object sepaDebit; private Object upi; @@ -2309,6 +2317,7 @@ public InvoiceCreateParams.PaymentSettings.PaymentMethodOptions build() { this.extraParams, this.idBankTransfer, this.konbini, + this.pix, this.sepaDebit, this.upi, this.usBankAccount); @@ -2457,6 +2466,24 @@ public Builder setKonbini(EmptyParam konbini) { return this; } + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + public Builder setPix(InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Pix pix) { + this.pix = pix; + return this; + } + + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + public Builder setPix(EmptyParam pix) { + this.pix = pix; + return this; + } + /** * If paying by {@code sepa_debit}, this sub-hash contains details about the SEPA Direct * Debit payment method options to pass to the invoice’s PaymentIntent. @@ -3643,6 +3670,98 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Pix { + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + @SerializedName("amount_includes_iof") + AmountIncludesIof amountIncludesIof; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Pix(AmountIncludesIof amountIncludesIof, Map extraParams) { + this.amountIncludesIof = amountIncludesIof; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AmountIncludesIof amountIncludesIof; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Pix build() { + return new InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Pix( + this.amountIncludesIof, this.extraParams); + } + + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + public Builder setAmountIncludesIof( + InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Pix.AmountIncludesIof + amountIncludesIof) { + this.amountIncludesIof = amountIncludesIof; + 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 + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum AmountIncludesIof implements ApiRequestParams.EnumParam { + @SerializedName("always") + ALWAYS("always"), + + @SerializedName("never") + NEVER("never"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountIncludesIof(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SepaDebit { @@ -4550,6 +4669,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("pix") + PIX("pix"), + @SerializedName("promptpay") PROMPTPAY("promptpay"), @@ -5918,11 +6040,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -6025,13 +6147,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java index d873cb3c3f8..24de121e13d 100644 --- a/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java +++ b/src/main/java/com/stripe/param/InvoiceCreatePreviewParams.java @@ -867,11 +867,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -974,13 +974,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1124,11 +1124,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1234,13 +1234,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -7849,15 +7849,20 @@ public static class BillingMode { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ @SerializedName("type") Type type; - private BillingMode(Map extraParams, Type type) { + private BillingMode(Map extraParams, Flexible flexible, Type type) { this.extraParams = extraParams; + this.flexible = flexible; this.type = type; } @@ -7868,12 +7873,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Flexible flexible; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public InvoiceCreatePreviewParams.ScheduleDetails.BillingMode build() { return new InvoiceCreatePreviewParams.ScheduleDetails.BillingMode( - this.extraParams, this.type); + this.extraParams, this.flexible, this.type); } /** @@ -7904,9 +7911,16 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible( + InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ public Builder setType(InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Type type) { this.type = type; @@ -7914,6 +7928,102 @@ public Builder setType(InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Ty } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Flexible build() { + return new InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Flexible#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Flexible#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + public Builder setProrationDiscounts( + InvoiceCreatePreviewParams.ScheduleDetails.BillingMode.Flexible.ProrationDiscounts + prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("classic") CLASSIC("classic"), @@ -8057,16 +8167,6 @@ public static class Phase { @SerializedName("items") List items; - /** - * Integer representing the multiplier applied to the price interval. For example, {@code - * iterations=2} applied to a price with {@code interval=month} and {@code interval_count=3} - * results in a phase of duration {@code 2 * 3 months = 6 months}. If set, {@code end_date} - * must not be set. This parameter is deprecated and will be removed in a future version. Use - * {@code duration} instead. - */ - @SerializedName("iterations") - Long iterations; - /** * Set of key-value pairs that you can * attach to a phase. Metadata on a schedule's phase will update the underlying subscription's @@ -8160,7 +8260,6 @@ private Phase( Map extraParams, InvoiceSettings invoiceSettings, List items, - Long iterations, Map metadata, String onBehalfOf, PauseCollection pauseCollection, @@ -8187,7 +8286,6 @@ private Phase( this.extraParams = extraParams; this.invoiceSettings = invoiceSettings; this.items = items; - this.iterations = iterations; this.metadata = metadata; this.onBehalfOf = onBehalfOf; this.pauseCollection = pauseCollection; @@ -8238,8 +8336,6 @@ public static class Builder { private List items; - private Long iterations; - private Map metadata; private String onBehalfOf; @@ -8279,7 +8375,6 @@ public InvoiceCreatePreviewParams.ScheduleDetails.Phase build() { this.extraParams, this.invoiceSettings, this.items, - this.iterations, this.metadata, this.onBehalfOf, this.pauseCollection, @@ -8628,18 +8723,6 @@ public Builder addAllItem( return this; } - /** - * Integer representing the multiplier applied to the price interval. For example, {@code - * iterations=2} applied to a price with {@code interval=month} and {@code interval_count=3} - * results in a phase of duration {@code 2 * 3 months = 6 months}. If set, {@code end_date} - * must not be set. This parameter is deprecated and will be removed in a future version. - * Use {@code duration} instead. - */ - public Builder setIterations(Long iterations) { - this.iterations = iterations; - 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 @@ -8802,8 +8885,9 @@ public static class AddInvoiceItem { Map metadata; /** - * The period associated with this invoice item. Defaults to the period of the underlying - * subscription that surrounds the start of the phase. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ @SerializedName("period") Period period; @@ -8976,8 +9060,9 @@ public Builder putAllMetadata(Map map) { } /** - * The period associated with this invoice item. Defaults to the period of the underlying - * subscription that surrounds the start of the phase. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to + * {@code min_item_period_end}. */ public Builder setPeriod( InvoiceCreatePreviewParams.ScheduleDetails.Phase.AddInvoiceItem.Period period) { @@ -13346,6 +13431,10 @@ public static class SubscriptionDetails { @SerializedName("billing_mode") BillingMode billingMode; + /** Sets the billing schedules for the subscription. */ + @SerializedName("billing_schedules") + Object billingSchedules; + /** * A timestamp at which the subscription should cancel. If set to a date before the current * period ends, this will cause a proration if prorations have been enabled using {@code @@ -13435,6 +13524,7 @@ public static class SubscriptionDetails { private SubscriptionDetails( Object billingCycleAnchor, BillingMode billingMode, + Object billingSchedules, Object cancelAt, Boolean cancelAtPeriodEnd, Boolean cancelNow, @@ -13449,6 +13539,7 @@ private SubscriptionDetails( Object trialEnd) { this.billingCycleAnchor = billingCycleAnchor; this.billingMode = billingMode; + this.billingSchedules = billingSchedules; this.cancelAt = cancelAt; this.cancelAtPeriodEnd = cancelAtPeriodEnd; this.cancelNow = cancelNow; @@ -13472,6 +13563,8 @@ public static class Builder { private BillingMode billingMode; + private Object billingSchedules; + private Object cancelAt; private Boolean cancelAtPeriodEnd; @@ -13501,6 +13594,7 @@ public InvoiceCreatePreviewParams.SubscriptionDetails build() { return new InvoiceCreatePreviewParams.SubscriptionDetails( this.billingCycleAnchor, this.billingMode, + this.billingSchedules, this.cancelAt, this.cancelAtPeriodEnd, this.cancelNow, @@ -13547,6 +13641,57 @@ public Builder setBillingMode( return this; } + /** + * Add an element to `billingSchedules` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails#billingSchedules} for the field + * documentation. + */ + @SuppressWarnings("unchecked") + public Builder addBillingSchedule( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule element) { + if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) { + this.billingSchedules = + new ArrayList(); + } + ((List) + this.billingSchedules) + .add(element); + return this; + } + + /** + * Add all elements to `billingSchedules` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link InvoiceCreatePreviewParams.SubscriptionDetails#billingSchedules} for the field + * documentation. + */ + @SuppressWarnings("unchecked") + public Builder addAllBillingSchedule( + List elements) { + if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) { + this.billingSchedules = + new ArrayList(); + } + ((List) + this.billingSchedules) + .addAll(elements); + return this; + } + + /** Sets the billing schedules for the subscription. */ + public Builder setBillingSchedules(EmptyParam billingSchedules) { + this.billingSchedules = billingSchedules; + return this; + } + + /** Sets the billing schedules for the subscription. */ + public Builder setBillingSchedules( + List billingSchedules) { + this.billingSchedules = billingSchedules; + return this; + } + /** * A timestamp at which the subscription should cancel. If set to a date before the current * period ends, this will cause a proration if prorations have been enabled using {@code @@ -13781,15 +13926,20 @@ public static class BillingMode { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ @SerializedName("type") Type type; - private BillingMode(Map extraParams, Type type) { + private BillingMode(Map extraParams, Flexible flexible, Type type) { this.extraParams = extraParams; + this.flexible = flexible; this.type = type; } @@ -13800,12 +13950,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Flexible flexible; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode build() { return new InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode( - this.extraParams, this.type); + this.extraParams, this.flexible, this.type); } /** @@ -13836,9 +13988,16 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ public Builder setType( InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode.Type type) { @@ -13847,6 +14006,102 @@ public Builder setType( } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode.Flexible build() { + return new InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode.Flexible#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode.Flexible#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + public Builder setProrationDiscounts( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingMode.Flexible.ProrationDiscounts + prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("classic") CLASSIC("classic"), @@ -13863,6 +14118,495 @@ public enum Type implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillingSchedule { + /** Configure billing schedule differently for individual subscription items. */ + @SerializedName("applies_to") + List appliesTo; + + /** The end date for the billing schedule. */ + @SerializedName("bill_until") + BillUntil billUntil; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up + * to 200 characters. If not provided, a unique key will be generated. + */ + @SerializedName("key") + String key; + + private BillingSchedule( + List appliesTo, + BillUntil billUntil, + Map extraParams, + String key) { + this.appliesTo = appliesTo; + this.billUntil = billUntil; + this.extraParams = extraParams; + this.key = key; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List + appliesTo; + + private BillUntil billUntil; + + private Map extraParams; + + private String key; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule build() { + return new InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule( + this.appliesTo, this.billUntil, this.extraParams, this.key); + } + + /** + * Add an element to `appliesTo` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule#appliesTo} for the field + * documentation. + */ + public Builder addAppliesTo( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.AppliesTo element) { + if (this.appliesTo == null) { + this.appliesTo = new ArrayList<>(); + } + this.appliesTo.add(element); + return this; + } + + /** + * Add all elements to `appliesTo` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule#appliesTo} for the field + * documentation. + */ + public Builder addAllAppliesTo( + List + elements) { + if (this.appliesTo == null) { + this.appliesTo = new ArrayList<>(); + } + this.appliesTo.addAll(elements); + return this; + } + + /** The end date for the billing schedule. */ + public Builder setBillUntil( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil billUntil) { + this.billUntil = billUntil; + 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 + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and + * up to 200 characters. If not provided, a unique key will be generated. + */ + public Builder setKey(String key) { + this.key = key; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AppliesTo { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 ID of the price object. */ + @SerializedName("price") + String price; + + /** + * Required. Controls which subscription items the billing schedule applies + * to. + */ + @SerializedName("type") + Type type; + + private AppliesTo(Map extraParams, String price, Type type) { + this.extraParams = extraParams; + this.price = price; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String price; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.AppliesTo build() { + return new InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.AppliesTo( + this.extraParams, this.price, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.AppliesTo#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.AppliesTo#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 ID of the price object. */ + public Builder setPrice(String price) { + this.price = price; + return this; + } + + /** + * Required. Controls which subscription items the billing schedule + * applies to. + */ + public Builder setType( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.AppliesTo.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("price") + PRICE("price"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillUntil { + /** Specifies the billing period. */ + @SerializedName("duration") + Duration duration; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 end date of the billing schedule. */ + @SerializedName("timestamp") + Long timestamp; + + /** + * Required. Describes how the billing schedule will determine the end + * date. Either {@code duration} or {@code timestamp}. + */ + @SerializedName("type") + Type type; + + private BillUntil( + Duration duration, Map extraParams, Long timestamp, Type type) { + this.duration = duration; + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Duration duration; + + private Map extraParams; + + private Long timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil build() { + return new InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil( + this.duration, this.extraParams, this.timestamp, this.type); + } + + /** Specifies the billing period. */ + public Builder setDuration( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil.Duration + duration) { + this.duration = duration; + 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 + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil#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 end date of the billing schedule. */ + public Builder setTimestamp(Long timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Required. Describes how the billing schedule will determine the end + * date. Either {@code duration} or {@code timestamp}. + */ + public Builder setType( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil.Type type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Duration { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. Specifies billing duration. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + @SerializedName("interval") + Interval interval; + + /** The multiplier applied to the interval. */ + @SerializedName("interval_count") + Long intervalCount; + + private Duration(Map extraParams, Interval interval, Long intervalCount) { + this.extraParams = extraParams; + this.interval = interval; + this.intervalCount = intervalCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Interval interval; + + private Long intervalCount; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil.Duration + build() { + return new InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil + .Duration(this.extraParams, this.interval, this.intervalCount); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil.Duration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil.Duration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. Specifies billing duration. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + public Builder setInterval( + InvoiceCreatePreviewParams.SubscriptionDetails.BillingSchedule.BillUntil.Duration + .Interval + interval) { + this.interval = interval; + return this; + } + + /** The multiplier applied to the interval. */ + public Builder setIntervalCount(Long intervalCount) { + this.intervalCount = intervalCount; + return this; + } + } + + public enum Interval implements ApiRequestParams.EnumParam { + @SerializedName("day") + DAY("day"), + + @SerializedName("month") + MONTH("month"), + + @SerializedName("week") + WEEK("week"), + + @SerializedName("year") + YEAR("year"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Interval(String value) { + this.value = value; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("duration") + DURATION("duration"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Item { diff --git a/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java b/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java index 95d88391ad5..1d748e81049 100644 --- a/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java +++ b/src/main/java/com/stripe/param/InvoiceLineItemUpdateParams.java @@ -1322,19 +1322,28 @@ public static class ProductData { @SerializedName("tax_code") Object taxCode; + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + @SerializedName("unit_label") + Object unitLabel; + private ProductData( Object description, Map extraParams, List images, Map metadata, Object name, - Object taxCode) { + Object taxCode, + Object unitLabel) { this.description = description; this.extraParams = extraParams; this.images = images; this.metadata = metadata; this.name = name; this.taxCode = taxCode; + this.unitLabel = unitLabel; } public static Builder builder() { @@ -1354,6 +1363,8 @@ public static class Builder { private Object taxCode; + private Object unitLabel; + /** Finalize and obtain parameter instance from this builder. */ public InvoiceLineItemUpdateParams.PriceData.ProductData build() { return new InvoiceLineItemUpdateParams.PriceData.ProductData( @@ -1362,7 +1373,8 @@ public InvoiceLineItemUpdateParams.PriceData.ProductData build() { this.images, this.metadata, this.name, - this.taxCode); + this.taxCode, + this.unitLabel); } /** @@ -1493,6 +1505,24 @@ public Builder setTaxCode(EmptyParam taxCode) { this.taxCode = taxCode; return this; } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(String unitLabel) { + this.unitLabel = unitLabel; + return this; + } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(EmptyParam unitLabel) { + this.unitLabel = unitLabel; + return this; + } } } diff --git a/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java b/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java index ffc4897e799..f109dff513f 100644 --- a/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java +++ b/src/main/java/com/stripe/param/InvoiceUpdateLinesParams.java @@ -1466,19 +1466,28 @@ public static class ProductData { @SerializedName("tax_code") String taxCode; + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + @SerializedName("unit_label") + String unitLabel; + private ProductData( String description, Map extraParams, List images, Map metadata, String name, - String taxCode) { + String taxCode, + String unitLabel) { this.description = description; this.extraParams = extraParams; this.images = images; this.metadata = metadata; this.name = name; this.taxCode = taxCode; + this.unitLabel = unitLabel; } public static Builder builder() { @@ -1498,6 +1507,8 @@ public static class Builder { private String taxCode; + private String unitLabel; + /** Finalize and obtain parameter instance from this builder. */ public InvoiceUpdateLinesParams.Line.PriceData.ProductData build() { return new InvoiceUpdateLinesParams.Line.PriceData.ProductData( @@ -1506,7 +1517,8 @@ public InvoiceUpdateLinesParams.Line.PriceData.ProductData build() { this.images, this.metadata, this.name, - this.taxCode); + this.taxCode, + this.unitLabel); } /** @@ -1616,6 +1628,15 @@ public Builder setTaxCode(String taxCode) { this.taxCode = taxCode; return this; } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(String unitLabel) { + this.unitLabel = unitLabel; + return this; + } } } diff --git a/src/main/java/com/stripe/param/InvoiceUpdateParams.java b/src/main/java/com/stripe/param/InvoiceUpdateParams.java index 576c6c20c3f..a3e39d75d0a 100644 --- a/src/main/java/com/stripe/param/InvoiceUpdateParams.java +++ b/src/main/java/com/stripe/param/InvoiceUpdateParams.java @@ -2017,7 +2017,6 @@ public static class PaymentSettings { * invoice’s default payment method, the subscription’s default payment method, the customer’s * default payment method, and your invoice template settings. - * Should not be specified with payment_method_configuration */ @SerializedName("payment_method_types") Object paymentMethodTypes; @@ -2148,7 +2147,6 @@ public Builder addAllPaymentMethodType( * invoice’s default payment method, the subscription’s default payment method, the customer’s * default payment method, and your invoice template settings. - * Should not be specified with payment_method_configuration */ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) { this.paymentMethodTypes = paymentMethodTypes; @@ -2161,7 +2159,6 @@ public Builder setPaymentMethodTypes(EmptyParam paymentMethodTypes) { * invoice’s default payment method, the subscription’s default payment method, the customer’s * default payment method, and your invoice template settings. - * Should not be specified with payment_method_configuration */ public Builder setPaymentMethodTypes( List paymentMethodTypes) { @@ -2224,6 +2221,13 @@ public static class PaymentMethodOptions { @SerializedName("konbini") Object konbini; + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + @SerializedName("pix") + Object pix; + /** * If paying by {@code sepa_debit}, this sub-hash contains details about the SEPA Direct Debit * payment method options to pass to the invoice’s PaymentIntent. @@ -2253,6 +2257,7 @@ private PaymentMethodOptions( Map extraParams, Object idBankTransfer, Object konbini, + Object pix, Object sepaDebit, Object upi, Object usBankAccount) { @@ -2263,6 +2268,7 @@ private PaymentMethodOptions( this.extraParams = extraParams; this.idBankTransfer = idBankTransfer; this.konbini = konbini; + this.pix = pix; this.sepaDebit = sepaDebit; this.upi = upi; this.usBankAccount = usBankAccount; @@ -2287,6 +2293,8 @@ public static class Builder { private Object konbini; + private Object pix; + private Object sepaDebit; private Object upi; @@ -2303,6 +2311,7 @@ public InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions build() { this.extraParams, this.idBankTransfer, this.konbini, + this.pix, this.sepaDebit, this.upi, this.usBankAccount); @@ -2451,6 +2460,24 @@ public Builder setKonbini(EmptyParam konbini) { return this; } + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + public Builder setPix(InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Pix pix) { + this.pix = pix; + return this; + } + + /** + * If paying by {@code pix}, this sub-hash contains details about the Pix payment method + * options to pass to the invoice’s PaymentIntent. + */ + public Builder setPix(EmptyParam pix) { + this.pix = pix; + return this; + } + /** * If paying by {@code sepa_debit}, this sub-hash contains details about the SEPA Direct * Debit payment method options to pass to the invoice’s PaymentIntent. @@ -3666,6 +3693,98 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Pix { + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + @SerializedName("amount_includes_iof") + AmountIncludesIof amountIncludesIof; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Pix(AmountIncludesIof amountIncludesIof, Map extraParams) { + this.amountIncludesIof = amountIncludesIof; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AmountIncludesIof amountIncludesIof; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Pix build() { + return new InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Pix( + this.amountIncludesIof, this.extraParams); + } + + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + public Builder setAmountIncludesIof( + InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Pix.AmountIncludesIof + amountIncludesIof) { + this.amountIncludesIof = amountIncludesIof; + 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 + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * InvoiceUpdateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum AmountIncludesIof implements ApiRequestParams.EnumParam { + @SerializedName("always") + ALWAYS("always"), + + @SerializedName("never") + NEVER("never"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountIncludesIof(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SepaDebit { @@ -4588,6 +4707,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("pix") + PIX("pix"), + @SerializedName("promptpay") PROMPTPAY("promptpay"), @@ -6003,11 +6125,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -6125,25 +6247,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/OrderCreateParams.java b/src/main/java/com/stripe/param/OrderCreateParams.java index b1992b366be..74187534b6f 100644 --- a/src/main/java/com/stripe/param/OrderCreateParams.java +++ b/src/main/java/com/stripe/param/OrderCreateParams.java @@ -623,11 +623,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -637,7 +637,7 @@ public static class Address { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") String state; @@ -733,13 +733,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -753,7 +753,7 @@ public Builder setPostalCode(String postalCode) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(String state) { this.state = state; @@ -8699,11 +8699,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -8713,7 +8713,7 @@ public static class Address { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") String state; @@ -8809,13 +8809,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -8829,7 +8829,7 @@ public Builder setPostalCode(String postalCode) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(String state) { this.state = state; diff --git a/src/main/java/com/stripe/param/OrderUpdateParams.java b/src/main/java/com/stripe/param/OrderUpdateParams.java index 8c027218dd3..79813e0a58e 100644 --- a/src/main/java/com/stripe/param/OrderUpdateParams.java +++ b/src/main/java/com/stripe/param/OrderUpdateParams.java @@ -701,11 +701,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -715,7 +715,7 @@ public static class Address { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") Object state; @@ -826,25 +826,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -864,7 +864,7 @@ public Builder setPostalCode(EmptyParam postalCode) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(String state) { this.state = state; @@ -873,7 +873,7 @@ public Builder setState(String state) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(EmptyParam state) { this.state = state; @@ -9321,11 +9321,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -9335,7 +9335,7 @@ public static class Address { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") Object state; @@ -9446,25 +9446,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -9484,7 +9484,7 @@ public Builder setPostalCode(EmptyParam postalCode) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(String state) { this.state = state; @@ -9493,7 +9493,7 @@ public Builder setState(String state) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(EmptyParam state) { this.state = state; diff --git a/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java b/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java index fe6fd0af3d4..42477c19f00 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java @@ -380,7 +380,7 @@ public Builder setTransferData(PaymentIntentCaptureParams.TransferData transferD @Getter @EqualsAndHashCode(callSuper = false) public static class AmountDetails { - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ @SerializedName("discount_amount") Object discountAmount; @@ -442,13 +442,13 @@ public PaymentIntentCaptureParams.AmountDetails build() { this.discountAmount, this.extraParams, this.lineItems, this.shipping, this.tax); } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(Long discountAmount) { this.discountAmount = discountAmount; return this; } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(EmptyParam discountAmount) { this.discountAmount = discountAmount; return this; @@ -2971,11 +2971,11 @@ public static class PickupAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3080,13 +3080,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -3130,11 +3130,11 @@ public static class ReturnAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3239,13 +3239,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -3529,11 +3529,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3638,13 +3638,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -5246,11 +5246,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -5353,13 +5353,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java index aee1f368715..4e328804c8b 100644 --- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java @@ -51,6 +51,10 @@ public class PaymentIntentConfirmParams extends ApiRequestParams { @SerializedName("error_on_requires_action") Boolean errorOnRequiresAction; + /** The list of payment method types to exclude from use with this payment. */ + @SerializedName("excluded_payment_method_types") + Object excludedPaymentMethodTypes; + /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") List expand; @@ -195,6 +199,7 @@ private PaymentIntentConfirmParams( CaptureMethod captureMethod, String confirmationToken, Boolean errorOnRequiresAction, + Object excludedPaymentMethodTypes, List expand, Map extraParams, String fxQuote, @@ -218,6 +223,7 @@ private PaymentIntentConfirmParams( this.captureMethod = captureMethod; this.confirmationToken = confirmationToken; this.errorOnRequiresAction = errorOnRequiresAction; + this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; this.expand = expand; this.extraParams = extraParams; this.fxQuote = fxQuote; @@ -253,6 +259,8 @@ public static class Builder { private Boolean errorOnRequiresAction; + private Object excludedPaymentMethodTypes; + private List expand; private Map extraParams; @@ -297,6 +305,7 @@ public PaymentIntentConfirmParams build() { this.captureMethod, this.confirmationToken, this.errorOnRequiresAction, + this.excludedPaymentMethodTypes, this.expand, this.extraParams, this.fxQuote, @@ -383,6 +392,55 @@ public Builder setErrorOnRequiresAction(Boolean errorOnRequiresAction) { return this; } + /** + * Add an element to `excludedPaymentMethodTypes` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link PaymentIntentConfirmParams#excludedPaymentMethodTypes} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder addExcludedPaymentMethodType( + PaymentIntentConfirmParams.ExcludedPaymentMethodType element) { + if (this.excludedPaymentMethodTypes == null + || this.excludedPaymentMethodTypes instanceof EmptyParam) { + this.excludedPaymentMethodTypes = + new ArrayList(); + } + ((List) this.excludedPaymentMethodTypes) + .add(element); + return this; + } + + /** + * Add all elements to `excludedPaymentMethodTypes` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link PaymentIntentConfirmParams#excludedPaymentMethodTypes} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder addAllExcludedPaymentMethodType( + List elements) { + if (this.excludedPaymentMethodTypes == null + || this.excludedPaymentMethodTypes instanceof EmptyParam) { + this.excludedPaymentMethodTypes = + new ArrayList(); + } + ((List) this.excludedPaymentMethodTypes) + .addAll(elements); + return this; + } + + /** The list of payment method types to exclude from use with this payment. */ + public Builder setExcludedPaymentMethodTypes(EmptyParam excludedPaymentMethodTypes) { + this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; + return this; + } + + /** The list of payment method types to exclude from use with this payment. */ + public Builder setExcludedPaymentMethodTypes( + List excludedPaymentMethodTypes) { + this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; + 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 @@ -680,7 +738,7 @@ public Builder setUseStripeSdk(Boolean useStripeSdk) { @Getter @EqualsAndHashCode(callSuper = false) public static class AmountDetails { - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ @SerializedName("discount_amount") Object discountAmount; @@ -742,13 +800,13 @@ public PaymentIntentConfirmParams.AmountDetails build() { this.discountAmount, this.extraParams, this.lineItems, this.shipping, this.tax); } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(Long discountAmount) { this.discountAmount = discountAmount; return this; } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(EmptyParam discountAmount) { this.discountAmount = discountAmount; return this; @@ -3644,11 +3702,11 @@ public static class PickupAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3753,13 +3811,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -3803,11 +3861,11 @@ public static class ReturnAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3912,13 +3970,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -4202,11 +4260,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -4311,13 +4369,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -5919,11 +5977,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -6026,13 +6084,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -7127,6 +7185,13 @@ public static class PaymentMethodData { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -7301,6 +7366,7 @@ private PaymentMethodData( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -7363,6 +7429,7 @@ private PaymentMethodData( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -7475,6 +7542,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -7559,6 +7628,7 @@ public PaymentIntentConfirmParams.PaymentMethodData build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -8019,6 +8089,15 @@ public Builder setPaypal(PaymentIntentConfirmParams.PaymentMethodData.Paypal pay return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(PaymentIntentConfirmParams.PaymentMethodData.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo * payment method. @@ -9063,11 +9142,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -9172,13 +9251,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -11589,6 +11668,64 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodData.Paypay build() { + return new PaymentIntentConfirmParams.PaymentMethodData.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -13169,6 +13306,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), @@ -13525,6 +13665,13 @@ public static class PaymentMethodOptions { @SerializedName("paypal") Object paypal; + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + @SerializedName("paypay") + Object paypay; + /** * If this is a {@code payto} PaymentMethod, this sub-hash contains details about the PayTo * payment method options. @@ -13687,6 +13834,7 @@ private PaymentMethodOptions( Object payco, Object paynow, Object paypal, + Object paypay, Object payto, Object pix, Object promptpay, @@ -13746,6 +13894,7 @@ private PaymentMethodOptions( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -13854,6 +14003,8 @@ public static class Builder { private Object paypal; + private Object paypay; + private Object payto; private Object pix; @@ -13933,6 +14084,7 @@ public PaymentIntentConfirmParams.PaymentMethodOptions build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -14727,6 +14879,24 @@ public Builder setPaypal(EmptyParam paypal) { return this; } + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + public Builder setPaypay(PaymentIntentConfirmParams.PaymentMethodOptions.Paypay paypay) { + this.paypay = paypay; + return this; + } + + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + public Builder setPaypay(EmptyParam paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this sub-hash contains details about the PayTo * payment method options. @@ -18932,11 +19102,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -19043,13 +19213,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -26004,6 +26174,124 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentMethodOptions.Paypay build() { + return new PaymentIntentConfirmParams.PaymentMethodOptions.Paypay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentConfirmParams.PaymentMethodOptions.Paypay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + 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 PaymentIntentConfirmParams.PaymentMethodOptions.Paypay#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentMethodOptions.Paypay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -30460,11 +30748,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -30567,13 +30855,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -30612,6 +30900,183 @@ public enum CaptureMethod implements ApiRequestParams.EnumParam { } } + public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { + @SerializedName("acss_debit") + ACSS_DEBIT("acss_debit"), + + @SerializedName("affirm") + AFFIRM("affirm"), + + @SerializedName("afterpay_clearpay") + AFTERPAY_CLEARPAY("afterpay_clearpay"), + + @SerializedName("alipay") + ALIPAY("alipay"), + + @SerializedName("alma") + ALMA("alma"), + + @SerializedName("amazon_pay") + AMAZON_PAY("amazon_pay"), + + @SerializedName("au_becs_debit") + AU_BECS_DEBIT("au_becs_debit"), + + @SerializedName("bacs_debit") + BACS_DEBIT("bacs_debit"), + + @SerializedName("bancontact") + BANCONTACT("bancontact"), + + @SerializedName("billie") + BILLIE("billie"), + + @SerializedName("blik") + BLIK("blik"), + + @SerializedName("boleto") + BOLETO("boleto"), + + @SerializedName("card") + CARD("card"), + + @SerializedName("cashapp") + CASHAPP("cashapp"), + + @SerializedName("crypto") + CRYPTO("crypto"), + + @SerializedName("customer_balance") + CUSTOMER_BALANCE("customer_balance"), + + @SerializedName("eps") + EPS("eps"), + + @SerializedName("fpx") + FPX("fpx"), + + @SerializedName("giropay") + GIROPAY("giropay"), + + @SerializedName("gopay") + GOPAY("gopay"), + + @SerializedName("grabpay") + GRABPAY("grabpay"), + + @SerializedName("id_bank_transfer") + ID_BANK_TRANSFER("id_bank_transfer"), + + @SerializedName("ideal") + IDEAL("ideal"), + + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + + @SerializedName("klarna") + KLARNA("klarna"), + + @SerializedName("konbini") + KONBINI("konbini"), + + @SerializedName("kr_card") + KR_CARD("kr_card"), + + @SerializedName("mb_way") + MB_WAY("mb_way"), + + @SerializedName("mobilepay") + MOBILEPAY("mobilepay"), + + @SerializedName("multibanco") + MULTIBANCO("multibanco"), + + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + + @SerializedName("nz_bank_account") + NZ_BANK_ACCOUNT("nz_bank_account"), + + @SerializedName("oxxo") + OXXO("oxxo"), + + @SerializedName("p24") + P24("p24"), + + @SerializedName("pay_by_bank") + PAY_BY_BANK("pay_by_bank"), + + @SerializedName("payco") + PAYCO("payco"), + + @SerializedName("paynow") + PAYNOW("paynow"), + + @SerializedName("paypal") + PAYPAL("paypal"), + + @SerializedName("paypay") + PAYPAY("paypay"), + + @SerializedName("payto") + PAYTO("payto"), + + @SerializedName("pix") + PIX("pix"), + + @SerializedName("promptpay") + PROMPTPAY("promptpay"), + + @SerializedName("qris") + QRIS("qris"), + + @SerializedName("rechnung") + RECHNUNG("rechnung"), + + @SerializedName("revolut_pay") + REVOLUT_PAY("revolut_pay"), + + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + + @SerializedName("satispay") + SATISPAY("satispay"), + + @SerializedName("sepa_debit") + SEPA_DEBIT("sepa_debit"), + + @SerializedName("shopeepay") + SHOPEEPAY("shopeepay"), + + @SerializedName("sofort") + SOFORT("sofort"), + + @SerializedName("stripe_balance") + STRIPE_BALANCE("stripe_balance"), + + @SerializedName("swish") + SWISH("swish"), + + @SerializedName("twint") + TWINT("twint"), + + @SerializedName("us_bank_account") + US_BANK_ACCOUNT("us_bank_account"), + + @SerializedName("wechat_pay") + WECHAT_PAY("wechat_pay"), + + @SerializedName("zip") + ZIP("zip"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ExcludedPaymentMethodType(String value) { + this.value = value; + } + } + public enum OffSession implements ApiRequestParams.EnumParam { @SerializedName("one_off") ONE_OFF("one_off"), diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java index 694d277a256..a5bc099012d 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java @@ -1123,7 +1123,7 @@ public Builder setUseStripeSdk(Boolean useStripeSdk) { @Getter @EqualsAndHashCode(callSuper = false) public static class AmountDetails { - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ @SerializedName("discount_amount") Object discountAmount; @@ -1185,13 +1185,13 @@ public PaymentIntentCreateParams.AmountDetails build() { this.discountAmount, this.extraParams, this.lineItems, this.shipping, this.tax); } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(Long discountAmount) { this.discountAmount = discountAmount; return this; } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(EmptyParam discountAmount) { this.discountAmount = discountAmount; return this; @@ -4217,11 +4217,11 @@ public static class PickupAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -4326,13 +4326,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -4376,11 +4376,11 @@ public static class ReturnAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -4485,13 +4485,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -4775,11 +4775,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -4884,13 +4884,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -6489,11 +6489,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -6596,13 +6596,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -7692,6 +7692,13 @@ public static class PaymentMethodData { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -7866,6 +7873,7 @@ private PaymentMethodData( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -7928,6 +7936,7 @@ private PaymentMethodData( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -8040,6 +8049,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -8124,6 +8135,7 @@ public PaymentIntentCreateParams.PaymentMethodData build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -8579,6 +8591,15 @@ public Builder setPaypal(PaymentIntentCreateParams.PaymentMethodData.Paypal payp return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(PaymentIntentCreateParams.PaymentMethodData.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo * payment method. @@ -9616,11 +9637,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -9725,13 +9746,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -12140,6 +12161,64 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodData.Paypay build() { + return new PaymentIntentCreateParams.PaymentMethodData.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -13720,6 +13799,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), @@ -14076,6 +14158,13 @@ public static class PaymentMethodOptions { @SerializedName("paypal") Object paypal; + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + @SerializedName("paypay") + Object paypay; + /** * If this is a {@code payto} PaymentMethod, this sub-hash contains details about the PayTo * payment method options. @@ -14238,6 +14327,7 @@ private PaymentMethodOptions( Object payco, Object paynow, Object paypal, + Object paypay, Object payto, Object pix, Object promptpay, @@ -14297,6 +14387,7 @@ private PaymentMethodOptions( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -14405,6 +14496,8 @@ public static class Builder { private Object paypal; + private Object paypay; + private Object payto; private Object pix; @@ -14484,6 +14577,7 @@ public PaymentIntentCreateParams.PaymentMethodOptions build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -15276,6 +15370,24 @@ public Builder setPaypal(EmptyParam paypal) { return this; } + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + public Builder setPaypay(PaymentIntentCreateParams.PaymentMethodOptions.Paypay paypay) { + this.paypay = paypay; + return this; + } + + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + public Builder setPaypay(EmptyParam paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this sub-hash contains details about the PayTo * payment method options. @@ -19474,11 +19586,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -19585,13 +19697,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -26538,6 +26650,124 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentMethodOptions.Paypay build() { + return new PaymentIntentCreateParams.PaymentMethodOptions.Paypay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentCreateParams.PaymentMethodOptions.Paypay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + 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 PaymentIntentCreateParams.PaymentMethodOptions.Paypay#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentMethodOptions.Paypay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -30985,11 +31215,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -31092,13 +31322,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -31376,6 +31606,9 @@ public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java b/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java index 8fd7e5d03e3..7b5b7a5886a 100644 --- a/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java @@ -324,7 +324,7 @@ public Builder setTransferData( @Getter @EqualsAndHashCode(callSuper = false) public static class AmountDetails { - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ @SerializedName("discount_amount") Object discountAmount; @@ -386,13 +386,13 @@ public PaymentIntentIncrementAuthorizationParams.AmountDetails build() { this.discountAmount, this.extraParams, this.lineItems, this.shipping, this.tax); } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(Long discountAmount) { this.discountAmount = discountAmount; return this; } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(EmptyParam discountAmount) { this.discountAmount = discountAmount; return this; diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java index e0aa8af7518..98d98ae635f 100644 --- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java @@ -89,6 +89,10 @@ public class PaymentIntentUpdateParams extends ApiRequestParams { @SerializedName("description") Object description; + /** The list of payment method types to exclude from use with this payment. */ + @SerializedName("excluded_payment_method_types") + Object excludedPaymentMethodTypes; + /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") List expand; @@ -248,6 +252,7 @@ private PaymentIntentUpdateParams( Object customer, Object customerAccount, Object description, + Object excludedPaymentMethodTypes, List expand, Map extraParams, Object fxQuote, @@ -275,6 +280,7 @@ private PaymentIntentUpdateParams( this.customer = customer; this.customerAccount = customerAccount; this.description = description; + this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; this.expand = expand; this.extraParams = extraParams; this.fxQuote = fxQuote; @@ -317,6 +323,8 @@ public static class Builder { private Object description; + private Object excludedPaymentMethodTypes; + private List expand; private Map extraParams; @@ -366,6 +374,7 @@ public PaymentIntentUpdateParams build() { this.customer, this.customerAccount, this.description, + this.excludedPaymentMethodTypes, this.expand, this.extraParams, this.fxQuote, @@ -551,6 +560,55 @@ public Builder setDescription(EmptyParam description) { return this; } + /** + * Add an element to `excludedPaymentMethodTypes` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link PaymentIntentUpdateParams#excludedPaymentMethodTypes} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder addExcludedPaymentMethodType( + PaymentIntentUpdateParams.ExcludedPaymentMethodType element) { + if (this.excludedPaymentMethodTypes == null + || this.excludedPaymentMethodTypes instanceof EmptyParam) { + this.excludedPaymentMethodTypes = + new ArrayList(); + } + ((List) this.excludedPaymentMethodTypes) + .add(element); + return this; + } + + /** + * Add all elements to `excludedPaymentMethodTypes` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link PaymentIntentUpdateParams#excludedPaymentMethodTypes} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder addAllExcludedPaymentMethodType( + List elements) { + if (this.excludedPaymentMethodTypes == null + || this.excludedPaymentMethodTypes instanceof EmptyParam) { + this.excludedPaymentMethodTypes = + new ArrayList(); + } + ((List) this.excludedPaymentMethodTypes) + .addAll(elements); + return this; + } + + /** The list of payment method types to exclude from use with this payment. */ + public Builder setExcludedPaymentMethodTypes(EmptyParam excludedPaymentMethodTypes) { + this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; + return this; + } + + /** The list of payment method types to exclude from use with this payment. */ + public Builder setExcludedPaymentMethodTypes( + List excludedPaymentMethodTypes) { + this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; + 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 @@ -947,7 +1005,7 @@ public Builder setTransferGroup(EmptyParam transferGroup) { @Getter @EqualsAndHashCode(callSuper = false) public static class AmountDetails { - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ @SerializedName("discount_amount") Object discountAmount; @@ -1009,13 +1067,13 @@ public PaymentIntentUpdateParams.AmountDetails build() { this.discountAmount, this.extraParams, this.lineItems, this.shipping, this.tax); } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(Long discountAmount) { this.discountAmount = discountAmount; return this; } - /** The amount an item was discounted for. */ + /** The total discount applied on the transaction. */ public Builder setDiscountAmount(EmptyParam discountAmount) { this.discountAmount = discountAmount; return this; @@ -3991,11 +4049,11 @@ public static class PickupAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -4115,25 +4173,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -4189,11 +4247,11 @@ public static class ReturnAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -4313,25 +4371,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -4645,11 +4703,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -4769,25 +4827,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -6547,11 +6605,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -6669,25 +6727,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -7837,6 +7895,13 @@ public static class PaymentMethodData { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -8011,6 +8076,7 @@ private PaymentMethodData( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -8073,6 +8139,7 @@ private PaymentMethodData( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -8185,6 +8252,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -8269,6 +8338,7 @@ public PaymentIntentUpdateParams.PaymentMethodData build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -8724,6 +8794,15 @@ public Builder setPaypal(PaymentIntentUpdateParams.PaymentMethodData.Paypal payp return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(PaymentIntentUpdateParams.PaymentMethodData.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo * payment method. @@ -9812,11 +9891,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -9936,25 +10015,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -12422,6 +12501,64 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodData.Paypay build() { + return new PaymentIntentUpdateParams.PaymentMethodData.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -14060,6 +14197,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), @@ -14416,6 +14556,13 @@ public static class PaymentMethodOptions { @SerializedName("paypal") Object paypal; + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + @SerializedName("paypay") + Object paypay; + /** * If this is a {@code payto} PaymentMethod, this sub-hash contains details about the PayTo * payment method options. @@ -14578,6 +14725,7 @@ private PaymentMethodOptions( Object payco, Object paynow, Object paypal, + Object paypay, Object payto, Object pix, Object promptpay, @@ -14637,6 +14785,7 @@ private PaymentMethodOptions( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -14745,6 +14894,8 @@ public static class Builder { private Object paypal; + private Object paypay; + private Object payto; private Object pix; @@ -14824,6 +14975,7 @@ public PaymentIntentUpdateParams.PaymentMethodOptions build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -15616,6 +15768,24 @@ public Builder setPaypal(EmptyParam paypal) { return this; } + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + public Builder setPaypay(PaymentIntentUpdateParams.PaymentMethodOptions.Paypay paypay) { + this.paypay = paypay; + return this; + } + + /** + * If this is a {@code paypay} PaymentMethod, this sub-hash contains details about the PayPay + * payment method options. + */ + public Builder setPaypay(EmptyParam paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this sub-hash contains details about the PayTo * payment method options. @@ -19911,11 +20081,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -20037,25 +20207,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -27156,6 +27326,124 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty value + * for this parameter unsets the stored value for this payment method type. + */ + @SerializedName("capture_method") + ApiRequestParams.EnumParam captureMethod; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(ApiRequestParams.EnumParam captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private ApiRequestParams.EnumParam captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentMethodOptions.Paypay build() { + return new PaymentIntentUpdateParams.PaymentMethodOptions.Paypay( + this.captureMethod, this.extraParams); + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod( + PaymentIntentUpdateParams.PaymentMethodOptions.Paypay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; + } + + /** + * Controls when the funds are captured from the customer's account. + * + *

If provided, this parameter overrides the behavior of the top-level capture_method + * for this payment method type when finalizing the payment with this payment method type. + * + *

If {@code capture_method} is already set on the PaymentIntent, providing an empty + * value for this parameter unsets the stored value for this payment method type. + */ + public Builder setCaptureMethod(EmptyParam captureMethod) { + this.captureMethod = captureMethod; + 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 PaymentIntentUpdateParams.PaymentMethodOptions.Paypay#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentMethodOptions.Paypay#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -31640,11 +31928,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -31762,25 +32050,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -31900,6 +32188,183 @@ public enum CaptureMethod implements ApiRequestParams.EnumParam { } } + public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { + @SerializedName("acss_debit") + ACSS_DEBIT("acss_debit"), + + @SerializedName("affirm") + AFFIRM("affirm"), + + @SerializedName("afterpay_clearpay") + AFTERPAY_CLEARPAY("afterpay_clearpay"), + + @SerializedName("alipay") + ALIPAY("alipay"), + + @SerializedName("alma") + ALMA("alma"), + + @SerializedName("amazon_pay") + AMAZON_PAY("amazon_pay"), + + @SerializedName("au_becs_debit") + AU_BECS_DEBIT("au_becs_debit"), + + @SerializedName("bacs_debit") + BACS_DEBIT("bacs_debit"), + + @SerializedName("bancontact") + BANCONTACT("bancontact"), + + @SerializedName("billie") + BILLIE("billie"), + + @SerializedName("blik") + BLIK("blik"), + + @SerializedName("boleto") + BOLETO("boleto"), + + @SerializedName("card") + CARD("card"), + + @SerializedName("cashapp") + CASHAPP("cashapp"), + + @SerializedName("crypto") + CRYPTO("crypto"), + + @SerializedName("customer_balance") + CUSTOMER_BALANCE("customer_balance"), + + @SerializedName("eps") + EPS("eps"), + + @SerializedName("fpx") + FPX("fpx"), + + @SerializedName("giropay") + GIROPAY("giropay"), + + @SerializedName("gopay") + GOPAY("gopay"), + + @SerializedName("grabpay") + GRABPAY("grabpay"), + + @SerializedName("id_bank_transfer") + ID_BANK_TRANSFER("id_bank_transfer"), + + @SerializedName("ideal") + IDEAL("ideal"), + + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + + @SerializedName("klarna") + KLARNA("klarna"), + + @SerializedName("konbini") + KONBINI("konbini"), + + @SerializedName("kr_card") + KR_CARD("kr_card"), + + @SerializedName("mb_way") + MB_WAY("mb_way"), + + @SerializedName("mobilepay") + MOBILEPAY("mobilepay"), + + @SerializedName("multibanco") + MULTIBANCO("multibanco"), + + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + + @SerializedName("nz_bank_account") + NZ_BANK_ACCOUNT("nz_bank_account"), + + @SerializedName("oxxo") + OXXO("oxxo"), + + @SerializedName("p24") + P24("p24"), + + @SerializedName("pay_by_bank") + PAY_BY_BANK("pay_by_bank"), + + @SerializedName("payco") + PAYCO("payco"), + + @SerializedName("paynow") + PAYNOW("paynow"), + + @SerializedName("paypal") + PAYPAL("paypal"), + + @SerializedName("paypay") + PAYPAY("paypay"), + + @SerializedName("payto") + PAYTO("payto"), + + @SerializedName("pix") + PIX("pix"), + + @SerializedName("promptpay") + PROMPTPAY("promptpay"), + + @SerializedName("qris") + QRIS("qris"), + + @SerializedName("rechnung") + RECHNUNG("rechnung"), + + @SerializedName("revolut_pay") + REVOLUT_PAY("revolut_pay"), + + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + + @SerializedName("satispay") + SATISPAY("satispay"), + + @SerializedName("sepa_debit") + SEPA_DEBIT("sepa_debit"), + + @SerializedName("shopeepay") + SHOPEEPAY("shopeepay"), + + @SerializedName("sofort") + SOFORT("sofort"), + + @SerializedName("stripe_balance") + STRIPE_BALANCE("stripe_balance"), + + @SerializedName("swish") + SWISH("swish"), + + @SerializedName("twint") + TWINT("twint"), + + @SerializedName("us_bank_account") + US_BANK_ACCOUNT("us_bank_account"), + + @SerializedName("wechat_pay") + WECHAT_PAY("wechat_pay"), + + @SerializedName("zip") + ZIP("zip"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ExcludedPaymentMethodType(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("off_session") OFF_SESSION("off_session"), diff --git a/src/main/java/com/stripe/param/PaymentLinkCreateParams.java b/src/main/java/com/stripe/param/PaymentLinkCreateParams.java index 46706322e48..5e4b9b3a407 100644 --- a/src/main/java/com/stripe/param/PaymentLinkCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentLinkCreateParams.java @@ -3922,19 +3922,28 @@ public static class ProductData { @SerializedName("tax_code") String taxCode; + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + @SerializedName("unit_label") + String unitLabel; + private ProductData( String description, Map extraParams, List images, Map metadata, String name, - String taxCode) { + String taxCode, + String unitLabel) { this.description = description; this.extraParams = extraParams; this.images = images; this.metadata = metadata; this.name = name; this.taxCode = taxCode; + this.unitLabel = unitLabel; } public static Builder builder() { @@ -3954,6 +3963,8 @@ public static class Builder { private String taxCode; + private String unitLabel; + /** Finalize and obtain parameter instance from this builder. */ public PaymentLinkCreateParams.LineItem.PriceData.ProductData build() { return new PaymentLinkCreateParams.LineItem.PriceData.ProductData( @@ -3962,7 +3973,8 @@ public PaymentLinkCreateParams.LineItem.PriceData.ProductData build() { this.images, this.metadata, this.name, - this.taxCode); + this.taxCode, + this.unitLabel); } /** @@ -4072,6 +4084,15 @@ public Builder setTaxCode(String taxCode) { this.taxCode = taxCode; return this; } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(String unitLabel) { + this.unitLabel = unitLabel; + return this; + } } } @@ -6748,6 +6769,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java b/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java index 19fe648506c..39b3df23c26 100644 --- a/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentLinkUpdateParams.java @@ -5508,6 +5508,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java index f2c6b35c6d5..f2cc29dee10 100644 --- a/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodConfigurationCreateParams.java @@ -200,6 +200,15 @@ public class PaymentMethodConfigurationCreateParams extends ApiRequestParams { @SerializedName("fpx") Fpx fpx; + /** + * Meal vouchers in France, or “titres-restaurant”, is a local benefits program commonly offered + * by employers for their employees to purchase prepared food and beverages on working days. Check + * this page for more + * details. + */ + @SerializedName("fr_meal_voucher_conecs") + FrMealVoucherConecs frMealVoucherConecs; + /** * giropay is a German payment method based on online banking, introduced in 2006. It allows * customers to complete transactions online using their online banking environment, with funds @@ -391,6 +400,10 @@ public class PaymentMethodConfigurationCreateParams extends ApiRequestParams { @SerializedName("paypal") Paypal paypal; + /** Customers can pay with PayPay online or using the PayPay app. */ + @SerializedName("paypay") + Paypay paypay; + /** * PayTo is a real-time payment method * that enables customers in Australia to pay by providing their bank account details. Customers @@ -547,6 +560,7 @@ private PaymentMethodConfigurationCreateParams( List expand, Map extraParams, Fpx fpx, + FrMealVoucherConecs frMealVoucherConecs, Giropay giropay, GooglePay googlePay, Gopay gopay, @@ -571,6 +585,7 @@ private PaymentMethodConfigurationCreateParams( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -608,6 +623,7 @@ private PaymentMethodConfigurationCreateParams( this.expand = expand; this.extraParams = extraParams; this.fpx = fpx; + this.frMealVoucherConecs = frMealVoucherConecs; this.giropay = giropay; this.googlePay = googlePay; this.gopay = gopay; @@ -632,6 +648,7 @@ private PaymentMethodConfigurationCreateParams( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -698,6 +715,8 @@ public static class Builder { private Fpx fpx; + private FrMealVoucherConecs frMealVoucherConecs; + private Giropay giropay; private GooglePay googlePay; @@ -746,6 +765,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -801,6 +822,7 @@ public PaymentMethodConfigurationCreateParams build() { this.expand, this.extraParams, this.fpx, + this.frMealVoucherConecs, this.giropay, this.googlePay, this.gopay, @@ -825,6 +847,7 @@ public PaymentMethodConfigurationCreateParams build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -1112,6 +1135,18 @@ public Builder setFpx(PaymentMethodConfigurationCreateParams.Fpx fpx) { return this; } + /** + * Meal vouchers in France, or “titres-restaurant”, is a local benefits program commonly offered + * by employers for their employees to purchase prepared food and beverages on working days. + * Check this page for + * more details. + */ + public Builder setFrMealVoucherConecs( + PaymentMethodConfigurationCreateParams.FrMealVoucherConecs frMealVoucherConecs) { + this.frMealVoucherConecs = frMealVoucherConecs; + return this; + } + /** * giropay is a German payment method based on online banking, introduced in 2006. It allows * customers to complete transactions online using their online banking environment, with funds @@ -1355,6 +1390,12 @@ public Builder setPaypal(PaymentMethodConfigurationCreateParams.Paypal paypal) { return this; } + /** Customers can pay with PayPay online or using the PayPay app. */ + public Builder setPaypay(PaymentMethodConfigurationCreateParams.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * PayTo is a real-time payment method * that enables customers in Australia to pay by providing their bank account details. Customers @@ -4838,6 +4879,176 @@ public enum Preference implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucherConecs { + /** Whether or not the payment method should be displayed. */ + @SerializedName("display_preference") + DisplayPreference displayPreference; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private FrMealVoucherConecs( + DisplayPreference displayPreference, Map extraParams) { + this.displayPreference = displayPreference; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private DisplayPreference displayPreference; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationCreateParams.FrMealVoucherConecs build() { + return new PaymentMethodConfigurationCreateParams.FrMealVoucherConecs( + this.displayPreference, this.extraParams); + } + + /** Whether or not the payment method should be displayed. */ + public Builder setDisplayPreference( + PaymentMethodConfigurationCreateParams.FrMealVoucherConecs.DisplayPreference + displayPreference) { + this.displayPreference = displayPreference; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentMethodConfigurationCreateParams.FrMealVoucherConecs#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentMethodConfigurationCreateParams.FrMealVoucherConecs#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DisplayPreference { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The account's preference for whether or not to display this payment method. */ + @SerializedName("preference") + Preference preference; + + private DisplayPreference(Map extraParams, Preference preference) { + this.extraParams = extraParams; + this.preference = preference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Preference preference; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationCreateParams.FrMealVoucherConecs.DisplayPreference + build() { + return new PaymentMethodConfigurationCreateParams.FrMealVoucherConecs.DisplayPreference( + this.extraParams, this.preference); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationCreateParams.FrMealVoucherConecs.DisplayPreference#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationCreateParams.FrMealVoucherConecs.DisplayPreference#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The account's preference for whether or not to display this payment method. */ + public Builder setPreference( + PaymentMethodConfigurationCreateParams.FrMealVoucherConecs.DisplayPreference.Preference + preference) { + this.preference = preference; + return this; + } + } + + public enum Preference implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off") + OFF("off"), + + @SerializedName("on") + ON("on"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Preference(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -8479,6 +8690,171 @@ public enum Preference implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** Whether or not the payment method should be displayed. */ + @SerializedName("display_preference") + DisplayPreference displayPreference; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Paypay(DisplayPreference displayPreference, Map extraParams) { + this.displayPreference = displayPreference; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private DisplayPreference displayPreference; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationCreateParams.Paypay build() { + return new PaymentMethodConfigurationCreateParams.Paypay( + this.displayPreference, this.extraParams); + } + + /** Whether or not the payment method should be displayed. */ + public Builder setDisplayPreference( + PaymentMethodConfigurationCreateParams.Paypay.DisplayPreference displayPreference) { + this.displayPreference = displayPreference; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentMethodConfigurationCreateParams.Paypay#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentMethodConfigurationCreateParams.Paypay#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DisplayPreference { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The account's preference for whether or not to display this payment method. */ + @SerializedName("preference") + Preference preference; + + private DisplayPreference(Map extraParams, Preference preference) { + this.extraParams = extraParams; + this.preference = preference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Preference preference; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationCreateParams.Paypay.DisplayPreference build() { + return new PaymentMethodConfigurationCreateParams.Paypay.DisplayPreference( + this.extraParams, this.preference); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationCreateParams.Paypay.DisplayPreference#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationCreateParams.Paypay.DisplayPreference#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The account's preference for whether or not to display this payment method. */ + public Builder setPreference( + PaymentMethodConfigurationCreateParams.Paypay.DisplayPreference.Preference preference) { + this.preference = preference; + return this; + } + } + + public enum Preference implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off") + OFF("off"), + + @SerializedName("on") + ON("on"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Preference(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { diff --git a/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java b/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java index 05042f7db44..1928a9e1e73 100644 --- a/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodConfigurationUpdateParams.java @@ -205,6 +205,15 @@ public class PaymentMethodConfigurationUpdateParams extends ApiRequestParams { @SerializedName("fpx") Fpx fpx; + /** + * Meal vouchers in France, or “titres-restaurant”, is a local benefits program commonly offered + * by employers for their employees to purchase prepared food and beverages on working days. Check + * this page for more + * details. + */ + @SerializedName("fr_meal_voucher_conecs") + FrMealVoucherConecs frMealVoucherConecs; + /** * giropay is a German payment method based on online banking, introduced in 2006. It allows * customers to complete transactions online using their online banking environment, with funds @@ -392,6 +401,10 @@ public class PaymentMethodConfigurationUpdateParams extends ApiRequestParams { @SerializedName("paypal") Paypal paypal; + /** Customers can pay with PayPay online or using the PayPay app. */ + @SerializedName("paypay") + Paypay paypay; + /** * PayTo is a real-time payment method * that enables customers in Australia to pay by providing their bank account details. Customers @@ -549,6 +562,7 @@ private PaymentMethodConfigurationUpdateParams( List expand, Map extraParams, Fpx fpx, + FrMealVoucherConecs frMealVoucherConecs, Giropay giropay, GooglePay googlePay, Gopay gopay, @@ -572,6 +586,7 @@ private PaymentMethodConfigurationUpdateParams( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -610,6 +625,7 @@ private PaymentMethodConfigurationUpdateParams( this.expand = expand; this.extraParams = extraParams; this.fpx = fpx; + this.frMealVoucherConecs = frMealVoucherConecs; this.giropay = giropay; this.googlePay = googlePay; this.gopay = gopay; @@ -633,6 +649,7 @@ private PaymentMethodConfigurationUpdateParams( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -701,6 +718,8 @@ public static class Builder { private Fpx fpx; + private FrMealVoucherConecs frMealVoucherConecs; + private Giropay giropay; private GooglePay googlePay; @@ -747,6 +766,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -803,6 +824,7 @@ public PaymentMethodConfigurationUpdateParams build() { this.expand, this.extraParams, this.fpx, + this.frMealVoucherConecs, this.giropay, this.googlePay, this.gopay, @@ -826,6 +848,7 @@ public PaymentMethodConfigurationUpdateParams build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -1119,6 +1142,18 @@ public Builder setFpx(PaymentMethodConfigurationUpdateParams.Fpx fpx) { return this; } + /** + * Meal vouchers in France, or “titres-restaurant”, is a local benefits program commonly offered + * by employers for their employees to purchase prepared food and beverages on working days. + * Check this page for + * more details. + */ + public Builder setFrMealVoucherConecs( + PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs frMealVoucherConecs) { + this.frMealVoucherConecs = frMealVoucherConecs; + return this; + } + /** * giropay is a German payment method based on online banking, introduced in 2006. It allows * customers to complete transactions online using their online banking environment, with funds @@ -1362,6 +1397,12 @@ public Builder setPaypal(PaymentMethodConfigurationUpdateParams.Paypal paypal) { return this; } + /** Customers can pay with PayPay online or using the PayPay app. */ + public Builder setPaypay(PaymentMethodConfigurationUpdateParams.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * PayTo is a real-time payment method * that enables customers in Australia to pay by providing their bank account details. Customers @@ -4845,6 +4886,176 @@ public enum Preference implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucherConecs { + /** Whether or not the payment method should be displayed. */ + @SerializedName("display_preference") + DisplayPreference displayPreference; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private FrMealVoucherConecs( + DisplayPreference displayPreference, Map extraParams) { + this.displayPreference = displayPreference; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private DisplayPreference displayPreference; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs build() { + return new PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs( + this.displayPreference, this.extraParams); + } + + /** Whether or not the payment method should be displayed. */ + public Builder setDisplayPreference( + PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs.DisplayPreference + displayPreference) { + this.displayPreference = displayPreference; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DisplayPreference { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The account's preference for whether or not to display this payment method. */ + @SerializedName("preference") + Preference preference; + + private DisplayPreference(Map extraParams, Preference preference) { + this.extraParams = extraParams; + this.preference = preference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Preference preference; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs.DisplayPreference + build() { + return new PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs.DisplayPreference( + this.extraParams, this.preference); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs.DisplayPreference#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs.DisplayPreference#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The account's preference for whether or not to display this payment method. */ + public Builder setPreference( + PaymentMethodConfigurationUpdateParams.FrMealVoucherConecs.DisplayPreference.Preference + preference) { + this.preference = preference; + return this; + } + } + + public enum Preference implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off") + OFF("off"), + + @SerializedName("on") + ON("on"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Preference(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Giropay { @@ -8486,6 +8697,171 @@ public enum Preference implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** Whether or not the payment method should be displayed. */ + @SerializedName("display_preference") + DisplayPreference displayPreference; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Paypay(DisplayPreference displayPreference, Map extraParams) { + this.displayPreference = displayPreference; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private DisplayPreference displayPreference; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationUpdateParams.Paypay build() { + return new PaymentMethodConfigurationUpdateParams.Paypay( + this.displayPreference, this.extraParams); + } + + /** Whether or not the payment method should be displayed. */ + public Builder setDisplayPreference( + PaymentMethodConfigurationUpdateParams.Paypay.DisplayPreference displayPreference) { + this.displayPreference = displayPreference; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentMethodConfigurationUpdateParams.Paypay#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentMethodConfigurationUpdateParams.Paypay#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DisplayPreference { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The account's preference for whether or not to display this payment method. */ + @SerializedName("preference") + Preference preference; + + private DisplayPreference(Map extraParams, Preference preference) { + this.extraParams = extraParams; + this.preference = preference; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Preference preference; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodConfigurationUpdateParams.Paypay.DisplayPreference build() { + return new PaymentMethodConfigurationUpdateParams.Paypay.DisplayPreference( + this.extraParams, this.preference); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationUpdateParams.Paypay.DisplayPreference#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentMethodConfigurationUpdateParams.Paypay.DisplayPreference#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The account's preference for whether or not to display this payment method. */ + public Builder setPreference( + PaymentMethodConfigurationUpdateParams.Paypay.DisplayPreference.Preference preference) { + this.preference = preference; + return this; + } + } + + public enum Preference implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("off") + OFF("off"), + + @SerializedName("on") + ON("on"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Preference(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { diff --git a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java index a496774aac2..352519ee9ce 100644 --- a/src/main/java/com/stripe/param/PaymentMethodCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodCreateParams.java @@ -338,6 +338,13 @@ public class PaymentMethodCreateParams extends ApiRequestParams { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay payment + * method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -515,6 +522,7 @@ private PaymentMethodCreateParams( String paymentMethod, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -581,6 +589,7 @@ private PaymentMethodCreateParams( this.paymentMethod = paymentMethod; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -701,6 +710,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -789,6 +800,7 @@ public PaymentMethodCreateParams build() { this.paymentMethod, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -1296,6 +1308,15 @@ public Builder setPaypal(PaymentMethodCreateParams.Paypal paypal) { return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(PaymentMethodCreateParams.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -2305,11 +2326,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -2412,13 +2433,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -4994,6 +5015,62 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCreateParams.Paypay build() { + return new PaymentMethodCreateParams.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentMethodCreateParams.Paypay#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentMethodCreateParams.Paypay#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -6611,6 +6688,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/PaymentMethodListParams.java b/src/main/java/com/stripe/param/PaymentMethodListParams.java index b74c269ad92..9993da80ca3 100644 --- a/src/main/java/com/stripe/param/PaymentMethodListParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodListParams.java @@ -330,6 +330,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java b/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java index 7c65ea56e76..4c887f09849 100644 --- a/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentMethodUpdateParams.java @@ -47,13 +47,6 @@ public class PaymentMethodUpdateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment - * method. - */ - @SerializedName("link") - Link link; - /** * 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 @@ -63,13 +56,6 @@ public class PaymentMethodUpdateParams extends ApiRequestParams { @SerializedName("metadata") Object metadata; - /** - * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the PayByBank - * payment method. - */ - @SerializedName("pay_by_bank") - PayByBank payByBank; - /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -90,9 +76,7 @@ private PaymentMethodUpdateParams( Card card, List expand, Map extraParams, - Link link, Object metadata, - PayByBank payByBank, Payto payto, UsBankAccount usBankAccount) { this.allowRedisplay = allowRedisplay; @@ -100,9 +84,7 @@ private PaymentMethodUpdateParams( this.card = card; this.expand = expand; this.extraParams = extraParams; - this.link = link; this.metadata = metadata; - this.payByBank = payByBank; this.payto = payto; this.usBankAccount = usBankAccount; } @@ -122,12 +104,8 @@ public static class Builder { private Map extraParams; - private Link link; - private Object metadata; - private PayByBank payByBank; - private Payto payto; private UsBankAccount usBankAccount; @@ -140,9 +118,7 @@ public PaymentMethodUpdateParams build() { this.card, this.expand, this.extraParams, - this.link, this.metadata, - this.payByBank, this.payto, this.usBankAccount); } @@ -225,15 +201,6 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * If this is an {@code Link} PaymentMethod, this hash contains details about the Link payment - * method. - */ - public Builder setLink(PaymentMethodUpdateParams.Link link) { - this.link = link; - 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 @@ -284,15 +251,6 @@ public Builder setMetadata(Map metadata) { return this; } - /** - * If this is a {@code pay_by_bank} PaymentMethod, this hash contains details about the - * PayByBank payment method. - */ - public Builder setPayByBank(PaymentMethodUpdateParams.PayByBank payByBank) { - this.payByBank = payByBank; - return this; - } - /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -502,11 +460,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -624,25 +582,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -878,118 +836,6 @@ public enum Preferred implements ApiRequestParams.EnumParam { } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Link { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 Link(Map extraParams) { - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public PaymentMethodUpdateParams.Link build() { - return new PaymentMethodUpdateParams.Link(this.extraParams); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentMethodUpdateParams.Link#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentMethodUpdateParams.Link#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PayByBank { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private PayByBank(Map extraParams) { - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public PaymentMethodUpdateParams.PayByBank build() { - return new PaymentMethodUpdateParams.PayByBank(this.extraParams); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PaymentMethodUpdateParams.PayByBank#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PaymentMethodUpdateParams.PayByBank#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - } - @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { diff --git a/src/main/java/com/stripe/param/PaymentRecordReportPaymentAttemptInformationalParams.java b/src/main/java/com/stripe/param/PaymentRecordReportPaymentAttemptInformationalParams.java new file mode 100644 index 00000000000..1aaf61e2087 --- /dev/null +++ b/src/main/java/com/stripe/param/PaymentRecordReportPaymentAttemptInformationalParams.java @@ -0,0 +1,604 @@ +// 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.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class PaymentRecordReportPaymentAttemptInformationalParams extends ApiRequestParams { + /** Customer information for this payment. */ + @SerializedName("customer_details") + CustomerDetails customerDetails; + + /** An arbitrary string attached to the object. Often useful for displaying to users. */ + @SerializedName("description") + Object description; + + /** Specifies which fields in the response should be expanded. */ + @SerializedName("expand") + List expand; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * 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; + + /** Shipping information for this payment. */ + @SerializedName("shipping_details") + Object shippingDetails; + + private PaymentRecordReportPaymentAttemptInformationalParams( + CustomerDetails customerDetails, + Object description, + List expand, + Map extraParams, + Object metadata, + Object shippingDetails) { + this.customerDetails = customerDetails; + this.description = description; + this.expand = expand; + this.extraParams = extraParams; + this.metadata = metadata; + this.shippingDetails = shippingDetails; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private CustomerDetails customerDetails; + + private Object description; + + private List expand; + + private Map extraParams; + + private Object metadata; + + private Object shippingDetails; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentRecordReportPaymentAttemptInformationalParams build() { + return new PaymentRecordReportPaymentAttemptInformationalParams( + this.customerDetails, + this.description, + this.expand, + this.extraParams, + this.metadata, + this.shippingDetails); + } + + /** Customer information for this payment. */ + public Builder setCustomerDetails( + PaymentRecordReportPaymentAttemptInformationalParams.CustomerDetails customerDetails) { + this.customerDetails = customerDetails; + return this; + } + + /** An arbitrary string attached to the object. Often useful for displaying to users. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** An arbitrary string attached to the object. Often useful for displaying to users. */ + public Builder setDescription(EmptyParam description) { + this.description = description; + 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 + * PaymentRecordReportPaymentAttemptInformationalParams#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 + * PaymentRecordReportPaymentAttemptInformationalParams#expand} for the field documentation. + */ + public Builder addAllExpand(List elements) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.addAll(elements); + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentRecordReportPaymentAttemptInformationalParams#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentRecordReportPaymentAttemptInformationalParams#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Add a key/value pair to `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 + * PaymentRecordReportPaymentAttemptInformationalParams#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 PaymentRecordReportPaymentAttemptInformationalParams#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; + } + + /** Shipping information for this payment. */ + public Builder setShippingDetails( + PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails shippingDetails) { + this.shippingDetails = shippingDetails; + return this; + } + + /** Shipping information for this payment. */ + public Builder setShippingDetails(EmptyParam shippingDetails) { + this.shippingDetails = shippingDetails; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CustomerDetails { + /** The customer who made the payment. */ + @SerializedName("customer") + String customer; + + /** The customer's phone number. */ + @SerializedName("email") + String email; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The customer's name. */ + @SerializedName("name") + String name; + + /** The customer's phone number. */ + @SerializedName("phone") + String phone; + + private CustomerDetails( + String customer, String email, Map extraParams, String name, String phone) { + this.customer = customer; + this.email = email; + this.extraParams = extraParams; + this.name = name; + this.phone = phone; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String customer; + + private String email; + + private Map extraParams; + + private String name; + + private String phone; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentRecordReportPaymentAttemptInformationalParams.CustomerDetails build() { + return new PaymentRecordReportPaymentAttemptInformationalParams.CustomerDetails( + this.customer, this.email, this.extraParams, this.name, this.phone); + } + + /** The customer who made the payment. */ + public Builder setCustomer(String customer) { + this.customer = customer; + return this; + } + + /** The customer's phone number. */ + public Builder setEmail(String email) { + this.email = email; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentRecordReportPaymentAttemptInformationalParams.CustomerDetails#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link + * PaymentRecordReportPaymentAttemptInformationalParams.CustomerDetails#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 customer's name. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** The customer's phone number. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ShippingDetails { + /** The physical shipping address. */ + @SerializedName("address") + Address address; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The shipping recipient's name. */ + @SerializedName("name") + String name; + + /** The shipping recipient's phone number. */ + @SerializedName("phone") + String phone; + + private ShippingDetails( + Address address, Map extraParams, String name, String phone) { + this.address = address; + this.extraParams = extraParams; + this.name = name; + this.phone = phone; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Address address; + + private Map extraParams; + + private String name; + + private String phone; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails build() { + return new PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails( + this.address, this.extraParams, this.name, this.phone); + } + + /** The physical shipping address. */ + public Builder setAddress( + PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails.Address address) { + this.address = address; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link + * PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails#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 shipping recipient's name. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** The shipping recipient's phone number. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + String country; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Address line 1, such as the street, PO Box, or company name. */ + @SerializedName("line1") + String line1; + + /** Address line 2, such as the apartment, suite, unit, or building. */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @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 PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails.Address + build() { + return new PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails.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 + * PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails.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 + * PaymentRecordReportPaymentAttemptInformationalParams.ShippingDetails.Address#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1, such as the street, PO Box, or company name. */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2, such as the apartment, suite, unit, or building. */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + } +} diff --git a/src/main/java/com/stripe/param/PaymentRecordReportPaymentAttemptParams.java b/src/main/java/com/stripe/param/PaymentRecordReportPaymentAttemptParams.java index 3a4061d3c95..aedcfec9878 100644 --- a/src/main/java/com/stripe/param/PaymentRecordReportPaymentAttemptParams.java +++ b/src/main/java/com/stripe/param/PaymentRecordReportPaymentAttemptParams.java @@ -704,11 +704,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -815,13 +815,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1068,11 +1068,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1177,13 +1177,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/PaymentRecordReportPaymentParams.java b/src/main/java/com/stripe/param/PaymentRecordReportPaymentParams.java index 70624d0bc9b..9ec23aaca3d 100644 --- a/src/main/java/com/stripe/param/PaymentRecordReportPaymentParams.java +++ b/src/main/java/com/stripe/param/PaymentRecordReportPaymentParams.java @@ -974,11 +974,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1084,13 +1084,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1515,11 +1515,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1622,13 +1622,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/PersonCollectionCreateParams.java b/src/main/java/com/stripe/param/PersonCollectionCreateParams.java index c8177d6b621..0f874ddb3dd 100644 --- a/src/main/java/com/stripe/param/PersonCollectionCreateParams.java +++ b/src/main/java/com/stripe/param/PersonCollectionCreateParams.java @@ -886,11 +886,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -991,13 +991,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1877,11 +1877,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1983,13 +1983,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/PersonUpdateParams.java b/src/main/java/com/stripe/param/PersonUpdateParams.java index 4b9b6011e56..72ac9d708e6 100644 --- a/src/main/java/com/stripe/param/PersonUpdateParams.java +++ b/src/main/java/com/stripe/param/PersonUpdateParams.java @@ -996,11 +996,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1116,25 +1116,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -2111,11 +2111,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -2231,25 +2231,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/PromotionCodeCreateParams.java b/src/main/java/com/stripe/param/PromotionCodeCreateParams.java index f400937f347..ae40efcba17 100644 --- a/src/main/java/com/stripe/param/PromotionCodeCreateParams.java +++ b/src/main/java/com/stripe/param/PromotionCodeCreateParams.java @@ -27,10 +27,6 @@ public class PromotionCodeCreateParams extends ApiRequestParams { @SerializedName("code") String code; - /** Required. The coupon for this promotion code. */ - @SerializedName("coupon") - String coupon; - /** * The customer that this promotion code can be used by. If not set, the promotion code can be * used by all customers. @@ -82,6 +78,10 @@ public class PromotionCodeCreateParams extends ApiRequestParams { @SerializedName("metadata") Map metadata; + /** Required. The promotion referenced by this promotion code. */ + @SerializedName("promotion") + Promotion promotion; + /** Settings that restrict the redemption of the promotion code. */ @SerializedName("restrictions") Restrictions restrictions; @@ -89,7 +89,6 @@ public class PromotionCodeCreateParams extends ApiRequestParams { private PromotionCodeCreateParams( Boolean active, String code, - String coupon, String customer, String customerAccount, List expand, @@ -97,10 +96,10 @@ private PromotionCodeCreateParams( Map extraParams, Long maxRedemptions, Map metadata, + Promotion promotion, Restrictions restrictions) { this.active = active; this.code = code; - this.coupon = coupon; this.customer = customer; this.customerAccount = customerAccount; this.expand = expand; @@ -108,6 +107,7 @@ private PromotionCodeCreateParams( this.extraParams = extraParams; this.maxRedemptions = maxRedemptions; this.metadata = metadata; + this.promotion = promotion; this.restrictions = restrictions; } @@ -120,8 +120,6 @@ public static class Builder { private String code; - private String coupon; - private String customer; private String customerAccount; @@ -136,6 +134,8 @@ public static class Builder { private Map metadata; + private Promotion promotion; + private Restrictions restrictions; /** Finalize and obtain parameter instance from this builder. */ @@ -143,7 +143,6 @@ public PromotionCodeCreateParams build() { return new PromotionCodeCreateParams( this.active, this.code, - this.coupon, this.customer, this.customerAccount, this.expand, @@ -151,6 +150,7 @@ public PromotionCodeCreateParams build() { this.extraParams, this.maxRedemptions, this.metadata, + this.promotion, this.restrictions); } @@ -172,12 +172,6 @@ public Builder setCode(String code) { return this; } - /** Required. The coupon for this promotion code. */ - public Builder setCoupon(String coupon) { - this.coupon = coupon; - return this; - } - /** * The customer that this promotion code can be used by. If not set, the promotion code can be * used by all customers. @@ -293,6 +287,12 @@ public Builder putAllMetadata(Map map) { return this; } + /** Required. The promotion referenced by this promotion code. */ + public Builder setPromotion(PromotionCodeCreateParams.Promotion promotion) { + this.promotion = promotion; + return this; + } + /** Settings that restrict the redemption of the promotion code. */ public Builder setRestrictions(PromotionCodeCreateParams.Restrictions restrictions) { this.restrictions = restrictions; @@ -300,6 +300,100 @@ public Builder setRestrictions(PromotionCodeCreateParams.Restrictions restrictio } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Promotion { + /** If promotion {@code type} is {@code coupon}, the coupon for this promotion code. */ + @SerializedName("coupon") + String coupon; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Specifies the type of promotion. */ + @SerializedName("type") + Type type; + + private Promotion(String coupon, Map extraParams, Type type) { + this.coupon = coupon; + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String coupon; + + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public PromotionCodeCreateParams.Promotion build() { + return new PromotionCodeCreateParams.Promotion(this.coupon, this.extraParams, this.type); + } + + /** If promotion {@code type} is {@code coupon}, the coupon for this promotion code. */ + public Builder setCoupon(String coupon) { + this.coupon = coupon; + 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 + * PromotionCodeCreateParams.Promotion#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PromotionCodeCreateParams.Promotion#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Specifies the type of promotion. */ + public Builder setType(PromotionCodeCreateParams.Promotion.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("coupon") + COUPON("coupon"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Restrictions { diff --git a/src/main/java/com/stripe/param/QuoteCreateParams.java b/src/main/java/com/stripe/param/QuoteCreateParams.java index c1c3b023175..a4732031f50 100644 --- a/src/main/java/com/stripe/param/QuoteCreateParams.java +++ b/src/main/java/com/stripe/param/QuoteCreateParams.java @@ -7561,15 +7561,20 @@ public static class BillingMode { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ @SerializedName("type") Type type; - private BillingMode(Map extraParams, Type type) { + private BillingMode(Map extraParams, Flexible flexible, Type type) { this.extraParams = extraParams; + this.flexible = flexible; this.type = type; } @@ -7580,11 +7585,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Flexible flexible; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public QuoteCreateParams.SubscriptionData.BillingMode build() { - return new QuoteCreateParams.SubscriptionData.BillingMode(this.extraParams, this.type); + return new QuoteCreateParams.SubscriptionData.BillingMode( + this.extraParams, this.flexible, this.type); } /** @@ -7615,9 +7623,16 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible( + QuoteCreateParams.SubscriptionData.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ public Builder setType(QuoteCreateParams.SubscriptionData.BillingMode.Type type) { this.type = type; @@ -7625,6 +7640,100 @@ public Builder setType(QuoteCreateParams.SubscriptionData.BillingMode.Type type) } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public QuoteCreateParams.SubscriptionData.BillingMode.Flexible build() { + return new QuoteCreateParams.SubscriptionData.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link QuoteCreateParams.SubscriptionData.BillingMode.Flexible#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link QuoteCreateParams.SubscriptionData.BillingMode.Flexible#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + public Builder setProrationDiscounts( + QuoteCreateParams.SubscriptionData.BillingMode.Flexible.ProrationDiscounts + prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("classic") CLASSIC("classic"), diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java index f1698e587e2..fb7e37c33ca 100644 --- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java @@ -933,6 +933,13 @@ public static class PaymentMethodData { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -1107,6 +1114,7 @@ private PaymentMethodData( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -1169,6 +1177,7 @@ private PaymentMethodData( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -1281,6 +1290,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -1365,6 +1376,7 @@ public SetupIntentConfirmParams.PaymentMethodData build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -1820,6 +1832,15 @@ public Builder setPaypal(SetupIntentConfirmParams.PaymentMethodData.Paypal paypa return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(SetupIntentConfirmParams.PaymentMethodData.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo * payment method. @@ -2857,11 +2878,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -2966,13 +2987,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -5381,6 +5402,64 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.PaymentMethodData.Paypay build() { + return new SetupIntentConfirmParams.PaymentMethodData.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentConfirmParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentConfirmParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -6961,6 +7040,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java index 226bf81722d..80ddcb778a9 100644 --- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java @@ -1434,6 +1434,13 @@ public static class PaymentMethodData { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -1608,6 +1615,7 @@ private PaymentMethodData( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -1670,6 +1678,7 @@ private PaymentMethodData( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -1782,6 +1791,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -1866,6 +1877,7 @@ public SetupIntentCreateParams.PaymentMethodData build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -2320,6 +2332,15 @@ public Builder setPaypal(SetupIntentCreateParams.PaymentMethodData.Paypal paypal return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(SetupIntentCreateParams.PaymentMethodData.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo * payment method. @@ -3357,11 +3378,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3466,13 +3487,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -5879,6 +5900,64 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.PaymentMethodData.Paypay build() { + return new SetupIntentCreateParams.PaymentMethodData.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentCreateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentCreateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -7458,6 +7537,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java index ad042cd993f..d4f25238692 100644 --- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java @@ -782,6 +782,13 @@ public static class PaymentMethodData { @SerializedName("paypal") Paypal paypal; + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + @SerializedName("paypay") + Paypay paypay; + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo payment * method. @@ -956,6 +963,7 @@ private PaymentMethodData( Payco payco, Paynow paynow, Paypal paypal, + Paypay paypay, Payto payto, Pix pix, Promptpay promptpay, @@ -1018,6 +1026,7 @@ private PaymentMethodData( this.payco = payco; this.paynow = paynow; this.paypal = paypal; + this.paypay = paypay; this.payto = payto; this.pix = pix; this.promptpay = promptpay; @@ -1130,6 +1139,8 @@ public static class Builder { private Paypal paypal; + private Paypay paypay; + private Payto payto; private Pix pix; @@ -1214,6 +1225,7 @@ public SetupIntentUpdateParams.PaymentMethodData build() { this.payco, this.paynow, this.paypal, + this.paypay, this.payto, this.pix, this.promptpay, @@ -1668,6 +1680,15 @@ public Builder setPaypal(SetupIntentUpdateParams.PaymentMethodData.Paypal paypal return this; } + /** + * If this is a {@code paypay} PaymentMethod, this hash contains details about the PayPay + * payment method. + */ + public Builder setPaypay(SetupIntentUpdateParams.PaymentMethodData.Paypay paypay) { + this.paypay = paypay; + return this; + } + /** * If this is a {@code payto} PaymentMethod, this hash contains details about the PayTo * payment method. @@ -2756,11 +2777,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -2880,25 +2901,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -5364,6 +5385,64 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Paypay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Paypay(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.PaymentMethodData.Paypay build() { + return new SetupIntentUpdateParams.PaymentMethodData.Paypay(this.extraParams); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentUpdateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentUpdateParams.PaymentMethodData.Paypay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Payto { @@ -7001,6 +7080,9 @@ public enum Type implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/SourceCreateParams.java b/src/main/java/com/stripe/param/SourceCreateParams.java index fde41519cae..6e8f469e17e 100644 --- a/src/main/java/com/stripe/param/SourceCreateParams.java +++ b/src/main/java/com/stripe/param/SourceCreateParams.java @@ -1196,11 +1196,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1303,13 +1303,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -1951,11 +1951,13 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -2058,13 +2060,15 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/SourceUpdateParams.java b/src/main/java/com/stripe/param/SourceUpdateParams.java index 0688c705693..f8544e86199 100644 --- a/src/main/java/com/stripe/param/SourceUpdateParams.java +++ b/src/main/java/com/stripe/param/SourceUpdateParams.java @@ -1073,11 +1073,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1195,25 +1195,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -1734,11 +1734,13 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1856,25 +1858,29 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/SubscriptionCreateParams.java b/src/main/java/com/stripe/param/SubscriptionCreateParams.java index e9167ef5ae5..e7cf18df0d2 100644 --- a/src/main/java/com/stripe/param/SubscriptionCreateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionCreateParams.java @@ -57,7 +57,7 @@ public class SubscriptionCreateParams extends ApiRequestParams { /** * Mutually exclusive with billing_cycle_anchor and only valid with monthly and yearly price - * intervals. When provided, the billing_cycle_anchor is set to the next occurence of the + * intervals. When provided, the billing_cycle_anchor is set to the next occurrence of the * day_of_month at the hour, minute, and second UTC. */ @SerializedName("billing_cycle_anchor_config") @@ -67,6 +67,10 @@ public class SubscriptionCreateParams extends ApiRequestParams { @SerializedName("billing_mode") BillingMode billingMode; + /** Sets the billing schedules for the subscription. */ + @SerializedName("billing_schedules") + List billingSchedules; + /** * Define thresholds at which an invoice will be sent, and the subscription advanced to a new * billing period. When updating, pass an empty string to remove previously-defined thresholds. @@ -319,6 +323,7 @@ private SubscriptionCreateParams( Long billingCycleAnchor, BillingCycleAnchorConfig billingCycleAnchorConfig, BillingMode billingMode, + List billingSchedules, Object billingThresholds, Object cancelAt, Boolean cancelAtPeriodEnd, @@ -356,6 +361,7 @@ private SubscriptionCreateParams( this.billingCycleAnchor = billingCycleAnchor; this.billingCycleAnchorConfig = billingCycleAnchorConfig; this.billingMode = billingMode; + this.billingSchedules = billingSchedules; this.billingThresholds = billingThresholds; this.cancelAt = cancelAt; this.cancelAtPeriodEnd = cancelAtPeriodEnd; @@ -407,6 +413,8 @@ public static class Builder { private BillingMode billingMode; + private List billingSchedules; + private Object billingThresholds; private Object cancelAt; @@ -477,6 +485,7 @@ public SubscriptionCreateParams build() { this.billingCycleAnchor, this.billingCycleAnchorConfig, this.billingMode, + this.billingSchedules, this.billingThresholds, this.cancelAt, this.cancelAtPeriodEnd, @@ -591,7 +600,7 @@ public Builder setBillingCycleAnchor(Long billingCycleAnchor) { /** * Mutually exclusive with billing_cycle_anchor and only valid with monthly and yearly price - * intervals. When provided, the billing_cycle_anchor is set to the next occurence of the + * intervals. When provided, the billing_cycle_anchor is set to the next occurrence of the * day_of_month at the hour, minute, and second UTC. */ public Builder setBillingCycleAnchorConfig( @@ -606,6 +615,32 @@ public Builder setBillingMode(SubscriptionCreateParams.BillingMode billingMode) return this; } + /** + * Add an element to `billingSchedules` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionCreateParams#billingSchedules} for the field documentation. + */ + public Builder addBillingSchedule(SubscriptionCreateParams.BillingSchedule element) { + if (this.billingSchedules == null) { + this.billingSchedules = new ArrayList<>(); + } + this.billingSchedules.add(element); + return this; + } + + /** + * Add all elements to `billingSchedules` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionCreateParams#billingSchedules} for the field documentation. + */ + public Builder addAllBillingSchedule(List elements) { + if (this.billingSchedules == null) { + this.billingSchedules = new ArrayList<>(); + } + this.billingSchedules.addAll(elements); + return this; + } + /** * Define thresholds at which an invoice will be sent, and the subscription advanced to a new * billing period. When updating, pass an empty string to remove previously-defined thresholds. @@ -1161,8 +1196,9 @@ public static class AddInvoiceItem { Map metadata; /** - * The period associated with this invoice item. Defaults to the current period of the - * subscription. + * The period associated with this invoice item. If not set, {@code period.start.type} defaults + * to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ @SerializedName("period") Period period; @@ -1323,8 +1359,9 @@ public Builder putAllMetadata(Map map) { } /** - * The period associated with this invoice item. Defaults to the current period of the - * subscription. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ public Builder setPeriod(SubscriptionCreateParams.AddInvoiceItem.Period period) { this.period = period; @@ -2617,15 +2654,20 @@ public static class BillingMode { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ @SerializedName("type") Type type; - private BillingMode(Map extraParams, Type type) { + private BillingMode(Map extraParams, Flexible flexible, Type type) { this.extraParams = extraParams; + this.flexible = flexible; this.type = type; } @@ -2636,11 +2678,13 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Flexible flexible; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public SubscriptionCreateParams.BillingMode build() { - return new SubscriptionCreateParams.BillingMode(this.extraParams, this.type); + return new SubscriptionCreateParams.BillingMode(this.extraParams, this.flexible, this.type); } /** @@ -2665,32 +2709,596 @@ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } - this.extraParams.putAll(map); - return this; - } + this.extraParams.putAll(map); + return this; + } + + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible(SubscriptionCreateParams.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + + /** + * Required. Controls the calculation and orchestration of prorations and + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. + */ + public Builder setType(SubscriptionCreateParams.BillingMode.Type type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Controls how invoices and invoice items display proration amounts and discount amounts. */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.BillingMode.Flexible build() { + return new SubscriptionCreateParams.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionCreateParams.BillingMode.Flexible#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionCreateParams.BillingMode.Flexible#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + public Builder setProrationDiscounts( + SubscriptionCreateParams.BillingMode.Flexible.ProrationDiscounts prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("classic") + CLASSIC("classic"), + + @SerializedName("flexible") + FLEXIBLE("flexible"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillingSchedule { + /** Configure billing schedule differently for individual subscription items. */ + @SerializedName("applies_to") + List appliesTo; + + /** Required. The end date for the billing schedule. */ + @SerializedName("bill_until") + BillUntil billUntil; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up to + * 200 characters. If not provided, a unique key will be generated. + */ + @SerializedName("key") + String key; + + private BillingSchedule( + List appliesTo, + BillUntil billUntil, + Map extraParams, + String key) { + this.appliesTo = appliesTo; + this.billUntil = billUntil; + this.extraParams = extraParams; + this.key = key; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List appliesTo; + + private BillUntil billUntil; + + private Map extraParams; + + private String key; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.BillingSchedule build() { + return new SubscriptionCreateParams.BillingSchedule( + this.appliesTo, this.billUntil, this.extraParams, this.key); + } + + /** + * Add an element to `appliesTo` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionCreateParams.BillingSchedule#appliesTo} for the field documentation. + */ + public Builder addAppliesTo(SubscriptionCreateParams.BillingSchedule.AppliesTo element) { + if (this.appliesTo == null) { + this.appliesTo = new ArrayList<>(); + } + this.appliesTo.add(element); + return this; + } + + /** + * Add all elements to `appliesTo` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionCreateParams.BillingSchedule#appliesTo} for the field documentation. + */ + public Builder addAllAppliesTo( + List elements) { + if (this.appliesTo == null) { + this.appliesTo = new ArrayList<>(); + } + this.appliesTo.addAll(elements); + return this; + } + + /** Required. The end date for the billing schedule. */ + public Builder setBillUntil(SubscriptionCreateParams.BillingSchedule.BillUntil billUntil) { + this.billUntil = billUntil; + 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 + * SubscriptionCreateParams.BillingSchedule#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SubscriptionCreateParams.BillingSchedule#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up + * to 200 characters. If not provided, a unique key will be generated. + */ + public Builder setKey(String key) { + this.key = key; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AppliesTo { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 ID of the price object. */ + @SerializedName("price") + String price; + + /** + * Required. Controls which subscription items the billing schedule applies + * to. + */ + @SerializedName("type") + Type type; + + private AppliesTo(Map extraParams, String price, Type type) { + this.extraParams = extraParams; + this.price = price; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String price; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.BillingSchedule.AppliesTo build() { + return new SubscriptionCreateParams.BillingSchedule.AppliesTo( + this.extraParams, this.price, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionCreateParams.BillingSchedule.AppliesTo#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionCreateParams.BillingSchedule.AppliesTo#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 ID of the price object. */ + public Builder setPrice(String price) { + this.price = price; + return this; + } + + /** + * Required. Controls which subscription items the billing schedule applies + * to. + */ + public Builder setType(SubscriptionCreateParams.BillingSchedule.AppliesTo.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("price") + PRICE("price"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillUntil { + /** Specifies the billing period. */ + @SerializedName("duration") + Duration duration; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 end date of the billing schedule. */ + @SerializedName("timestamp") + Long timestamp; + + /** + * Required. Describes how the billing schedule will determine the end date. + * Either {@code duration} or {@code timestamp}. + */ + @SerializedName("type") + Type type; + + private BillUntil( + Duration duration, Map extraParams, Long timestamp, Type type) { + this.duration = duration; + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Duration duration; + + private Map extraParams; + + private Long timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.BillingSchedule.BillUntil build() { + return new SubscriptionCreateParams.BillingSchedule.BillUntil( + this.duration, this.extraParams, this.timestamp, this.type); + } + + /** Specifies the billing period. */ + public Builder setDuration( + SubscriptionCreateParams.BillingSchedule.BillUntil.Duration duration) { + this.duration = duration; + 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 SubscriptionCreateParams.BillingSchedule.BillUntil#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionCreateParams.BillingSchedule.BillUntil#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 end date of the billing schedule. */ + public Builder setTimestamp(Long timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Required. Describes how the billing schedule will determine the end + * date. Either {@code duration} or {@code timestamp}. + */ + public Builder setType(SubscriptionCreateParams.BillingSchedule.BillUntil.Type type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Duration { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. Specifies billing duration. Either {@code day}, {@code week}, + * {@code month} or {@code year}. + */ + @SerializedName("interval") + Interval interval; + + /** The multiplier applied to the interval. */ + @SerializedName("interval_count") + Long intervalCount; + + private Duration(Map extraParams, Interval interval, Long intervalCount) { + this.extraParams = extraParams; + this.interval = interval; + this.intervalCount = intervalCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Interval interval; + + private Long intervalCount; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.BillingSchedule.BillUntil.Duration build() { + return new SubscriptionCreateParams.BillingSchedule.BillUntil.Duration( + this.extraParams, this.interval, this.intervalCount); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionCreateParams.BillingSchedule.BillUntil.Duration#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionCreateParams.BillingSchedule.BillUntil.Duration#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. Specifies billing duration. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + public Builder setInterval( + SubscriptionCreateParams.BillingSchedule.BillUntil.Duration.Interval interval) { + this.interval = interval; + return this; + } + + /** The multiplier applied to the interval. */ + public Builder setIntervalCount(Long intervalCount) { + this.intervalCount = intervalCount; + return this; + } + } - /** - * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. - */ - public Builder setType(SubscriptionCreateParams.BillingMode.Type type) { - this.type = type; - return this; + public enum Interval implements ApiRequestParams.EnumParam { + @SerializedName("day") + DAY("day"), + + @SerializedName("month") + MONTH("month"), + + @SerializedName("week") + WEEK("week"), + + @SerializedName("year") + YEAR("year"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Interval(String value) { + this.value = value; + } + } } - } - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("classic") - CLASSIC("classic"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("duration") + DURATION("duration"), - @SerializedName("flexible") - FLEXIBLE("flexible"); + @SerializedName("timestamp") + TIMESTAMP("timestamp"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - Type(String value) { - this.value = value; + Type(String value) { + this.value = value; + } } } } @@ -4841,6 +5449,13 @@ public static class PaymentMethodOptions { @SerializedName("konbini") Object konbini; + /** + * This sub-hash contains details about the Pix payment method options to pass to the + * invoice’s PaymentIntent. + */ + @SerializedName("pix") + Object pix; + /** * This sub-hash contains details about the SEPA Direct Debit payment method options to pass * to the invoice’s PaymentIntent. @@ -4870,6 +5485,7 @@ private PaymentMethodOptions( Map extraParams, Object idBankTransfer, Object konbini, + Object pix, Object sepaDebit, Object upi, Object usBankAccount) { @@ -4880,6 +5496,7 @@ private PaymentMethodOptions( this.extraParams = extraParams; this.idBankTransfer = idBankTransfer; this.konbini = konbini; + this.pix = pix; this.sepaDebit = sepaDebit; this.upi = upi; this.usBankAccount = usBankAccount; @@ -4904,6 +5521,8 @@ public static class Builder { private Object konbini; + private Object pix; + private Object sepaDebit; private Object upi; @@ -4920,6 +5539,7 @@ public SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions build() { this.extraParams, this.idBankTransfer, this.konbini, + this.pix, this.sepaDebit, this.upi, this.usBankAccount); @@ -5071,6 +5691,25 @@ public Builder setKonbini(EmptyParam konbini) { return this; } + /** + * This sub-hash contains details about the Pix payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setPix( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix pix) { + this.pix = pix; + return this; + } + + /** + * This sub-hash contains details about the Pix payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setPix(EmptyParam pix) { + this.pix = pix; + return this; + } + /** * This sub-hash contains details about the SEPA Direct Debit payment method options to pass * to the invoice’s PaymentIntent. @@ -6199,6 +6838,261 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Pix { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Configuration options for setting up a mandate. */ + @SerializedName("mandate_options") + MandateOptions mandateOptions; + + private Pix(Map extraParams, MandateOptions mandateOptions) { + this.extraParams = extraParams; + this.mandateOptions = mandateOptions; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private MandateOptions mandateOptions; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix build() { + return new SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix( + this.extraParams, this.mandateOptions); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Configuration options for setting up a mandate. */ + public Builder setMandateOptions( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + mandateOptions) { + this.mandateOptions = mandateOptions; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MandateOptions { + /** Amount to be charged for future payments. If not provided, defaults to 40000. */ + @SerializedName("amount") + Long amount; + + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + @SerializedName("amount_includes_iof") + AmountIncludesIof amountIncludesIof; + + /** + * Date when the mandate expires and no further payments will be charged, in {@code + * YYYY-MM-DD}. If not provided, the mandate will be active until canceled. + */ + @SerializedName("end_date") + String endDate; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Schedule at which the future payments will be charged. Defaults to {@code weekly}. */ + @SerializedName("payment_schedule") + PaymentSchedule paymentSchedule; + + private MandateOptions( + Long amount, + AmountIncludesIof amountIncludesIof, + String endDate, + Map extraParams, + PaymentSchedule paymentSchedule) { + this.amount = amount; + this.amountIncludesIof = amountIncludesIof; + this.endDate = endDate; + this.extraParams = extraParams; + this.paymentSchedule = paymentSchedule; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private AmountIncludesIof amountIncludesIof; + + private String endDate; + + private Map extraParams; + + private PaymentSchedule paymentSchedule; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + build() { + return new SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix + .MandateOptions( + this.amount, + this.amountIncludesIof, + this.endDate, + this.extraParams, + this.paymentSchedule); + } + + /** Amount to be charged for future payments. If not provided, defaults to 40000. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + public Builder setAmountIncludesIof( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + .AmountIncludesIof + amountIncludesIof) { + this.amountIncludesIof = amountIncludesIof; + return this; + } + + /** + * Date when the mandate expires and no further payments will be charged, in {@code + * YYYY-MM-DD}. If not provided, the mandate will be active until canceled. + */ + public Builder setEndDate(String endDate) { + this.endDate = endDate; + 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 + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Schedule at which the future payments will be charged. Defaults to {@code weekly}. + */ + public Builder setPaymentSchedule( + SubscriptionCreateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + .PaymentSchedule + paymentSchedule) { + this.paymentSchedule = paymentSchedule; + return this; + } + } + + public enum AmountIncludesIof implements ApiRequestParams.EnumParam { + @SerializedName("always") + ALWAYS("always"), + + @SerializedName("never") + NEVER("never"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountIncludesIof(String value) { + this.value = value; + } + } + + public enum PaymentSchedule implements ApiRequestParams.EnumParam { + @SerializedName("halfyearly") + HALFYEARLY("halfyearly"), + + @SerializedName("monthly") + MONTHLY("monthly"), + + @SerializedName("quarterly") + QUARTERLY("quarterly"), + + @SerializedName("weekly") + WEEKLY("weekly"), + + @SerializedName("yearly") + YEARLY("yearly"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PaymentSchedule(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SepaDebit { @@ -7107,6 +8001,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("pix") + PIX("pix"), + @SerializedName("promptpay") PROMPTPAY("promptpay"), diff --git a/src/main/java/com/stripe/param/SubscriptionMigrateParams.java b/src/main/java/com/stripe/param/SubscriptionMigrateParams.java index 18da721a8c8..8d11769fe12 100644 --- a/src/main/java/com/stripe/param/SubscriptionMigrateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionMigrateParams.java @@ -130,12 +130,20 @@ public static class BillingMode { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. */ + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + + /** + * Required. Controls the calculation and orchestration of prorations and + * invoices for subscriptions. + */ @SerializedName("type") Type type; - private BillingMode(Map extraParams, Type type) { + private BillingMode(Map extraParams, Flexible flexible, Type type) { this.extraParams = extraParams; + this.flexible = flexible; this.type = type; } @@ -146,11 +154,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Flexible flexible; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public SubscriptionMigrateParams.BillingMode build() { - return new SubscriptionMigrateParams.BillingMode(this.extraParams, this.type); + return new SubscriptionMigrateParams.BillingMode( + this.extraParams, this.flexible, this.type); } /** @@ -179,13 +190,112 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. */ + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible(SubscriptionMigrateParams.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + + /** + * Required. Controls the calculation and orchestration of prorations and + * invoices for subscriptions. + */ public Builder setType(SubscriptionMigrateParams.BillingMode.Type type) { this.type = type; return this; } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Controls how invoices and invoice items display proration amounts and discount amounts. */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionMigrateParams.BillingMode.Flexible build() { + return new SubscriptionMigrateParams.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionMigrateParams.BillingMode.Flexible#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionMigrateParams.BillingMode.Flexible#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + public Builder setProrationDiscounts( + SubscriptionMigrateParams.BillingMode.Flexible.ProrationDiscounts prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("flexible") FLEXIBLE("flexible"); diff --git a/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java b/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java index fcf2d1819ef..41efb7c5983 100644 --- a/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionScheduleCreateParams.java @@ -408,15 +408,20 @@ public static class BillingMode { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ @SerializedName("type") Type type; - private BillingMode(Map extraParams, Type type) { + private BillingMode(Map extraParams, Flexible flexible, Type type) { this.extraParams = extraParams; + this.flexible = flexible; this.type = type; } @@ -427,11 +432,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Flexible flexible; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public SubscriptionScheduleCreateParams.BillingMode build() { - return new SubscriptionScheduleCreateParams.BillingMode(this.extraParams, this.type); + return new SubscriptionScheduleCreateParams.BillingMode( + this.extraParams, this.flexible, this.type); } /** @@ -461,9 +469,15 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible(SubscriptionScheduleCreateParams.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ public Builder setType(SubscriptionScheduleCreateParams.BillingMode.Type type) { this.type = type; @@ -471,6 +485,97 @@ public Builder setType(SubscriptionScheduleCreateParams.BillingMode.Type type) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Controls how invoices and invoice items display proration amounts and discount amounts. */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionScheduleCreateParams.BillingMode.Flexible build() { + return new SubscriptionScheduleCreateParams.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionScheduleCreateParams.BillingMode.Flexible#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionScheduleCreateParams.BillingMode.Flexible#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + public Builder setProrationDiscounts( + SubscriptionScheduleCreateParams.BillingMode.Flexible.ProrationDiscounts + prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("classic") CLASSIC("classic"), @@ -1627,16 +1732,6 @@ public static class Phase { @SerializedName("items") List items; - /** - * Integer representing the multiplier applied to the price interval. For example, {@code - * iterations=2} applied to a price with {@code interval=month} and {@code interval_count=3} - * results in a phase of duration {@code 2 * 3 months = 6 months}. If set, {@code end_date} must - * not be set. This parameter is deprecated and will be removed in a future version. Use {@code - * duration} instead. - */ - @SerializedName("iterations") - Long iterations; - /** * Set of key-value pairs that you can attach * to a phase. Metadata on a schedule's phase will update the underlying subscription's {@code @@ -1722,7 +1817,6 @@ private Phase( Map extraParams, InvoiceSettings invoiceSettings, List items, - Long iterations, Map metadata, String onBehalfOf, PauseCollection pauseCollection, @@ -1748,7 +1842,6 @@ private Phase( this.extraParams = extraParams; this.invoiceSettings = invoiceSettings; this.items = items; - this.iterations = iterations; this.metadata = metadata; this.onBehalfOf = onBehalfOf; this.pauseCollection = pauseCollection; @@ -1797,8 +1890,6 @@ public static class Builder { private List items; - private Long iterations; - private Map metadata; private String onBehalfOf; @@ -1836,7 +1927,6 @@ public SubscriptionScheduleCreateParams.Phase build() { this.extraParams, this.invoiceSettings, this.items, - this.iterations, this.metadata, this.onBehalfOf, this.pauseCollection, @@ -2159,18 +2249,6 @@ public Builder addAllItem(List elem return this; } - /** - * Integer representing the multiplier applied to the price interval. For example, {@code - * iterations=2} applied to a price with {@code interval=month} and {@code interval_count=3} - * results in a phase of duration {@code 2 * 3 months = 6 months}. If set, {@code end_date} - * must not be set. This parameter is deprecated and will be removed in a future version. Use - * {@code duration} instead. - */ - public Builder setIterations(Long iterations) { - this.iterations = iterations; - 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 @@ -2302,8 +2380,9 @@ public static class AddInvoiceItem { Map metadata; /** - * The period associated with this invoice item. Defaults to the period of the underlying - * subscription that surrounds the start of the phase. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ @SerializedName("period") Period period; @@ -2470,8 +2549,9 @@ public Builder putAllMetadata(Map map) { } /** - * The period associated with this invoice item. Defaults to the period of the underlying - * subscription that surrounds the start of the phase. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ public Builder setPeriod( SubscriptionScheduleCreateParams.Phase.AddInvoiceItem.Period period) { diff --git a/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java index 0038143f97e..08871c2c8c7 100644 --- a/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionScheduleUpdateParams.java @@ -1484,16 +1484,6 @@ public static class Phase { @SerializedName("items") List items; - /** - * Integer representing the multiplier applied to the price interval. For example, {@code - * iterations=2} applied to a price with {@code interval=month} and {@code interval_count=3} - * results in a phase of duration {@code 2 * 3 months = 6 months}. If set, {@code end_date} must - * not be set. This parameter is deprecated and will be removed in a future version. Use {@code - * duration} instead. - */ - @SerializedName("iterations") - Long iterations; - /** * Set of key-value pairs that you can attach * to a phase. Metadata on a schedule's phase will update the underlying subscription's {@code @@ -1586,7 +1576,6 @@ private Phase( Map extraParams, InvoiceSettings invoiceSettings, List items, - Long iterations, Map metadata, Object onBehalfOf, PauseCollection pauseCollection, @@ -1613,7 +1602,6 @@ private Phase( this.extraParams = extraParams; this.invoiceSettings = invoiceSettings; this.items = items; - this.iterations = iterations; this.metadata = metadata; this.onBehalfOf = onBehalfOf; this.pauseCollection = pauseCollection; @@ -1663,8 +1651,6 @@ public static class Builder { private List items; - private Long iterations; - private Map metadata; private Object onBehalfOf; @@ -1704,7 +1690,6 @@ public SubscriptionScheduleUpdateParams.Phase build() { this.extraParams, this.invoiceSettings, this.items, - this.iterations, this.metadata, this.onBehalfOf, this.pauseCollection, @@ -2057,18 +2042,6 @@ public Builder addAllItem(List elem return this; } - /** - * Integer representing the multiplier applied to the price interval. For example, {@code - * iterations=2} applied to a price with {@code interval=month} and {@code interval_count=3} - * results in a phase of duration {@code 2 * 3 months = 6 months}. If set, {@code end_date} - * must not be set. This parameter is deprecated and will be removed in a future version. Use - * {@code duration} instead. - */ - public Builder setIterations(Long iterations) { - this.iterations = iterations; - 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 @@ -2236,8 +2209,9 @@ public static class AddInvoiceItem { Map metadata; /** - * The period associated with this invoice item. Defaults to the period of the underlying - * subscription that surrounds the start of the phase. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ @SerializedName("period") Period period; @@ -2404,8 +2378,9 @@ public Builder putAllMetadata(Map map) { } /** - * The period associated with this invoice item. Defaults to the period of the underlying - * subscription that surrounds the start of the phase. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ public Builder setPeriod( SubscriptionScheduleUpdateParams.Phase.AddInvoiceItem.Period period) { diff --git a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java index 129d4b7f0a5..9c6bcde48d8 100644 --- a/src/main/java/com/stripe/param/SubscriptionUpdateParams.java +++ b/src/main/java/com/stripe/param/SubscriptionUpdateParams.java @@ -49,6 +49,10 @@ public class SubscriptionUpdateParams extends ApiRequestParams { @SerializedName("billing_cycle_anchor") BillingCycleAnchor billingCycleAnchor; + /** Sets the billing schedules for the subscription. */ + @SerializedName("billing_schedules") + Object billingSchedules; + /** * Define thresholds at which an invoice will be sent, and the subscription advanced to a new * billing period. When updating, pass an empty string to remove previously-defined thresholds. @@ -294,6 +298,7 @@ private SubscriptionUpdateParams( Object applicationFeePercent, AutomaticTax automaticTax, BillingCycleAnchor billingCycleAnchor, + Object billingSchedules, Object billingThresholds, Object cancelAt, Boolean cancelAtPeriodEnd, @@ -327,6 +332,7 @@ private SubscriptionUpdateParams( this.applicationFeePercent = applicationFeePercent; this.automaticTax = automaticTax; this.billingCycleAnchor = billingCycleAnchor; + this.billingSchedules = billingSchedules; this.billingThresholds = billingThresholds; this.cancelAt = cancelAt; this.cancelAtPeriodEnd = cancelAtPeriodEnd; @@ -371,6 +377,8 @@ public static class Builder { private BillingCycleAnchor billingCycleAnchor; + private Object billingSchedules; + private Object billingThresholds; private Object cancelAt; @@ -436,6 +444,7 @@ public SubscriptionUpdateParams build() { this.applicationFeePercent, this.automaticTax, this.billingCycleAnchor, + this.billingSchedules, this.billingThresholds, this.cancelAt, this.cancelAtPeriodEnd, @@ -540,6 +549,47 @@ public Builder setBillingCycleAnchor( return this; } + /** + * Add an element to `billingSchedules` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionUpdateParams#billingSchedules} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder addBillingSchedule(SubscriptionUpdateParams.BillingSchedule element) { + if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) { + this.billingSchedules = new ArrayList(); + } + ((List) this.billingSchedules).add(element); + return this; + } + + /** + * Add all elements to `billingSchedules` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionUpdateParams#billingSchedules} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder addAllBillingSchedule(List elements) { + if (this.billingSchedules == null || this.billingSchedules instanceof EmptyParam) { + this.billingSchedules = new ArrayList(); + } + ((List) this.billingSchedules).addAll(elements); + return this; + } + + /** Sets the billing schedules for the subscription. */ + public Builder setBillingSchedules(EmptyParam billingSchedules) { + this.billingSchedules = billingSchedules; + return this; + } + + /** Sets the billing schedules for the subscription. */ + public Builder setBillingSchedules( + List billingSchedules) { + this.billingSchedules = billingSchedules; + return this; + } + /** * Define thresholds at which an invoice will be sent, and the subscription advanced to a new * billing period. When updating, pass an empty string to remove previously-defined thresholds. @@ -1157,8 +1207,9 @@ public static class AddInvoiceItem { Map metadata; /** - * The period associated with this invoice item. Defaults to the current period of the - * subscription. + * The period associated with this invoice item. If not set, {@code period.start.type} defaults + * to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ @SerializedName("period") Period period; @@ -1319,8 +1370,9 @@ public Builder putAllMetadata(Map map) { } /** - * The period associated with this invoice item. Defaults to the current period of the - * subscription. + * The period associated with this invoice item. If not set, {@code period.start.type} + * defaults to {@code max_item_period_start} and {@code period.end.type} defaults to {@code + * min_item_period_end}. */ public Builder setPeriod(SubscriptionUpdateParams.AddInvoiceItem.Period period) { this.period = period; @@ -2490,33 +2542,516 @@ public Builder putExtraParam(String key, Object value) { return this; } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link SubscriptionUpdateParams.AutomaticTax.Liability#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionUpdateParams.AutomaticTax.Liability#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Type of the account referenced in the request. */ + public Builder setType(SubscriptionUpdateParams.AutomaticTax.Liability.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("account") + ACCOUNT("account"), + + @SerializedName("self") + SELF("self"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillingSchedule { + /** Configure billing schedule differently for individual subscription items. */ + @SerializedName("applies_to") + List appliesTo; + + /** The end date for the billing schedule. */ + @SerializedName("bill_until") + BillUntil billUntil; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up to + * 200 characters. If not provided, a unique key will be generated. + */ + @SerializedName("key") + Object key; + + private BillingSchedule( + List appliesTo, + BillUntil billUntil, + Map extraParams, + Object key) { + this.appliesTo = appliesTo; + this.billUntil = billUntil; + this.extraParams = extraParams; + this.key = key; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List appliesTo; + + private BillUntil billUntil; + + private Map extraParams; + + private Object key; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.BillingSchedule build() { + return new SubscriptionUpdateParams.BillingSchedule( + this.appliesTo, this.billUntil, this.extraParams, this.key); + } + + /** + * Add an element to `appliesTo` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionUpdateParams.BillingSchedule#appliesTo} for the field documentation. + */ + public Builder addAppliesTo(SubscriptionUpdateParams.BillingSchedule.AppliesTo element) { + if (this.appliesTo == null) { + this.appliesTo = new ArrayList<>(); + } + this.appliesTo.add(element); + return this; + } + + /** + * Add all elements to `appliesTo` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * SubscriptionUpdateParams.BillingSchedule#appliesTo} for the field documentation. + */ + public Builder addAllAppliesTo( + List elements) { + if (this.appliesTo == null) { + this.appliesTo = new ArrayList<>(); + } + this.appliesTo.addAll(elements); + return this; + } + + /** The end date for the billing schedule. */ + public Builder setBillUntil(SubscriptionUpdateParams.BillingSchedule.BillUntil billUntil) { + this.billUntil = billUntil; + 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 + * SubscriptionUpdateParams.BillingSchedule#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SubscriptionUpdateParams.BillingSchedule#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up + * to 200 characters. If not provided, a unique key will be generated. + */ + public Builder setKey(String key) { + this.key = key; + return this; + } + + /** + * Specify a key for the billing schedule. Must be unique to this field, alphanumeric, and up + * to 200 characters. If not provided, a unique key will be generated. + */ + public Builder setKey(EmptyParam key) { + this.key = key; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AppliesTo { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 ID of the price object. */ + @SerializedName("price") + Object price; + + /** + * Required. Controls which subscription items the billing schedule applies + * to. + */ + @SerializedName("type") + Type type; + + private AppliesTo(Map extraParams, Object price, Type type) { + this.extraParams = extraParams; + this.price = price; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object price; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.BillingSchedule.AppliesTo build() { + return new SubscriptionUpdateParams.BillingSchedule.AppliesTo( + this.extraParams, this.price, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionUpdateParams.BillingSchedule.AppliesTo#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionUpdateParams.BillingSchedule.AppliesTo#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 ID of the price object. */ + public Builder setPrice(String price) { + this.price = price; + return this; + } + + /** The ID of the price object. */ + public Builder setPrice(EmptyParam price) { + this.price = price; + return this; + } + + /** + * Required. Controls which subscription items the billing schedule applies + * to. + */ + public Builder setType(SubscriptionUpdateParams.BillingSchedule.AppliesTo.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("price") + PRICE("price"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillUntil { + /** Specifies the billing period. */ + @SerializedName("duration") + Duration duration; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 end date of the billing schedule. */ + @SerializedName("timestamp") + Long timestamp; + + /** + * Required. Describes how the billing schedule will determine the end date. + * Either {@code duration} or {@code timestamp}. + */ + @SerializedName("type") + Type type; + + private BillUntil( + Duration duration, Map extraParams, Long timestamp, Type type) { + this.duration = duration; + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Duration duration; + + private Map extraParams; + + private Long timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.BillingSchedule.BillUntil build() { + return new SubscriptionUpdateParams.BillingSchedule.BillUntil( + this.duration, this.extraParams, this.timestamp, this.type); + } + + /** Specifies the billing period. */ + public Builder setDuration( + SubscriptionUpdateParams.BillingSchedule.BillUntil.Duration duration) { + this.duration = duration; + 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 SubscriptionUpdateParams.BillingSchedule.BillUntil#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SubscriptionUpdateParams.BillingSchedule.BillUntil#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 end date of the billing schedule. */ + public Builder setTimestamp(Long timestamp) { + this.timestamp = timestamp; + return this; + } + + /** + * Required. Describes how the billing schedule will determine the end + * date. Either {@code duration} or {@code timestamp}. + */ + public Builder setType(SubscriptionUpdateParams.BillingSchedule.BillUntil.Type type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Duration { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. Specifies billing duration. Either {@code day}, {@code week}, + * {@code month} or {@code year}. + */ + @SerializedName("interval") + Interval interval; + + /** The multiplier applied to the interval. */ + @SerializedName("interval_count") + Long intervalCount; + + private Duration(Map extraParams, Interval interval, Long intervalCount) { + this.extraParams = extraParams; + this.interval = interval; + this.intervalCount = intervalCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Interval interval; + + private Long intervalCount; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.BillingSchedule.BillUntil.Duration build() { + return new SubscriptionUpdateParams.BillingSchedule.BillUntil.Duration( + this.extraParams, this.interval, this.intervalCount); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionUpdateParams.BillingSchedule.BillUntil.Duration#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionUpdateParams.BillingSchedule.BillUntil.Duration#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. Specifies billing duration. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + public Builder setInterval( + SubscriptionUpdateParams.BillingSchedule.BillUntil.Duration.Interval interval) { + this.interval = interval; + return this; + } + + /** The multiplier applied to the interval. */ + public Builder setIntervalCount(Long intervalCount) { + this.intervalCount = intervalCount; + return this; } - this.extraParams.putAll(map); - return this; } - /** Required. Type of the account referenced in the request. */ - public Builder setType(SubscriptionUpdateParams.AutomaticTax.Liability.Type type) { - this.type = type; - return this; + public enum Interval implements ApiRequestParams.EnumParam { + @SerializedName("day") + DAY("day"), + + @SerializedName("month") + MONTH("month"), + + @SerializedName("week") + WEEK("week"), + + @SerializedName("year") + YEAR("year"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Interval(String value) { + this.value = value; + } } } public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("account") - ACCOUNT("account"), + @SerializedName("duration") + DURATION("duration"), - @SerializedName("self") - SELF("self"); + @SerializedName("timestamp") + TIMESTAMP("timestamp"); @Getter(onMethod_ = {@Override}) private final String value; @@ -4971,6 +5506,13 @@ public static class PaymentMethodOptions { @SerializedName("konbini") Object konbini; + /** + * This sub-hash contains details about the Pix payment method options to pass to the + * invoice’s PaymentIntent. + */ + @SerializedName("pix") + Object pix; + /** * This sub-hash contains details about the SEPA Direct Debit payment method options to pass * to the invoice’s PaymentIntent. @@ -5000,6 +5542,7 @@ private PaymentMethodOptions( Map extraParams, Object idBankTransfer, Object konbini, + Object pix, Object sepaDebit, Object upi, Object usBankAccount) { @@ -5010,6 +5553,7 @@ private PaymentMethodOptions( this.extraParams = extraParams; this.idBankTransfer = idBankTransfer; this.konbini = konbini; + this.pix = pix; this.sepaDebit = sepaDebit; this.upi = upi; this.usBankAccount = usBankAccount; @@ -5034,6 +5578,8 @@ public static class Builder { private Object konbini; + private Object pix; + private Object sepaDebit; private Object upi; @@ -5050,6 +5596,7 @@ public SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions build() { this.extraParams, this.idBankTransfer, this.konbini, + this.pix, this.sepaDebit, this.upi, this.usBankAccount); @@ -5201,6 +5748,25 @@ public Builder setKonbini(EmptyParam konbini) { return this; } + /** + * This sub-hash contains details about the Pix payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setPix( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix pix) { + this.pix = pix; + return this; + } + + /** + * This sub-hash contains details about the Pix payment method options to pass to the + * invoice’s PaymentIntent. + */ + public Builder setPix(EmptyParam pix) { + this.pix = pix; + return this; + } + /** * This sub-hash contains details about the SEPA Direct Debit payment method options to pass * to the invoice’s PaymentIntent. @@ -6367,6 +6933,270 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Pix { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Configuration options for setting up a mandate. */ + @SerializedName("mandate_options") + MandateOptions mandateOptions; + + private Pix(Map extraParams, MandateOptions mandateOptions) { + this.extraParams = extraParams; + this.mandateOptions = mandateOptions; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private MandateOptions mandateOptions; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix build() { + return new SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix( + this.extraParams, this.mandateOptions); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Configuration options for setting up a mandate. */ + public Builder setMandateOptions( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + mandateOptions) { + this.mandateOptions = mandateOptions; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MandateOptions { + /** Amount to be charged for future payments. If not provided, defaults to 40000. */ + @SerializedName("amount") + Long amount; + + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + @SerializedName("amount_includes_iof") + AmountIncludesIof amountIncludesIof; + + /** + * Date when the mandate expires and no further payments will be charged, in {@code + * YYYY-MM-DD}. If not provided, the mandate will be active until canceled. + */ + @SerializedName("end_date") + Object endDate; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Schedule at which the future payments will be charged. Defaults to {@code weekly}. */ + @SerializedName("payment_schedule") + PaymentSchedule paymentSchedule; + + private MandateOptions( + Long amount, + AmountIncludesIof amountIncludesIof, + Object endDate, + Map extraParams, + PaymentSchedule paymentSchedule) { + this.amount = amount; + this.amountIncludesIof = amountIncludesIof; + this.endDate = endDate; + this.extraParams = extraParams; + this.paymentSchedule = paymentSchedule; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long amount; + + private AmountIncludesIof amountIncludesIof; + + private Object endDate; + + private Map extraParams; + + private PaymentSchedule paymentSchedule; + + /** Finalize and obtain parameter instance from this builder. */ + public SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + build() { + return new SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix + .MandateOptions( + this.amount, + this.amountIncludesIof, + this.endDate, + this.extraParams, + this.paymentSchedule); + } + + /** Amount to be charged for future payments. If not provided, defaults to 40000. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Determines if the amount includes the IOF tax. Defaults to {@code never}. */ + public Builder setAmountIncludesIof( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + .AmountIncludesIof + amountIncludesIof) { + this.amountIncludesIof = amountIncludesIof; + return this; + } + + /** + * Date when the mandate expires and no further payments will be charged, in {@code + * YYYY-MM-DD}. If not provided, the mandate will be active until canceled. + */ + public Builder setEndDate(String endDate) { + this.endDate = endDate; + return this; + } + + /** + * Date when the mandate expires and no further payments will be charged, in {@code + * YYYY-MM-DD}. If not provided, the mandate will be active until canceled. + */ + public Builder setEndDate(EmptyParam endDate) { + this.endDate = endDate; + 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 + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Schedule at which the future payments will be charged. Defaults to {@code weekly}. + */ + public Builder setPaymentSchedule( + SubscriptionUpdateParams.PaymentSettings.PaymentMethodOptions.Pix.MandateOptions + .PaymentSchedule + paymentSchedule) { + this.paymentSchedule = paymentSchedule; + return this; + } + } + + public enum AmountIncludesIof implements ApiRequestParams.EnumParam { + @SerializedName("always") + ALWAYS("always"), + + @SerializedName("never") + NEVER("never"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountIncludesIof(String value) { + this.value = value; + } + } + + public enum PaymentSchedule implements ApiRequestParams.EnumParam { + @SerializedName("halfyearly") + HALFYEARLY("halfyearly"), + + @SerializedName("monthly") + MONTHLY("monthly"), + + @SerializedName("quarterly") + QUARTERLY("quarterly"), + + @SerializedName("weekly") + WEEKLY("weekly"), + + @SerializedName("yearly") + YEARLY("yearly"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PaymentSchedule(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SepaDebit { @@ -7290,6 +8120,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("pix") + PIX("pix"), + @SerializedName("promptpay") PROMPTPAY("promptpay"), diff --git a/src/main/java/com/stripe/param/TokenCreateParams.java b/src/main/java/com/stripe/param/TokenCreateParams.java index 05cfd38dfd7..97f43408949 100644 --- a/src/main/java/com/stripe/param/TokenCreateParams.java +++ b/src/main/java/com/stripe/param/TokenCreateParams.java @@ -930,11 +930,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -1037,13 +1037,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -2552,11 +2552,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -2659,13 +2659,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -3152,11 +3152,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -3259,13 +3259,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -5320,11 +5320,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -5427,13 +5427,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -6322,11 +6322,11 @@ public static class RegisteredAddress { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -6429,13 +6429,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java index 0cd3c8c08f7..bacda0115a8 100644 --- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java +++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java @@ -627,7 +627,10 @@ public enum ApiVersion implements ApiRequestParams.EnumParam { VERSION_2025_07_30_BASIL("2025-07-30.basil"), @SerializedName("2025-08-27.basil") - VERSION_2025_08_27_BASIL("2025-08-27.basil"); + VERSION_2025_08_27_BASIL("2025-08-27.basil"), + + @SerializedName("2025-09-30.clover") + VERSION_2025_09_30_CLOVER("2025-09-30.clover"); @Getter(onMethod_ = {@Override}) private final String value; diff --git a/src/main/java/com/stripe/param/billing/AlertCreateParams.java b/src/main/java/com/stripe/param/billing/AlertCreateParams.java index f6e4a483961..c8ad48b58c9 100644 --- a/src/main/java/com/stripe/param/billing/AlertCreateParams.java +++ b/src/main/java/com/stripe/param/billing/AlertCreateParams.java @@ -173,10 +173,7 @@ public static class UsageThreshold { @SerializedName("meter") String meter; - /** - * Required. Whether the alert should only fire only once, or once per billing - * cycle. - */ + /** Required. Defines how the alert will behave. */ @SerializedName("recurrence") Recurrence recurrence; @@ -281,10 +278,7 @@ public Builder setMeter(String meter) { return this; } - /** - * Required. Whether the alert should only fire only once, or once per - * billing cycle. - */ + /** Required. Defines how the alert will behave. */ public Builder setRecurrence(AlertCreateParams.UsageThreshold.Recurrence recurrence) { this.recurrence = recurrence; return this; diff --git a/src/main/java/com/stripe/param/billing/MeterUsageRetrieveParams.java b/src/main/java/com/stripe/param/billing/analytics/MeterUsageRetrieveParams.java similarity index 98% rename from src/main/java/com/stripe/param/billing/MeterUsageRetrieveParams.java rename to src/main/java/com/stripe/param/billing/analytics/MeterUsageRetrieveParams.java index a961ffbe435..3bae6bd8753 100644 --- a/src/main/java/com/stripe/param/billing/MeterUsageRetrieveParams.java +++ b/src/main/java/com/stripe/param/billing/analytics/MeterUsageRetrieveParams.java @@ -1,5 +1,5 @@ // File generated from our OpenAPI spec -package com.stripe.param.billing; +package com.stripe.param.billing.analytics; import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; @@ -21,8 +21,8 @@ public class MeterUsageRetrieveParams extends ApiRequestParams { * Required. The timestamp from when to stop aggregating meter events * (exclusive). Must be aligned with minute boundaries. */ - @SerializedName("end_time") - Long endTime; + @SerializedName("ends_at") + Long endsAt; /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") @@ -48,8 +48,8 @@ public class MeterUsageRetrieveParams extends ApiRequestParams { * Required. The timestamp from when to start aggregating meter events * (inclusive). Must be aligned with minute boundaries. */ - @SerializedName("start_time") - Long startTime; + @SerializedName("starts_at") + Long startsAt; /** The timezone to use for the start and end times. Defaults to UTC if not specified. */ @SerializedName("timezone") @@ -64,19 +64,19 @@ public class MeterUsageRetrieveParams extends ApiRequestParams { private MeterUsageRetrieveParams( String customer, - Long endTime, + Long endsAt, List expand, Map extraParams, List meters, - Long startTime, + Long startsAt, Timezone timezone, ValueGroupingWindow valueGroupingWindow) { this.customer = customer; - this.endTime = endTime; + this.endsAt = endsAt; this.expand = expand; this.extraParams = extraParams; this.meters = meters; - this.startTime = startTime; + this.startsAt = startsAt; this.timezone = timezone; this.valueGroupingWindow = valueGroupingWindow; } @@ -88,7 +88,7 @@ public static Builder builder() { public static class Builder { private String customer; - private Long endTime; + private Long endsAt; private List expand; @@ -96,7 +96,7 @@ public static class Builder { private List meters; - private Long startTime; + private Long startsAt; private Timezone timezone; @@ -106,11 +106,11 @@ public static class Builder { public MeterUsageRetrieveParams build() { return new MeterUsageRetrieveParams( this.customer, - this.endTime, + this.endsAt, this.expand, this.extraParams, this.meters, - this.startTime, + this.startsAt, this.timezone, this.valueGroupingWindow); } @@ -125,8 +125,8 @@ public Builder setCustomer(String customer) { * Required. The timestamp from when to stop aggregating meter events * (exclusive). Must be aligned with minute boundaries. */ - public Builder setEndTime(Long endTime) { - this.endTime = endTime; + public Builder setEndsAt(Long endsAt) { + this.endsAt = endsAt; return this; } @@ -212,8 +212,8 @@ public Builder addAllMeter(List elements) { * Required. The timestamp from when to start aggregating meter events * (inclusive). Must be aligned with minute boundaries. */ - public Builder setStartTime(Long startTime) { - this.startTime = startTime; + public Builder setStartsAt(Long startsAt) { + this.startsAt = startsAt; return this; } @@ -261,8 +261,8 @@ public static class Meter { Map extraParams; /** Required. Meter id to query usage for. */ - @SerializedName("meter_id") - String meterId; + @SerializedName("meter") + String meter; /** * Key-value pairs used to filter usage events by high cardinality tenant dimension values. If @@ -275,12 +275,12 @@ private Meter( Map dimensionFilters, List dimensionGroupByKeys, Map extraParams, - String meterId, + String meter, Map tenantFilters) { this.dimensionFilters = dimensionFilters; this.dimensionGroupByKeys = dimensionGroupByKeys; this.extraParams = extraParams; - this.meterId = meterId; + this.meter = meter; this.tenantFilters = tenantFilters; } @@ -295,7 +295,7 @@ public static class Builder { private Map extraParams; - private String meterId; + private String meter; private Map tenantFilters; @@ -305,7 +305,7 @@ public MeterUsageRetrieveParams.Meter build() { this.dimensionFilters, this.dimensionGroupByKeys, this.extraParams, - this.meterId, + this.meter, this.tenantFilters); } @@ -388,8 +388,8 @@ public Builder putAllExtraParam(Map map) { } /** Required. Meter id to query usage for. */ - public Builder setMeterId(String meterId) { - this.meterId = meterId; + public Builder setMeter(String meter) { + this.meter = meter; return this; } diff --git a/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java b/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java index bb3be2904af..d6db907fe3a 100644 --- a/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java +++ b/src/main/java/com/stripe/param/billingportal/ConfigurationCreateParams.java @@ -1205,19 +1205,25 @@ public static class SubscriptionUpdate { @SerializedName("schedule_at_period_end") ScheduleAtPeriodEnd scheduleAtPeriodEnd; + /** The behavior when updating a subscription that is trialing. */ + @SerializedName("trial_update_behavior") + TrialUpdateBehavior trialUpdateBehavior; + private SubscriptionUpdate( Object defaultAllowedUpdates, Boolean enabled, Map extraParams, Object products, ProrationBehavior prorationBehavior, - ScheduleAtPeriodEnd scheduleAtPeriodEnd) { + ScheduleAtPeriodEnd scheduleAtPeriodEnd, + TrialUpdateBehavior trialUpdateBehavior) { this.defaultAllowedUpdates = defaultAllowedUpdates; this.enabled = enabled; this.extraParams = extraParams; this.products = products; this.prorationBehavior = prorationBehavior; this.scheduleAtPeriodEnd = scheduleAtPeriodEnd; + this.trialUpdateBehavior = trialUpdateBehavior; } public static Builder builder() { @@ -1237,6 +1243,8 @@ public static class Builder { private ScheduleAtPeriodEnd scheduleAtPeriodEnd; + private TrialUpdateBehavior trialUpdateBehavior; + /** Finalize and obtain parameter instance from this builder. */ public ConfigurationCreateParams.Features.SubscriptionUpdate build() { return new ConfigurationCreateParams.Features.SubscriptionUpdate( @@ -1245,7 +1253,8 @@ public ConfigurationCreateParams.Features.SubscriptionUpdate build() { this.extraParams, this.products, this.prorationBehavior, - this.scheduleAtPeriodEnd); + this.scheduleAtPeriodEnd, + this.trialUpdateBehavior); } /** @@ -1415,6 +1424,14 @@ public Builder setScheduleAtPeriodEnd( this.scheduleAtPeriodEnd = scheduleAtPeriodEnd; return this; } + + /** The behavior when updating a subscription that is trialing. */ + public Builder setTrialUpdateBehavior( + ConfigurationCreateParams.Features.SubscriptionUpdate.TrialUpdateBehavior + trialUpdateBehavior) { + this.trialUpdateBehavior = trialUpdateBehavior; + return this; + } } @Getter @@ -1903,6 +1920,21 @@ public enum ProrationBehavior implements ApiRequestParams.EnumParam { this.value = value; } } + + public enum TrialUpdateBehavior implements ApiRequestParams.EnumParam { + @SerializedName("continue_trial") + CONTINUE_TRIAL("continue_trial"), + + @SerializedName("end_trial") + END_TRIAL("end_trial"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TrialUpdateBehavior(String value) { + this.value = value; + } + } } } diff --git a/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java b/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java index 87418baeec9..f8937cb78fe 100644 --- a/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java +++ b/src/main/java/com/stripe/param/billingportal/ConfigurationUpdateParams.java @@ -1247,19 +1247,25 @@ public static class SubscriptionUpdate { @SerializedName("schedule_at_period_end") ScheduleAtPeriodEnd scheduleAtPeriodEnd; + /** The behavior when updating a subscription that is trialing. */ + @SerializedName("trial_update_behavior") + TrialUpdateBehavior trialUpdateBehavior; + private SubscriptionUpdate( Object defaultAllowedUpdates, Boolean enabled, Map extraParams, Object products, ProrationBehavior prorationBehavior, - ScheduleAtPeriodEnd scheduleAtPeriodEnd) { + ScheduleAtPeriodEnd scheduleAtPeriodEnd, + TrialUpdateBehavior trialUpdateBehavior) { this.defaultAllowedUpdates = defaultAllowedUpdates; this.enabled = enabled; this.extraParams = extraParams; this.products = products; this.prorationBehavior = prorationBehavior; this.scheduleAtPeriodEnd = scheduleAtPeriodEnd; + this.trialUpdateBehavior = trialUpdateBehavior; } public static Builder builder() { @@ -1279,6 +1285,8 @@ public static class Builder { private ScheduleAtPeriodEnd scheduleAtPeriodEnd; + private TrialUpdateBehavior trialUpdateBehavior; + /** Finalize and obtain parameter instance from this builder. */ public ConfigurationUpdateParams.Features.SubscriptionUpdate build() { return new ConfigurationUpdateParams.Features.SubscriptionUpdate( @@ -1287,7 +1295,8 @@ public ConfigurationUpdateParams.Features.SubscriptionUpdate build() { this.extraParams, this.products, this.prorationBehavior, - this.scheduleAtPeriodEnd); + this.scheduleAtPeriodEnd, + this.trialUpdateBehavior); } /** @@ -1457,6 +1466,14 @@ public Builder setScheduleAtPeriodEnd( this.scheduleAtPeriodEnd = scheduleAtPeriodEnd; return this; } + + /** The behavior when updating a subscription that is trialing. */ + public Builder setTrialUpdateBehavior( + ConfigurationUpdateParams.Features.SubscriptionUpdate.TrialUpdateBehavior + trialUpdateBehavior) { + this.trialUpdateBehavior = trialUpdateBehavior; + return this; + } } @Getter @@ -1980,6 +1997,21 @@ public enum ProrationBehavior implements ApiRequestParams.EnumParam { this.value = value; } } + + public enum TrialUpdateBehavior implements ApiRequestParams.EnumParam { + @SerializedName("continue_trial") + CONTINUE_TRIAL("continue_trial"), + + @SerializedName("end_trial") + END_TRIAL("end_trial"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TrialUpdateBehavior(String value) { + this.value = value; + } + } } } diff --git a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java index 8e26e492b12..f5f29d32ddb 100644 --- a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java +++ b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java @@ -44,6 +44,13 @@ public class SessionCreateParams extends ApiRequestParams { @SerializedName("billing_address_collection") BillingAddressCollection billingAddressCollection; + /** + * The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is + * {@code custom}. + */ + @SerializedName("branding_settings") + BrandingSettings brandingSettings; + /** * If set, Checkout displays a back button and customers will be directed to this URL if they * decide to cancel payment and return to your website. This parameter is not allowed if ui_mode @@ -153,6 +160,15 @@ public class SessionCreateParams extends ApiRequestParams { @SerializedName("discounts") List discounts; + /** + * A list of the types of payment methods (e.g., {@code card}) that should be excluded from this + * Checkout Session. This should only be used when payment methods for this Checkout Session are + * managed through the Stripe + * Dashboard. + */ + @SerializedName("excluded_payment_method_types") + List excludedPaymentMethodTypes; + /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") List expand; @@ -216,6 +232,18 @@ public class SessionCreateParams extends ApiRequestParams { @SerializedName("mode") Mode mode; + /** + * Controls name collection settings for the session. + * + *

You can configure Checkout to collect your customers' business names, individual names, or + * both. Each name field can be either required or optional. + * + *

If a Customer is created or provided, + * the names can be saved to the Customer object as well. + */ + @SerializedName("name_collection") + NameCollection nameCollection; + /** * A list of optional items the customer can add to their order at checkout. Use this parameter to * pass one-time or recurring Prices. @@ -400,6 +428,7 @@ private SessionCreateParams( Boolean allowPromotionCodes, AutomaticTax automaticTax, BillingAddressCollection billingAddressCollection, + BrandingSettings brandingSettings, String cancelUrl, String clientReferenceId, ConsentCollection consentCollection, @@ -412,6 +441,7 @@ private SessionCreateParams( String customerEmail, CustomerUpdate customerUpdate, List discounts, + List excludedPaymentMethodTypes, List expand, Long expiresAt, Map extraParams, @@ -420,6 +450,7 @@ private SessionCreateParams( Locale locale, Map metadata, Mode mode, + NameCollection nameCollection, List optionalItems, OriginContext originContext, PaymentIntentData paymentIntentData, @@ -447,6 +478,7 @@ private SessionCreateParams( this.allowPromotionCodes = allowPromotionCodes; this.automaticTax = automaticTax; this.billingAddressCollection = billingAddressCollection; + this.brandingSettings = brandingSettings; this.cancelUrl = cancelUrl; this.clientReferenceId = clientReferenceId; this.consentCollection = consentCollection; @@ -459,6 +491,7 @@ private SessionCreateParams( this.customerEmail = customerEmail; this.customerUpdate = customerUpdate; this.discounts = discounts; + this.excludedPaymentMethodTypes = excludedPaymentMethodTypes; this.expand = expand; this.expiresAt = expiresAt; this.extraParams = extraParams; @@ -467,6 +500,7 @@ private SessionCreateParams( this.locale = locale; this.metadata = metadata; this.mode = mode; + this.nameCollection = nameCollection; this.optionalItems = optionalItems; this.originContext = originContext; this.paymentIntentData = paymentIntentData; @@ -506,6 +540,8 @@ public static class Builder { private BillingAddressCollection billingAddressCollection; + private BrandingSettings brandingSettings; + private String cancelUrl; private String clientReferenceId; @@ -530,6 +566,8 @@ public static class Builder { private List discounts; + private List excludedPaymentMethodTypes; + private List expand; private Long expiresAt; @@ -546,6 +584,8 @@ public static class Builder { private Mode mode; + private NameCollection nameCollection; + private List optionalItems; private OriginContext originContext; @@ -598,6 +638,7 @@ public SessionCreateParams build() { this.allowPromotionCodes, this.automaticTax, this.billingAddressCollection, + this.brandingSettings, this.cancelUrl, this.clientReferenceId, this.consentCollection, @@ -610,6 +651,7 @@ public SessionCreateParams build() { this.customerEmail, this.customerUpdate, this.discounts, + this.excludedPaymentMethodTypes, this.expand, this.expiresAt, this.extraParams, @@ -618,6 +660,7 @@ public SessionCreateParams build() { this.locale, this.metadata, this.mode, + this.nameCollection, this.optionalItems, this.originContext, this.paymentIntentData, @@ -682,6 +725,15 @@ public Builder setBillingAddressCollection( return this; } + /** + * The branding settings for the Checkout Session. This parameter is not allowed if ui_mode is + * {@code custom}. + */ + public Builder setBrandingSettings(SessionCreateParams.BrandingSettings brandingSettings) { + this.brandingSettings = brandingSettings; + return this; + } + /** * If set, Checkout displays a back button and customers will be directed to this URL if they * decide to cancel payment and return to your website. This parameter is not allowed if ui_mode @@ -849,6 +901,34 @@ public Builder addAllDiscount(List elements) { return this; } + /** + * Add an element to `excludedPaymentMethodTypes` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link SessionCreateParams#excludedPaymentMethodTypes} for the field documentation. + */ + public Builder addExcludedPaymentMethodType( + SessionCreateParams.ExcludedPaymentMethodType element) { + if (this.excludedPaymentMethodTypes == null) { + this.excludedPaymentMethodTypes = new ArrayList<>(); + } + this.excludedPaymentMethodTypes.add(element); + return this; + } + + /** + * Add all elements to `excludedPaymentMethodTypes` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link SessionCreateParams#excludedPaymentMethodTypes} for the field documentation. + */ + public Builder addAllExcludedPaymentMethodType( + List elements) { + if (this.excludedPaymentMethodTypes == null) { + this.excludedPaymentMethodTypes = new ArrayList<>(); + } + this.excludedPaymentMethodTypes.addAll(elements); + 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 @@ -987,6 +1067,20 @@ public Builder setMode(SessionCreateParams.Mode mode) { return this; } + /** + * Controls name collection settings for the session. + * + *

You can configure Checkout to collect your customers' business names, individual names, or + * both. Each name field can be either required or optional. + * + *

If a Customer is created or provided, + * the names can be saved to the Customer object as well. + */ + public Builder setNameCollection(SessionCreateParams.NameCollection nameCollection) { + this.nameCollection = nameCollection; + return this; + } + /** * Add an element to `optionalItems` list. A list is initialized for the first `add/addAll` * call, and subsequent calls adds additional elements to the original list. See {@link @@ -1644,16 +1738,470 @@ public SessionCreateParams.AutomaticTax.Liability build() { this.account, this.extraParams, this.type); } - /** The connected account being referenced when {@code type} is {@code account}. */ - public Builder setAccount(String account) { - this.account = account; - return this; + /** The connected account being referenced when {@code type} is {@code account}. */ + public Builder setAccount(String account) { + this.account = account; + 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 SessionCreateParams.AutomaticTax.Liability#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.AutomaticTax.Liability#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Type of the account referenced in the request. */ + public Builder setType(SessionCreateParams.AutomaticTax.Liability.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("account") + ACCOUNT("account"), + + @SerializedName("self") + SELF("self"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BrandingSettings { + /** + * A hex color value starting with {@code #} representing the background color for the Checkout + * Session. + */ + @SerializedName("background_color") + Object backgroundColor; + + /** The border style for the Checkout Session. */ + @SerializedName("border_style") + ApiRequestParams.EnumParam borderStyle; + + /** + * A hex color value starting with {@code #} representing the button color for the Checkout + * Session. + */ + @SerializedName("button_color") + Object buttonColor; + + /** A string to override the business name shown on the Checkout Session. */ + @SerializedName("display_name") + String displayName; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The font family for the Checkout Session corresponding to one of the supported + * font families. + */ + @SerializedName("font_family") + ApiRequestParams.EnumParam fontFamily; + + /** The icon for the Checkout Session. You cannot set both {@code logo} and {@code icon}. */ + @SerializedName("icon") + Icon icon; + + /** The logo for the Checkout Session. You cannot set both {@code logo} and {@code icon}. */ + @SerializedName("logo") + Logo logo; + + private BrandingSettings( + Object backgroundColor, + ApiRequestParams.EnumParam borderStyle, + Object buttonColor, + String displayName, + Map extraParams, + ApiRequestParams.EnumParam fontFamily, + Icon icon, + Logo logo) { + this.backgroundColor = backgroundColor; + this.borderStyle = borderStyle; + this.buttonColor = buttonColor; + this.displayName = displayName; + this.extraParams = extraParams; + this.fontFamily = fontFamily; + this.icon = icon; + this.logo = logo; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object backgroundColor; + + private ApiRequestParams.EnumParam borderStyle; + + private Object buttonColor; + + private String displayName; + + private Map extraParams; + + private ApiRequestParams.EnumParam fontFamily; + + private Icon icon; + + private Logo logo; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.BrandingSettings build() { + return new SessionCreateParams.BrandingSettings( + this.backgroundColor, + this.borderStyle, + this.buttonColor, + this.displayName, + this.extraParams, + this.fontFamily, + this.icon, + this.logo); + } + + /** + * A hex color value starting with {@code #} representing the background color for the + * Checkout Session. + */ + public Builder setBackgroundColor(String backgroundColor) { + this.backgroundColor = backgroundColor; + return this; + } + + /** + * A hex color value starting with {@code #} representing the background color for the + * Checkout Session. + */ + public Builder setBackgroundColor(EmptyParam backgroundColor) { + this.backgroundColor = backgroundColor; + return this; + } + + /** The border style for the Checkout Session. */ + public Builder setBorderStyle(SessionCreateParams.BrandingSettings.BorderStyle borderStyle) { + this.borderStyle = borderStyle; + return this; + } + + /** The border style for the Checkout Session. */ + public Builder setBorderStyle(EmptyParam borderStyle) { + this.borderStyle = borderStyle; + return this; + } + + /** + * A hex color value starting with {@code #} representing the button color for the Checkout + * Session. + */ + public Builder setButtonColor(String buttonColor) { + this.buttonColor = buttonColor; + return this; + } + + /** + * A hex color value starting with {@code #} representing the button color for the Checkout + * Session. + */ + public Builder setButtonColor(EmptyParam buttonColor) { + this.buttonColor = buttonColor; + return this; + } + + /** A string to override the business name shown on the Checkout Session. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * SessionCreateParams.BrandingSettings#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SessionCreateParams.BrandingSettings#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 font family for the Checkout Session corresponding to one of the supported + * font families. + */ + public Builder setFontFamily(SessionCreateParams.BrandingSettings.FontFamily fontFamily) { + this.fontFamily = fontFamily; + return this; + } + + /** + * The font family for the Checkout Session corresponding to one of the supported + * font families. + */ + public Builder setFontFamily(EmptyParam fontFamily) { + this.fontFamily = fontFamily; + return this; + } + + /** The icon for the Checkout Session. You cannot set both {@code logo} and {@code icon}. */ + public Builder setIcon(SessionCreateParams.BrandingSettings.Icon icon) { + this.icon = icon; + return this; + } + + /** The logo for the Checkout Session. You cannot set both {@code logo} and {@code icon}. */ + public Builder setLogo(SessionCreateParams.BrandingSettings.Logo logo) { + this.logo = logo; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Icon { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 ID of a File upload representing the + * icon. Purpose must be {@code business_icon}. Required if {@code type} is {@code file} and + * disallowed otherwise. + */ + @SerializedName("file") + String file; + + /** + * Required. The type of image for the icon. Must be one of {@code file} or + * {@code url}. + */ + @SerializedName("type") + Type type; + + /** The URL of the image. Required if {@code type} is {@code url} and disallowed otherwise. */ + @SerializedName("url") + String url; + + private Icon(Map extraParams, String file, Type type, String url) { + this.extraParams = extraParams; + this.file = file; + this.type = type; + this.url = url; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String file; + + private Type type; + + private String url; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.BrandingSettings.Icon build() { + return new SessionCreateParams.BrandingSettings.Icon( + this.extraParams, this.file, this.type, 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 SessionCreateParams.BrandingSettings.Icon#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.BrandingSettings.Icon#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 ID of a File upload representing the + * icon. Purpose must be {@code business_icon}. Required if {@code type} is {@code file} and + * disallowed otherwise. + */ + public Builder setFile(String file) { + this.file = file; + return this; + } + + /** + * Required. The type of image for the icon. Must be one of {@code file} or + * {@code url}. + */ + public Builder setType(SessionCreateParams.BrandingSettings.Icon.Type type) { + this.type = type; + return this; + } + + /** + * The URL of the image. Required if {@code type} is {@code url} and disallowed otherwise. + */ + public Builder setUrl(String url) { + this.url = url; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("file") + FILE("file"), + + @SerializedName("url") + URL("url"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Logo { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 ID of a File upload representing the + * logo. Purpose must be {@code business_logo}. Required if {@code type} is {@code file} and + * disallowed otherwise. + */ + @SerializedName("file") + String file; + + /** + * Required. The type of image for the logo. Must be one of {@code file} or + * {@code url}. + */ + @SerializedName("type") + Type type; + + /** The URL of the image. Required if {@code type} is {@code url} and disallowed otherwise. */ + @SerializedName("url") + String url; + + private Logo(Map extraParams, String file, Type type, String url) { + this.extraParams = extraParams; + this.file = file; + this.type = type; + this.url = url; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String file; + + private Type type; + + private String url; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.BrandingSettings.Logo build() { + return new SessionCreateParams.BrandingSettings.Logo( + this.extraParams, this.file, this.type, 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 SessionCreateParams.AutomaticTax.Liability#extraParams} for the field + * map. See {@link SessionCreateParams.BrandingSettings.Logo#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1667,7 +2215,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link SessionCreateParams.AutomaticTax.Liability#extraParams} for the field + * map. See {@link SessionCreateParams.BrandingSettings.Logo#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -1678,19 +2226,40 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Type of the account referenced in the request. */ - public Builder setType(SessionCreateParams.AutomaticTax.Liability.Type type) { + /** + * The ID of a File upload representing the + * logo. Purpose must be {@code business_logo}. Required if {@code type} is {@code file} and + * disallowed otherwise. + */ + public Builder setFile(String file) { + this.file = file; + return this; + } + + /** + * Required. The type of image for the logo. Must be one of {@code file} or + * {@code url}. + */ + public Builder setType(SessionCreateParams.BrandingSettings.Logo.Type type) { this.type = type; return this; } + + /** + * The URL of the image. Required if {@code type} is {@code url} and disallowed otherwise. + */ + public Builder setUrl(String url) { + this.url = url; + return this; + } } public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("account") - ACCOUNT("account"), + @SerializedName("file") + FILE("file"), - @SerializedName("self") - SELF("self"); + @SerializedName("url") + URL("url"); @Getter(onMethod_ = {@Override}) private final String value; @@ -1700,6 +2269,111 @@ public enum Type implements ApiRequestParams.EnumParam { } } } + + public enum BorderStyle implements ApiRequestParams.EnumParam { + @SerializedName("pill") + PILL("pill"), + + @SerializedName("rectangular") + RECTANGULAR("rectangular"), + + @SerializedName("rounded") + ROUNDED("rounded"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + BorderStyle(String value) { + this.value = value; + } + } + + public enum FontFamily implements ApiRequestParams.EnumParam { + @SerializedName("be_vietnam_pro") + BE_VIETNAM_PRO("be_vietnam_pro"), + + @SerializedName("bitter") + BITTER("bitter"), + + @SerializedName("chakra_petch") + CHAKRA_PETCH("chakra_petch"), + + @SerializedName("default") + DEFAULT("default"), + + @SerializedName("hahmlet") + HAHMLET("hahmlet"), + + @SerializedName("inconsolata") + INCONSOLATA("inconsolata"), + + @SerializedName("inter") + INTER("inter"), + + @SerializedName("lato") + LATO("lato"), + + @SerializedName("lora") + LORA("lora"), + + @SerializedName("m_plus_1_code") + M_PLUS_1_CODE("m_plus_1_code"), + + @SerializedName("montserrat") + MONTSERRAT("montserrat"), + + @SerializedName("noto_sans") + NOTO_SANS("noto_sans"), + + @SerializedName("noto_sans_jp") + NOTO_SANS_JP("noto_sans_jp"), + + @SerializedName("noto_serif") + NOTO_SERIF("noto_serif"), + + @SerializedName("nunito") + NUNITO("nunito"), + + @SerializedName("open_sans") + OPEN_SANS("open_sans"), + + @SerializedName("pridi") + PRIDI("pridi"), + + @SerializedName("pt_sans") + PT_SANS("pt_sans"), + + @SerializedName("pt_serif") + PT_SERIF("pt_serif"), + + @SerializedName("raleway") + RALEWAY("raleway"), + + @SerializedName("roboto") + ROBOTO("roboto"), + + @SerializedName("roboto_slab") + ROBOTO_SLAB("roboto_slab"), + + @SerializedName("source_sans_pro") + SOURCE_SANS_PRO("source_sans_pro"), + + @SerializedName("titillium_web") + TITILLIUM_WEB("titillium_web"), + + @SerializedName("ubuntu_mono") + UBUNTU_MONO("ubuntu_mono"), + + @SerializedName("zen_maru_gothic") + ZEN_MARU_GOTHIC("zen_maru_gothic"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + FontFamily(String value) { + this.value = value; + } + } } @Getter @@ -4979,19 +5653,28 @@ public static class ProductData { @SerializedName("tax_code") String taxCode; + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + @SerializedName("unit_label") + String unitLabel; + private ProductData( String description, Map extraParams, List images, Map metadata, String name, - String taxCode) { + String taxCode, + String unitLabel) { this.description = description; this.extraParams = extraParams; this.images = images; this.metadata = metadata; this.name = name; this.taxCode = taxCode; + this.unitLabel = unitLabel; } public static Builder builder() { @@ -5011,6 +5694,8 @@ public static class Builder { private String taxCode; + private String unitLabel; + /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.LineItem.PriceData.ProductData build() { return new SessionCreateParams.LineItem.PriceData.ProductData( @@ -5019,7 +5704,8 @@ public SessionCreateParams.LineItem.PriceData.ProductData build() { this.images, this.metadata, this.name, - this.taxCode); + this.taxCode, + this.unitLabel); } /** @@ -5127,6 +5813,15 @@ public Builder setTaxCode(String taxCode) { this.taxCode = taxCode; return this; } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(String unitLabel) { + this.unitLabel = unitLabel; + return this; + } } } @@ -5230,43 +5925,321 @@ public Builder setIntervalCount(Long intervalCount) { } } - public enum Interval implements ApiRequestParams.EnumParam { - @SerializedName("day") - DAY("day"), - - @SerializedName("month") - MONTH("month"), + public enum Interval implements ApiRequestParams.EnumParam { + @SerializedName("day") + DAY("day"), + + @SerializedName("month") + MONTH("month"), + + @SerializedName("week") + WEEK("week"), + + @SerializedName("year") + YEAR("year"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Interval(String value) { + this.value = value; + } + } + } + + public enum TaxBehavior implements ApiRequestParams.EnumParam { + @SerializedName("exclusive") + EXCLUSIVE("exclusive"), + + @SerializedName("inclusive") + INCLUSIVE("inclusive"), + + @SerializedName("unspecified") + UNSPECIFIED("unspecified"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TaxBehavior(String value) { + this.value = value; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class NameCollection { + /** Controls settings applied for collecting the customer's business name on the session. */ + @SerializedName("business") + Business business; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Controls settings applied for collecting the customer's individual name on the session. */ + @SerializedName("individual") + Individual individual; + + private NameCollection( + Business business, Map extraParams, Individual individual) { + this.business = business; + this.extraParams = extraParams; + this.individual = individual; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Business business; + + private Map extraParams; + + private Individual individual; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.NameCollection build() { + return new SessionCreateParams.NameCollection( + this.business, this.extraParams, this.individual); + } + + /** Controls settings applied for collecting the customer's business name on the session. */ + public Builder setBusiness(SessionCreateParams.NameCollection.Business business) { + this.business = business; + 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 + * SessionCreateParams.NameCollection#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SessionCreateParams.NameCollection#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Controls settings applied for collecting the customer's individual name on the session. */ + public Builder setIndividual(SessionCreateParams.NameCollection.Individual individual) { + this.individual = individual; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Business { + /** + * Required. Enable business name collection on the Checkout Session. + * Defaults to {@code false}. + */ + @SerializedName("enabled") + Boolean enabled; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Whether the customer is required to provide a business name before completing the Checkout + * Session. Defaults to {@code false}. + */ + @SerializedName("optional") + Boolean optional; + + private Business(Boolean enabled, Map extraParams, Boolean optional) { + this.enabled = enabled; + this.extraParams = extraParams; + this.optional = optional; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Boolean enabled; + + private Map extraParams; + + private Boolean optional; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.NameCollection.Business build() { + return new SessionCreateParams.NameCollection.Business( + this.enabled, this.extraParams, this.optional); + } + + /** + * Required. Enable business name collection on the Checkout Session. + * Defaults to {@code false}. + */ + public Builder setEnabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.NameCollection.Business#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.NameCollection.Business#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether the customer is required to provide a business name before completing the + * Checkout Session. Defaults to {@code false}. + */ + public Builder setOptional(Boolean optional) { + this.optional = optional; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Individual { + /** + * Required. Enable individual name collection on the Checkout Session. + * Defaults to {@code false}. + */ + @SerializedName("enabled") + Boolean enabled; - @SerializedName("week") - WEEK("week"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("year") - YEAR("year"); + /** + * Whether the customer is required to provide their name before completing the Checkout + * Session. Defaults to {@code false}. + */ + @SerializedName("optional") + Boolean optional; - @Getter(onMethod_ = {@Override}) - private final String value; + private Individual(Boolean enabled, Map extraParams, Boolean optional) { + this.enabled = enabled; + this.extraParams = extraParams; + this.optional = optional; + } - Interval(String value) { - this.value = value; - } - } + public static Builder builder() { + return new Builder(); } - public enum TaxBehavior implements ApiRequestParams.EnumParam { - @SerializedName("exclusive") - EXCLUSIVE("exclusive"), + public static class Builder { + private Boolean enabled; - @SerializedName("inclusive") - INCLUSIVE("inclusive"), + private Map extraParams; - @SerializedName("unspecified") - UNSPECIFIED("unspecified"); + private Boolean optional; - @Getter(onMethod_ = {@Override}) - private final String value; + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.NameCollection.Individual build() { + return new SessionCreateParams.NameCollection.Individual( + this.enabled, this.extraParams, this.optional); + } - TaxBehavior(String value) { - this.value = value; + /** + * Required. Enable individual name collection on the Checkout Session. + * Defaults to {@code false}. + */ + public Builder setEnabled(Boolean enabled) { + this.enabled = enabled; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.NameCollection.Individual#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.NameCollection.Individual#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Whether the customer is required to provide their name before completing the Checkout + * Session. Defaults to {@code false}. + */ + public Builder setOptional(Boolean optional) { + this.optional = optional; + return this; } } } @@ -6062,11 +7035,13 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -6169,13 +7144,15 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -6440,6 +7417,10 @@ public static class PaymentMethodOptions { @SerializedName("alipay") Alipay alipay; + /** contains details about the Alma payment method options. */ + @SerializedName("alma") + Alma alma; + /** contains details about the AmazonPay payment method options. */ @SerializedName("amazon_pay") AmazonPay amazonPay; @@ -6456,6 +7437,10 @@ public static class PaymentMethodOptions { @SerializedName("bancontact") Bancontact bancontact; + /** contains details about the Billie payment method options. */ + @SerializedName("billie") + Billie billie; + /** contains details about the Boleto payment method options. */ @SerializedName("boleto") Boleto boleto; @@ -6472,6 +7457,10 @@ public static class PaymentMethodOptions { @SerializedName("customer_balance") CustomerBalance customerBalance; + /** contains details about the DemoPay payment method options. */ + @SerializedName("demo_pay") + DemoPay demoPay; + /** contains details about the EPS payment method options. */ @SerializedName("eps") Eps eps; @@ -6573,6 +7562,10 @@ public static class PaymentMethodOptions { @SerializedName("samsung_pay") SamsungPay samsungPay; + /** contains details about the Satispay payment method options. */ + @SerializedName("satispay") + Satispay satispay; + /** contains details about the Sepa Debit payment method options. */ @SerializedName("sepa_debit") SepaDebit sepaDebit; @@ -6598,14 +7591,17 @@ private PaymentMethodOptions( Affirm affirm, AfterpayClearpay afterpayClearpay, Alipay alipay, + Alma alma, AmazonPay amazonPay, AuBecsDebit auBecsDebit, BacsDebit bacsDebit, Bancontact bancontact, + Billie billie, Boleto boleto, Card card, Cashapp cashapp, CustomerBalance customerBalance, + DemoPay demoPay, Eps eps, Map extraParams, Fpx fpx, @@ -6630,6 +7626,7 @@ private PaymentMethodOptions( Pix pix, RevolutPay revolutPay, SamsungPay samsungPay, + Satispay satispay, SepaDebit sepaDebit, Sofort sofort, Swish swish, @@ -6639,14 +7636,17 @@ private PaymentMethodOptions( this.affirm = affirm; this.afterpayClearpay = afterpayClearpay; this.alipay = alipay; + this.alma = alma; this.amazonPay = amazonPay; this.auBecsDebit = auBecsDebit; this.bacsDebit = bacsDebit; this.bancontact = bancontact; + this.billie = billie; this.boleto = boleto; this.card = card; this.cashapp = cashapp; this.customerBalance = customerBalance; + this.demoPay = demoPay; this.eps = eps; this.extraParams = extraParams; this.fpx = fpx; @@ -6671,6 +7671,7 @@ private PaymentMethodOptions( this.pix = pix; this.revolutPay = revolutPay; this.samsungPay = samsungPay; + this.satispay = satispay; this.sepaDebit = sepaDebit; this.sofort = sofort; this.swish = swish; @@ -6691,6 +7692,8 @@ public static class Builder { private Alipay alipay; + private Alma alma; + private AmazonPay amazonPay; private AuBecsDebit auBecsDebit; @@ -6699,6 +7702,8 @@ public static class Builder { private Bancontact bancontact; + private Billie billie; + private Boleto boleto; private Card card; @@ -6707,6 +7712,8 @@ public static class Builder { private CustomerBalance customerBalance; + private DemoPay demoPay; + private Eps eps; private Map extraParams; @@ -6755,6 +7762,8 @@ public static class Builder { private SamsungPay samsungPay; + private Satispay satispay; + private SepaDebit sepaDebit; private Sofort sofort; @@ -6772,14 +7781,17 @@ public SessionCreateParams.PaymentMethodOptions build() { this.affirm, this.afterpayClearpay, this.alipay, + this.alma, this.amazonPay, this.auBecsDebit, this.bacsDebit, this.bancontact, + this.billie, this.boleto, this.card, this.cashapp, this.customerBalance, + this.demoPay, this.eps, this.extraParams, this.fpx, @@ -6804,6 +7816,7 @@ public SessionCreateParams.PaymentMethodOptions build() { this.pix, this.revolutPay, this.samsungPay, + this.satispay, this.sepaDebit, this.sofort, this.swish, @@ -6836,6 +7849,12 @@ public Builder setAlipay(SessionCreateParams.PaymentMethodOptions.Alipay alipay) return this; } + /** contains details about the Alma payment method options. */ + public Builder setAlma(SessionCreateParams.PaymentMethodOptions.Alma alma) { + this.alma = alma; + return this; + } + /** contains details about the AmazonPay payment method options. */ public Builder setAmazonPay(SessionCreateParams.PaymentMethodOptions.AmazonPay amazonPay) { this.amazonPay = amazonPay; @@ -6861,6 +7880,12 @@ public Builder setBancontact(SessionCreateParams.PaymentMethodOptions.Bancontact return this; } + /** contains details about the Billie payment method options. */ + public Builder setBillie(SessionCreateParams.PaymentMethodOptions.Billie billie) { + this.billie = billie; + return this; + } + /** contains details about the Boleto payment method options. */ public Builder setBoleto(SessionCreateParams.PaymentMethodOptions.Boleto boleto) { this.boleto = boleto; @@ -6886,6 +7911,12 @@ public Builder setCustomerBalance( return this; } + /** contains details about the DemoPay payment method options. */ + public Builder setDemoPay(SessionCreateParams.PaymentMethodOptions.DemoPay demoPay) { + this.demoPay = demoPay; + return this; + } + /** contains details about the EPS payment method options. */ public Builder setEps(SessionCreateParams.PaymentMethodOptions.Eps eps) { this.eps = eps; @@ -7051,6 +8082,12 @@ public Builder setSamsungPay(SessionCreateParams.PaymentMethodOptions.SamsungPay return this; } + /** contains details about the Satispay payment method options. */ + public Builder setSatispay(SessionCreateParams.PaymentMethodOptions.Satispay satispay) { + this.satispay = satispay; + return this; + } + /** contains details about the Sepa Debit payment method options. */ public Builder setSepaDebit(SessionCreateParams.PaymentMethodOptions.SepaDebit sepaDebit) { this.sepaDebit = sepaDebit; @@ -7579,6 +8616,10 @@ public enum VerificationMethod implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class Affirm { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7610,7 +8651,11 @@ public static class Affirm { @SerializedName("setup_future_usage") SetupFutureUsage setupFutureUsage; - private Affirm(Map extraParams, SetupFutureUsage setupFutureUsage) { + private Affirm( + CaptureMethod captureMethod, + Map extraParams, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; } @@ -7620,6 +8665,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -7627,7 +8674,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.Affirm build() { return new SessionCreateParams.PaymentMethodOptions.Affirm( - this.extraParams, this.setupFutureUsage); + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Affirm.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -7685,6 +8739,18 @@ public Builder setSetupFutureUsage( } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"); @@ -7701,6 +8767,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class AfterpayClearpay { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7732,7 +8802,11 @@ public static class AfterpayClearpay { @SerializedName("setup_future_usage") SetupFutureUsage setupFutureUsage; - private AfterpayClearpay(Map extraParams, SetupFutureUsage setupFutureUsage) { + private AfterpayClearpay( + CaptureMethod captureMethod, + Map extraParams, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; } @@ -7742,6 +8816,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -7749,7 +8825,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.AfterpayClearpay build() { return new SessionCreateParams.PaymentMethodOptions.AfterpayClearpay( - this.extraParams, this.setupFutureUsage); + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.AfterpayClearpay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -7808,6 +8891,18 @@ public Builder setSetupFutureUsage( } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"); @@ -7930,14 +9025,99 @@ public Builder setSetupFutureUsage( } } - public enum SetupFutureUsage implements ApiRequestParams.EnumParam { - @SerializedName("none") - NONE("none"); + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Alma { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Alma(CaptureMethod captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private CaptureMethod captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.PaymentMethodOptions.Alma build() { + return new SessionCreateParams.PaymentMethodOptions.Alma( + this.captureMethod, this.extraParams); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Alma.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + 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 SessionCreateParams.PaymentMethodOptions.Alma#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.PaymentMethodOptions.Alma#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); @Getter(onMethod_ = {@Override}) private final String value; - SetupFutureUsage(String value) { + CaptureMethod(String value) { this.value = value; } } @@ -7946,6 +9126,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class AmazonPay { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7977,7 +9161,11 @@ public static class AmazonPay { @SerializedName("setup_future_usage") SetupFutureUsage setupFutureUsage; - private AmazonPay(Map extraParams, SetupFutureUsage setupFutureUsage) { + private AmazonPay( + CaptureMethod captureMethod, + Map extraParams, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; } @@ -7987,6 +9175,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -7994,7 +9184,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.AmazonPay build() { return new SessionCreateParams.PaymentMethodOptions.AmazonPay( - this.extraParams, this.setupFutureUsage); + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.AmazonPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -8052,6 +9249,18 @@ public Builder setSetupFutureUsage( } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"), @@ -8595,6 +9804,91 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Billie { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Billie(CaptureMethod captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private CaptureMethod captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.PaymentMethodOptions.Billie build() { + return new SessionCreateParams.PaymentMethodOptions.Billie( + this.captureMethod, this.extraParams); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Billie.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + 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 SessionCreateParams.PaymentMethodOptions.Billie#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.PaymentMethodOptions.Billie#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class Boleto { @@ -8750,6 +10044,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class Card { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -8863,6 +10161,7 @@ public static class Card { String statementDescriptorSuffixKanji; private Card( + CaptureMethod captureMethod, Map extraParams, Installments installments, RequestDecrementalAuthorization requestDecrementalAuthorization, @@ -8875,6 +10174,7 @@ private Card( SetupFutureUsage setupFutureUsage, String statementDescriptorSuffixKana, String statementDescriptorSuffixKanji) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.installments = installments; this.requestDecrementalAuthorization = requestDecrementalAuthorization; @@ -8894,6 +10194,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private Installments installments; @@ -8921,6 +10223,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.Card build() { return new SessionCreateParams.PaymentMethodOptions.Card( + this.captureMethod, this.extraParams, this.installments, this.requestDecrementalAuthorization, @@ -8935,6 +10238,13 @@ public SessionCreateParams.PaymentMethodOptions.Card build() { this.statementDescriptorSuffixKanji); } + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Card.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + 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 @@ -9308,6 +10618,18 @@ public enum BrandsBlocked implements ApiRequestParams.EnumParam { } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum RequestDecrementalAuthorization implements ApiRequestParams.EnumParam { @SerializedName("if_available") IF_AVAILABLE("if_available"), @@ -9420,6 +10742,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class Cashapp { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -9451,7 +10777,11 @@ public static class Cashapp { @SerializedName("setup_future_usage") SetupFutureUsage setupFutureUsage; - private Cashapp(Map extraParams, SetupFutureUsage setupFutureUsage) { + private Cashapp( + CaptureMethod captureMethod, + Map extraParams, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; } @@ -9461,6 +10791,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -9468,7 +10800,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.Cashapp build() { return new SessionCreateParams.PaymentMethodOptions.Cashapp( - this.extraParams, this.setupFutureUsage); + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Cashapp.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -9526,6 +10865,18 @@ public Builder setSetupFutureUsage( } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"), @@ -9996,23 +11347,148 @@ public enum Type implements ApiRequestParams.EnumParam { this.value = value; } } - } - - public enum FundingType implements ApiRequestParams.EnumParam { - @SerializedName("bank_transfer") - BANK_TRANSFER("bank_transfer"); + } + + public enum FundingType implements ApiRequestParams.EnumParam { + @SerializedName("bank_transfer") + BANK_TRANSFER("bank_transfer"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + FundingType(String value) { + this.value = value; + } + } + + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DemoPay { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to the + * Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe creates + * and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you comply + * with regional legislation and network rules, such as SCA. + */ + @SerializedName("setup_future_usage") + SetupFutureUsage setupFutureUsage; + + private DemoPay(Map extraParams, SetupFutureUsage setupFutureUsage) { + this.extraParams = extraParams; + this.setupFutureUsage = setupFutureUsage; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private SetupFutureUsage setupFutureUsage; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.PaymentMethodOptions.DemoPay build() { + return new SessionCreateParams.PaymentMethodOptions.DemoPay( + this.extraParams, this.setupFutureUsage); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.PaymentMethodOptions.DemoPay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.PaymentMethodOptions.DemoPay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - FundingType(String value) { - this.value = value; + /** + * Indicates that you intend to make future payments with this PaymentIntent's payment + * method. + * + *

If you provide a Customer with the PaymentIntent, you can use this parameter to attach the payment method to + * the Customer after the PaymentIntent is confirmed and the customer completes any required + * actions. If you don't provide a Customer, you can still attach the payment method to a + * Customer after the transaction completes. + * + *

If the payment method is {@code card_present} and isn't a digital wallet, Stripe + * creates and attaches a generated_card + * payment method representing the card to the Customer instead. + * + *

When processing card payments, Stripe uses {@code setup_future_usage} to help you + * comply with regional legislation and network rules, such as SCA. + */ + public Builder setSetupFutureUsage( + SessionCreateParams.PaymentMethodOptions.DemoPay.SetupFutureUsage setupFutureUsage) { + this.setupFutureUsage = setupFutureUsage; + return this; } } public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") - NONE("none"); + NONE("none"), + + @SerializedName("off_session") + OFF_SESSION("off_session"); @Getter(onMethod_ = {@Override}) private final String value; @@ -10790,6 +12266,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class Klarna { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -10826,9 +12306,11 @@ public static class Klarna { Object subscriptions; private Klarna( + CaptureMethod captureMethod, Map extraParams, SetupFutureUsage setupFutureUsage, Object subscriptions) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; this.subscriptions = subscriptions; @@ -10839,6 +12321,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -10848,7 +12332,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.Klarna build() { return new SessionCreateParams.PaymentMethodOptions.Klarna( - this.extraParams, this.setupFutureUsage, this.subscriptions); + this.captureMethod, this.extraParams, this.setupFutureUsage, this.subscriptions); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Klarna.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -11226,6 +12717,18 @@ public enum Interval implements ApiRequestParams.EnumParam { } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"); @@ -11544,6 +13047,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class Link { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -11575,7 +13082,11 @@ public static class Link { @SerializedName("setup_future_usage") SetupFutureUsage setupFutureUsage; - private Link(Map extraParams, SetupFutureUsage setupFutureUsage) { + private Link( + CaptureMethod captureMethod, + Map extraParams, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; } @@ -11585,6 +13096,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -11592,7 +13105,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.Link build() { return new SessionCreateParams.PaymentMethodOptions.Link( - this.extraParams, this.setupFutureUsage); + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Link.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -11650,6 +13170,18 @@ public Builder setSetupFutureUsage( } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"), @@ -11669,6 +13201,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class Mobilepay { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -11700,7 +13236,11 @@ public static class Mobilepay { @SerializedName("setup_future_usage") SetupFutureUsage setupFutureUsage; - private Mobilepay(Map extraParams, SetupFutureUsage setupFutureUsage) { + private Mobilepay( + CaptureMethod captureMethod, + Map extraParams, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; } @@ -11710,6 +13250,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -11717,7 +13259,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.Mobilepay build() { return new SessionCreateParams.PaymentMethodOptions.Mobilepay( - this.extraParams, this.setupFutureUsage); + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.Mobilepay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -11775,6 +13324,18 @@ public Builder setSetupFutureUsage( } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"); @@ -13918,6 +15479,10 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class RevolutPay { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -13949,7 +15514,11 @@ public static class RevolutPay { @SerializedName("setup_future_usage") SetupFutureUsage setupFutureUsage; - private RevolutPay(Map extraParams, SetupFutureUsage setupFutureUsage) { + private RevolutPay( + CaptureMethod captureMethod, + Map extraParams, + SetupFutureUsage setupFutureUsage) { + this.captureMethod = captureMethod; this.extraParams = extraParams; this.setupFutureUsage = setupFutureUsage; } @@ -13959,6 +15528,8 @@ public static Builder builder() { } public static class Builder { + private CaptureMethod captureMethod; + private Map extraParams; private SetupFutureUsage setupFutureUsage; @@ -13966,7 +15537,14 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.PaymentMethodOptions.RevolutPay build() { return new SessionCreateParams.PaymentMethodOptions.RevolutPay( - this.extraParams, this.setupFutureUsage); + this.captureMethod, this.extraParams, this.setupFutureUsage); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.RevolutPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + return this; } /** @@ -14024,6 +15602,18 @@ public Builder setSetupFutureUsage( } } + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { + this.value = value; + } + } + public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @SerializedName("none") NONE("none"), @@ -14034,7 +15624,92 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter(onMethod_ = {@Override}) private final String value; - SetupFutureUsage(String value) { + SetupFutureUsage(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SamsungPay { + /** Controls when the funds will be captured from the customer's account. */ + @SerializedName("capture_method") + CaptureMethod captureMethod; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 SamsungPay(CaptureMethod captureMethod, Map extraParams) { + this.captureMethod = captureMethod; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private CaptureMethod captureMethod; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.PaymentMethodOptions.SamsungPay build() { + return new SessionCreateParams.PaymentMethodOptions.SamsungPay( + this.captureMethod, this.extraParams); + } + + /** Controls when the funds will be captured from the customer's account. */ + public Builder setCaptureMethod( + SessionCreateParams.PaymentMethodOptions.SamsungPay.CaptureMethod captureMethod) { + this.captureMethod = captureMethod; + 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 SessionCreateParams.PaymentMethodOptions.SamsungPay#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.PaymentMethodOptions.SamsungPay#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + public enum CaptureMethod implements ApiRequestParams.EnumParam { + @SerializedName("manual") + MANUAL("manual"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + CaptureMethod(String value) { this.value = value; } } @@ -14042,7 +15717,7 @@ public enum SetupFutureUsage implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class SamsungPay { + public static class Satispay { /** Controls when the funds will be captured from the customer's account. */ @SerializedName("capture_method") CaptureMethod captureMethod; @@ -14056,7 +15731,7 @@ public static class SamsungPay { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private SamsungPay(CaptureMethod captureMethod, Map extraParams) { + private Satispay(CaptureMethod captureMethod, Map extraParams) { this.captureMethod = captureMethod; this.extraParams = extraParams; } @@ -14071,14 +15746,14 @@ public static class Builder { private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public SessionCreateParams.PaymentMethodOptions.SamsungPay build() { - return new SessionCreateParams.PaymentMethodOptions.SamsungPay( + public SessionCreateParams.PaymentMethodOptions.Satispay build() { + return new SessionCreateParams.PaymentMethodOptions.Satispay( this.captureMethod, this.extraParams); } /** Controls when the funds will be captured from the customer's account. */ public Builder setCaptureMethod( - SessionCreateParams.PaymentMethodOptions.SamsungPay.CaptureMethod captureMethod) { + SessionCreateParams.PaymentMethodOptions.Satispay.CaptureMethod captureMethod) { this.captureMethod = captureMethod; return this; } @@ -14086,7 +15761,7 @@ public Builder setCaptureMethod( /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link SessionCreateParams.PaymentMethodOptions.SamsungPay#extraParams} for the + * map. See {@link SessionCreateParams.PaymentMethodOptions.Satispay#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -14100,7 +15775,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link SessionCreateParams.PaymentMethodOptions.SamsungPay#extraParams} for the + * map. See {@link SessionCreateParams.PaymentMethodOptions.Satispay#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18084,15 +19759,20 @@ public static class BillingMode { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ @SerializedName("type") Type type; - private BillingMode(Map extraParams, Type type) { + private BillingMode(Map extraParams, Flexible flexible, Type type) { this.extraParams = extraParams; + this.flexible = flexible; this.type = type; } @@ -18103,11 +19783,14 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Flexible flexible; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.SubscriptionData.BillingMode build() { - return new SessionCreateParams.SubscriptionData.BillingMode(this.extraParams, this.type); + return new SessionCreateParams.SubscriptionData.BillingMode( + this.extraParams, this.flexible, this.type); } /** @@ -18138,9 +19821,16 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible( + SessionCreateParams.SubscriptionData.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + /** * Required. Controls the calculation and orchestration of prorations and - * invoices for subscriptions. + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. */ public Builder setType(SessionCreateParams.SubscriptionData.BillingMode.Type type) { this.type = type; @@ -18148,6 +19838,100 @@ public Builder setType(SessionCreateParams.SubscriptionData.BillingMode.Type typ } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.SubscriptionData.BillingMode.Flexible build() { + return new SessionCreateParams.SubscriptionData.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.SubscriptionData.BillingMode.Flexible#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.SubscriptionData.BillingMode.Flexible#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + public Builder setProrationDiscounts( + SessionCreateParams.SubscriptionData.BillingMode.Flexible.ProrationDiscounts + prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("classic") CLASSIC("classic"), @@ -18935,6 +20719,177 @@ public enum CustomerCreation implements ApiRequestParams.EnumParam { } } + public enum ExcludedPaymentMethodType implements ApiRequestParams.EnumParam { + @SerializedName("acss_debit") + ACSS_DEBIT("acss_debit"), + + @SerializedName("affirm") + AFFIRM("affirm"), + + @SerializedName("afterpay_clearpay") + AFTERPAY_CLEARPAY("afterpay_clearpay"), + + @SerializedName("alipay") + ALIPAY("alipay"), + + @SerializedName("alma") + ALMA("alma"), + + @SerializedName("amazon_pay") + AMAZON_PAY("amazon_pay"), + + @SerializedName("au_becs_debit") + AU_BECS_DEBIT("au_becs_debit"), + + @SerializedName("bacs_debit") + BACS_DEBIT("bacs_debit"), + + @SerializedName("bancontact") + BANCONTACT("bancontact"), + + @SerializedName("billie") + BILLIE("billie"), + + @SerializedName("blik") + BLIK("blik"), + + @SerializedName("boleto") + BOLETO("boleto"), + + @SerializedName("card") + CARD("card"), + + @SerializedName("cashapp") + CASHAPP("cashapp"), + + @SerializedName("crypto") + CRYPTO("crypto"), + + @SerializedName("customer_balance") + CUSTOMER_BALANCE("customer_balance"), + + @SerializedName("eps") + EPS("eps"), + + @SerializedName("fpx") + FPX("fpx"), + + @SerializedName("giropay") + GIROPAY("giropay"), + + @SerializedName("gopay") + GOPAY("gopay"), + + @SerializedName("grabpay") + GRABPAY("grabpay"), + + @SerializedName("ideal") + IDEAL("ideal"), + + @SerializedName("kakao_pay") + KAKAO_PAY("kakao_pay"), + + @SerializedName("klarna") + KLARNA("klarna"), + + @SerializedName("konbini") + KONBINI("konbini"), + + @SerializedName("kr_card") + KR_CARD("kr_card"), + + @SerializedName("mb_way") + MB_WAY("mb_way"), + + @SerializedName("mobilepay") + MOBILEPAY("mobilepay"), + + @SerializedName("multibanco") + MULTIBANCO("multibanco"), + + @SerializedName("naver_pay") + NAVER_PAY("naver_pay"), + + @SerializedName("nz_bank_account") + NZ_BANK_ACCOUNT("nz_bank_account"), + + @SerializedName("oxxo") + OXXO("oxxo"), + + @SerializedName("p24") + P24("p24"), + + @SerializedName("pay_by_bank") + PAY_BY_BANK("pay_by_bank"), + + @SerializedName("payco") + PAYCO("payco"), + + @SerializedName("paynow") + PAYNOW("paynow"), + + @SerializedName("paypal") + PAYPAL("paypal"), + + @SerializedName("paypay") + PAYPAY("paypay"), + + @SerializedName("payto") + PAYTO("payto"), + + @SerializedName("pix") + PIX("pix"), + + @SerializedName("promptpay") + PROMPTPAY("promptpay"), + + @SerializedName("qris") + QRIS("qris"), + + @SerializedName("rechnung") + RECHNUNG("rechnung"), + + @SerializedName("revolut_pay") + REVOLUT_PAY("revolut_pay"), + + @SerializedName("samsung_pay") + SAMSUNG_PAY("samsung_pay"), + + @SerializedName("satispay") + SATISPAY("satispay"), + + @SerializedName("sepa_debit") + SEPA_DEBIT("sepa_debit"), + + @SerializedName("shopeepay") + SHOPEEPAY("shopeepay"), + + @SerializedName("sofort") + SOFORT("sofort"), + + @SerializedName("swish") + SWISH("swish"), + + @SerializedName("twint") + TWINT("twint"), + + @SerializedName("us_bank_account") + US_BANK_ACCOUNT("us_bank_account"), + + @SerializedName("wechat_pay") + WECHAT_PAY("wechat_pay"), + + @SerializedName("zip") + ZIP("zip"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ExcludedPaymentMethodType(String value) { + this.value = value; + } + } + public enum Locale implements ApiRequestParams.EnumParam { @SerializedName("auto") AUTO("auto"), @@ -19230,6 +21185,9 @@ public enum PaymentMethodType implements ApiRequestParams.EnumParam { @SerializedName("paypal") PAYPAL("paypal"), + @SerializedName("paypay") + PAYPAY("paypay"), + @SerializedName("payto") PAYTO("payto"), diff --git a/src/main/java/com/stripe/param/checkout/SessionUpdateParams.java b/src/main/java/com/stripe/param/checkout/SessionUpdateParams.java index 346305200eb..69152334ed3 100644 --- a/src/main/java/com/stripe/param/checkout/SessionUpdateParams.java +++ b/src/main/java/com/stripe/param/checkout/SessionUpdateParams.java @@ -15,6 +15,13 @@ @Getter @EqualsAndHashCode(callSuper = false) public class SessionUpdateParams extends ApiRequestParams { + /** + * Settings for automatic tax lookup for this session and resulting payments, invoices, and + * subscriptions. + */ + @SerializedName("automatic_tax") + AutomaticTax automaticTax; + /** * Information about the customer collected within the Checkout Session. Can only be set when * updating {@code embedded} or {@code custom} sessions. @@ -39,6 +46,10 @@ public class SessionUpdateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Generate a post-purchase Invoice for one-time payments. */ + @SerializedName("invoice_creation") + InvoiceCreation invoiceCreation; + /** * A list of items the customer is purchasing. * @@ -80,18 +91,22 @@ public class SessionUpdateParams extends ApiRequestParams { SubscriptionData subscriptionData; private SessionUpdateParams( + AutomaticTax automaticTax, CollectedInformation collectedInformation, Object discounts, List expand, Map extraParams, + InvoiceCreation invoiceCreation, List lineItems, Object metadata, Object shippingOptions, SubscriptionData subscriptionData) { + this.automaticTax = automaticTax; this.collectedInformation = collectedInformation; this.discounts = discounts; this.expand = expand; this.extraParams = extraParams; + this.invoiceCreation = invoiceCreation; this.lineItems = lineItems; this.metadata = metadata; this.shippingOptions = shippingOptions; @@ -103,6 +118,8 @@ public static Builder builder() { } public static class Builder { + private AutomaticTax automaticTax; + private CollectedInformation collectedInformation; private Object discounts; @@ -111,6 +128,8 @@ public static class Builder { private Map extraParams; + private InvoiceCreation invoiceCreation; + private List lineItems; private Object metadata; @@ -122,16 +141,27 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionUpdateParams build() { return new SessionUpdateParams( + this.automaticTax, this.collectedInformation, this.discounts, this.expand, this.extraParams, + this.invoiceCreation, this.lineItems, this.metadata, this.shippingOptions, this.subscriptionData); } + /** + * Settings for automatic tax lookup for this session and resulting payments, invoices, and + * subscriptions. + */ + public Builder setAutomaticTax(SessionUpdateParams.AutomaticTax automaticTax) { + this.automaticTax = automaticTax; + return this; + } + /** * Information about the customer collected within the Checkout Session. Can only be set when * updating {@code embedded} or {@code custom} sessions. @@ -234,6 +264,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Generate a post-purchase Invoice for one-time payments. */ + public Builder setInvoiceCreation(SessionUpdateParams.InvoiceCreation invoiceCreation) { + this.invoiceCreation = invoiceCreation; + return this; + } + /** * Add an element to `lineItems` list. A list is initialized for the first `add/addAll` call, * and subsequent calls adds additional elements to the original list. See {@link @@ -360,6 +396,189 @@ public Builder setSubscriptionData(SessionUpdateParams.SubscriptionData subscrip } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticTax { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The account that's liable for tax. If set, the business address and tax registrations + * required to perform the tax calculation are loaded from this account. The tax transaction is + * returned in the report of the connected account. + */ + @SerializedName("liability") + Liability liability; + + private AutomaticTax(Map extraParams, Liability liability) { + this.extraParams = extraParams; + this.liability = liability; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Liability liability; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionUpdateParams.AutomaticTax build() { + return new SessionUpdateParams.AutomaticTax(this.extraParams, this.liability); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * SessionUpdateParams.AutomaticTax#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SessionUpdateParams.AutomaticTax#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The account that's liable for tax. If set, the business address and tax registrations + * required to perform the tax calculation are loaded from this account. The tax transaction + * is returned in the report of the connected account. + */ + public Builder setLiability(SessionUpdateParams.AutomaticTax.Liability liability) { + this.liability = liability; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Liability { + /** The connected account being referenced when {@code type} is {@code account}. */ + @SerializedName("account") + Object account; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Type of the account referenced in the request. */ + @SerializedName("type") + Type type; + + private Liability(Object account, Map extraParams, Type type) { + this.account = account; + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object account; + + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionUpdateParams.AutomaticTax.Liability build() { + return new SessionUpdateParams.AutomaticTax.Liability( + this.account, this.extraParams, this.type); + } + + /** The connected account being referenced when {@code type} is {@code account}. */ + public Builder setAccount(String account) { + this.account = account; + return this; + } + + /** The connected account being referenced when {@code type} is {@code account}. */ + public Builder setAccount(EmptyParam account) { + this.account = account; + 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 SessionUpdateParams.AutomaticTax.Liability#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionUpdateParams.AutomaticTax.Liability#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Type of the account referenced in the request. */ + public Builder setType(SessionUpdateParams.AutomaticTax.Liability.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("account") + ACCOUNT("account"), + + @SerializedName("self") + SELF("self"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class CollectedInformation { @@ -545,11 +764,13 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -669,25 +890,29 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -1090,6 +1315,259 @@ public enum Duration implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InvoiceCreation { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Parameters passed when creating invoices for payment-mode Checkout Sessions. */ + @SerializedName("invoice_data") + InvoiceData invoiceData; + + private InvoiceCreation(Map extraParams, InvoiceData invoiceData) { + this.extraParams = extraParams; + this.invoiceData = invoiceData; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private InvoiceData invoiceData; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionUpdateParams.InvoiceCreation build() { + return new SessionUpdateParams.InvoiceCreation(this.extraParams, this.invoiceData); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * SessionUpdateParams.InvoiceCreation#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SessionUpdateParams.InvoiceCreation#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Parameters passed when creating invoices for payment-mode Checkout Sessions. */ + public Builder setInvoiceData(SessionUpdateParams.InvoiceCreation.InvoiceData invoiceData) { + this.invoiceData = invoiceData; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InvoiceData { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 connected account that issues the invoice. The invoice is presented with the branding + * and support information of the specified account. + */ + @SerializedName("issuer") + Issuer issuer; + + private InvoiceData(Map extraParams, Issuer issuer) { + this.extraParams = extraParams; + this.issuer = issuer; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Issuer issuer; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionUpdateParams.InvoiceCreation.InvoiceData build() { + return new SessionUpdateParams.InvoiceCreation.InvoiceData(this.extraParams, this.issuer); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionUpdateParams.InvoiceCreation.InvoiceData#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionUpdateParams.InvoiceCreation.InvoiceData#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 connected account that issues the invoice. The invoice is presented with the branding + * and support information of the specified account. + */ + public Builder setIssuer(SessionUpdateParams.InvoiceCreation.InvoiceData.Issuer issuer) { + this.issuer = issuer; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Issuer { + /** The connected account being referenced when {@code type} is {@code account}. */ + @SerializedName("account") + Object account; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Type of the account referenced in the request. */ + @SerializedName("type") + Type type; + + private Issuer(Object account, Map extraParams, Type type) { + this.account = account; + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object account; + + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionUpdateParams.InvoiceCreation.InvoiceData.Issuer build() { + return new SessionUpdateParams.InvoiceCreation.InvoiceData.Issuer( + this.account, this.extraParams, this.type); + } + + /** The connected account being referenced when {@code type} is {@code account}. */ + public Builder setAccount(String account) { + this.account = account; + return this; + } + + /** The connected account being referenced when {@code type} is {@code account}. */ + public Builder setAccount(EmptyParam account) { + this.account = account; + 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 SessionUpdateParams.InvoiceCreation.InvoiceData.Issuer#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionUpdateParams.InvoiceCreation.InvoiceData.Issuer#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Type of the account referenced in the request. */ + public Builder setType(SessionUpdateParams.InvoiceCreation.InvoiceData.Issuer.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("account") + ACCOUNT("account"), + + @SerializedName("self") + SELF("self"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class LineItem { @@ -1799,19 +2277,28 @@ public static class ProductData { @SerializedName("tax_code") Object taxCode; + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + @SerializedName("unit_label") + Object unitLabel; + private ProductData( Object description, Map extraParams, List images, Map metadata, Object name, - Object taxCode) { + Object taxCode, + Object unitLabel) { this.description = description; this.extraParams = extraParams; this.images = images; this.metadata = metadata; this.name = name; this.taxCode = taxCode; + this.unitLabel = unitLabel; } public static Builder builder() { @@ -1831,6 +2318,8 @@ public static class Builder { private Object taxCode; + private Object unitLabel; + /** Finalize and obtain parameter instance from this builder. */ public SessionUpdateParams.LineItem.PriceData.ProductData build() { return new SessionUpdateParams.LineItem.PriceData.ProductData( @@ -1839,7 +2328,8 @@ public SessionUpdateParams.LineItem.PriceData.ProductData build() { this.images, this.metadata, this.name, - this.taxCode); + this.taxCode, + this.unitLabel); } /** @@ -1971,6 +2461,24 @@ public Builder setTaxCode(EmptyParam taxCode) { this.taxCode = taxCode; return this; } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(String unitLabel) { + this.unitLabel = unitLabel; + return this; + } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(EmptyParam unitLabel) { + this.unitLabel = unitLabel; + return this; + } } } @@ -3118,6 +3626,10 @@ public static class SubscriptionData { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** All invoices will be billed using the specified settings. */ + @SerializedName("invoice_settings") + InvoiceSettings invoiceSettings; + /** * Unix timestamp representing the end of the trial period the customer will get before being * charged for the first time. Has to be at least 48 hours in the future. @@ -3133,8 +3645,12 @@ public static class SubscriptionData { Object trialPeriodDays; private SubscriptionData( - Map extraParams, Long trialEnd, Object trialPeriodDays) { + Map extraParams, + InvoiceSettings invoiceSettings, + Long trialEnd, + Object trialPeriodDays) { this.extraParams = extraParams; + this.invoiceSettings = invoiceSettings; this.trialEnd = trialEnd; this.trialPeriodDays = trialPeriodDays; } @@ -3146,6 +3662,8 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private InvoiceSettings invoiceSettings; + private Long trialEnd; private Object trialPeriodDays; @@ -3153,7 +3671,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public SessionUpdateParams.SubscriptionData build() { return new SessionUpdateParams.SubscriptionData( - this.extraParams, this.trialEnd, this.trialPeriodDays); + this.extraParams, this.invoiceSettings, this.trialEnd, this.trialPeriodDays); } /** @@ -3182,6 +3700,13 @@ public Builder putAllExtraParam(Map map) { return this; } + /** All invoices will be billed using the specified settings. */ + public Builder setInvoiceSettings( + SessionUpdateParams.SubscriptionData.InvoiceSettings invoiceSettings) { + this.invoiceSettings = invoiceSettings; + return this; + } + /** * Unix timestamp representing the end of the trial period the customer will get before being * charged for the first time. Has to be at least 48 hours in the future. @@ -3209,5 +3734,194 @@ public Builder setTrialPeriodDays(EmptyParam trialPeriodDays) { return this; } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InvoiceSettings { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 connected account that issues the invoice. The invoice is presented with the branding + * and support information of the specified account. + */ + @SerializedName("issuer") + Issuer issuer; + + private InvoiceSettings(Map extraParams, Issuer issuer) { + this.extraParams = extraParams; + this.issuer = issuer; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Issuer issuer; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionUpdateParams.SubscriptionData.InvoiceSettings build() { + return new SessionUpdateParams.SubscriptionData.InvoiceSettings( + this.extraParams, this.issuer); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionUpdateParams.SubscriptionData.InvoiceSettings#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionUpdateParams.SubscriptionData.InvoiceSettings#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 connected account that issues the invoice. The invoice is presented with the branding + * and support information of the specified account. + */ + public Builder setIssuer( + SessionUpdateParams.SubscriptionData.InvoiceSettings.Issuer issuer) { + this.issuer = issuer; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Issuer { + /** The connected account being referenced when {@code type} is {@code account}. */ + @SerializedName("account") + Object account; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. Type of the account referenced in the request. */ + @SerializedName("type") + Type type; + + private Issuer(Object account, Map extraParams, Type type) { + this.account = account; + this.extraParams = extraParams; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object account; + + private Map extraParams; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionUpdateParams.SubscriptionData.InvoiceSettings.Issuer build() { + return new SessionUpdateParams.SubscriptionData.InvoiceSettings.Issuer( + this.account, this.extraParams, this.type); + } + + /** The connected account being referenced when {@code type} is {@code account}. */ + public Builder setAccount(String account) { + this.account = account; + return this; + } + + /** The connected account being referenced when {@code type} is {@code account}. */ + public Builder setAccount(EmptyParam account) { + this.account = account; + 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 + * SessionUpdateParams.SubscriptionData.InvoiceSettings.Issuer#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SessionUpdateParams.SubscriptionData.InvoiceSettings.Issuer#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. Type of the account referenced in the request. */ + public Builder setType( + SessionUpdateParams.SubscriptionData.InvoiceSettings.Issuer.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("account") + ACCOUNT("account"), + + @SerializedName("self") + SELF("self"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } } } diff --git a/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java b/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java index f0f905606c0..88ea2baed99 100644 --- a/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java +++ b/src/main/java/com/stripe/param/issuing/AuthorizationCreateParams.java @@ -62,6 +62,13 @@ public class AuthorizationCreateParams extends ApiRequestParams { @SerializedName("fleet") Fleet fleet; + /** + * Probability that this transaction can be disputed in the event of fraud. Assessed by comparing + * the characteristics of the authorization to card network rules. + */ + @SerializedName("fraud_disputability_likelihood") + FraudDisputabilityLikelihood fraudDisputabilityLikelihood; + /** Information about fuel that was purchased with this transaction. */ @SerializedName("fuel") Fuel fuel; @@ -100,6 +107,10 @@ public class AuthorizationCreateParams extends ApiRequestParams { @SerializedName("network_data") NetworkData networkData; + /** Stripe’s assessment of the fraud risk for this authorization. */ + @SerializedName("risk_assessment") + RiskAssessment riskAssessment; + /** * Verifications that Stripe performed on information that the cardholder provided to the * merchant. @@ -123,12 +134,14 @@ private AuthorizationCreateParams( List expand, Map extraParams, Fleet fleet, + FraudDisputabilityLikelihood fraudDisputabilityLikelihood, Fuel fuel, Boolean isAmountControllable, Long merchantAmount, String merchantCurrency, MerchantData merchantData, NetworkData networkData, + RiskAssessment riskAssessment, VerificationData verificationData, Wallet wallet) { this.amount = amount; @@ -139,12 +152,14 @@ private AuthorizationCreateParams( this.expand = expand; this.extraParams = extraParams; this.fleet = fleet; + this.fraudDisputabilityLikelihood = fraudDisputabilityLikelihood; this.fuel = fuel; this.isAmountControllable = isAmountControllable; this.merchantAmount = merchantAmount; this.merchantCurrency = merchantCurrency; this.merchantData = merchantData; this.networkData = networkData; + this.riskAssessment = riskAssessment; this.verificationData = verificationData; this.wallet = wallet; } @@ -170,6 +185,8 @@ public static class Builder { private Fleet fleet; + private FraudDisputabilityLikelihood fraudDisputabilityLikelihood; + private Fuel fuel; private Boolean isAmountControllable; @@ -182,6 +199,8 @@ public static class Builder { private NetworkData networkData; + private RiskAssessment riskAssessment; + private VerificationData verificationData; private Wallet wallet; @@ -197,12 +216,14 @@ public AuthorizationCreateParams build() { this.expand, this.extraParams, this.fleet, + this.fraudDisputabilityLikelihood, this.fuel, this.isAmountControllable, this.merchantAmount, this.merchantCurrency, this.merchantData, this.networkData, + this.riskAssessment, this.verificationData, this.wallet); } @@ -309,6 +330,16 @@ public Builder setFleet(AuthorizationCreateParams.Fleet fleet) { return this; } + /** + * Probability that this transaction can be disputed in the event of fraud. Assessed by + * comparing the characteristics of the authorization to card network rules. + */ + public Builder setFraudDisputabilityLikelihood( + AuthorizationCreateParams.FraudDisputabilityLikelihood fraudDisputabilityLikelihood) { + this.fraudDisputabilityLikelihood = fraudDisputabilityLikelihood; + return this; + } + /** Information about fuel that was purchased with this transaction. */ public Builder setFuel(AuthorizationCreateParams.Fuel fuel) { this.fuel = fuel; @@ -361,6 +392,12 @@ public Builder setNetworkData(AuthorizationCreateParams.NetworkData networkData) return this; } + /** Stripe’s assessment of the fraud risk for this authorization. */ + public Builder setRiskAssessment(AuthorizationCreateParams.RiskAssessment riskAssessment) { + this.riskAssessment = riskAssessment; + return this; + } + /** * Verifications that Stripe performed on information that the cardholder provided to the * merchant. @@ -2559,6 +2596,392 @@ public Builder putAllExtraParam(Map map) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RiskAssessment { + /** Stripe's assessment of this authorization's likelihood of being card testing activity. */ + @SerializedName("card_testing_risk") + CardTestingRisk cardTestingRisk; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 dispute risk of the merchant (the seller on a purchase) on an authorization based on all + * Stripe Issuing activity. + */ + @SerializedName("merchant_dispute_risk") + MerchantDisputeRisk merchantDisputeRisk; + + private RiskAssessment( + CardTestingRisk cardTestingRisk, + Map extraParams, + MerchantDisputeRisk merchantDisputeRisk) { + this.cardTestingRisk = cardTestingRisk; + this.extraParams = extraParams; + this.merchantDisputeRisk = merchantDisputeRisk; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private CardTestingRisk cardTestingRisk; + + private Map extraParams; + + private MerchantDisputeRisk merchantDisputeRisk; + + /** Finalize and obtain parameter instance from this builder. */ + public AuthorizationCreateParams.RiskAssessment build() { + return new AuthorizationCreateParams.RiskAssessment( + this.cardTestingRisk, this.extraParams, this.merchantDisputeRisk); + } + + /** Stripe's assessment of this authorization's likelihood of being card testing activity. */ + public Builder setCardTestingRisk( + AuthorizationCreateParams.RiskAssessment.CardTestingRisk cardTestingRisk) { + this.cardTestingRisk = cardTestingRisk; + 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 + * AuthorizationCreateParams.RiskAssessment#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AuthorizationCreateParams.RiskAssessment#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 dispute risk of the merchant (the seller on a purchase) on an authorization based on + * all Stripe Issuing activity. + */ + public Builder setMerchantDisputeRisk( + AuthorizationCreateParams.RiskAssessment.MerchantDisputeRisk merchantDisputeRisk) { + this.merchantDisputeRisk = merchantDisputeRisk; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardTestingRisk { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 % of declines due to a card number not existing in the past hour, taking place at the + * same merchant. Higher rates correspond to a greater probability of card testing activity, + * meaning bad actors may be attempting different card number combinations to guess a correct + * one. Takes on values between 0 and 100. + */ + @SerializedName("invalid_account_number_decline_rate_past_hour") + Long invalidAccountNumberDeclineRatePastHour; + + /** + * The % of declines due to incorrect verification data (like CVV or expiry) in the past hour, + * taking place at the same merchant. Higher rates correspond to a greater probability of bad + * actors attempting to utilize valid card credentials at merchants with verification + * requirements. Takes on values between 0 and 100. + */ + @SerializedName("invalid_credentials_decline_rate_past_hour") + Long invalidCredentialsDeclineRatePastHour; + + /** + * Required. The likelihood that this authorization is associated with card + * testing activity. This is assessed by evaluating decline activity over the last hour. + */ + @SerializedName("risk_level") + RiskLevel riskLevel; + + private CardTestingRisk( + Map extraParams, + Long invalidAccountNumberDeclineRatePastHour, + Long invalidCredentialsDeclineRatePastHour, + RiskLevel riskLevel) { + this.extraParams = extraParams; + this.invalidAccountNumberDeclineRatePastHour = invalidAccountNumberDeclineRatePastHour; + this.invalidCredentialsDeclineRatePastHour = invalidCredentialsDeclineRatePastHour; + this.riskLevel = riskLevel; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Long invalidAccountNumberDeclineRatePastHour; + + private Long invalidCredentialsDeclineRatePastHour; + + private RiskLevel riskLevel; + + /** Finalize and obtain parameter instance from this builder. */ + public AuthorizationCreateParams.RiskAssessment.CardTestingRisk build() { + return new AuthorizationCreateParams.RiskAssessment.CardTestingRisk( + this.extraParams, + this.invalidAccountNumberDeclineRatePastHour, + this.invalidCredentialsDeclineRatePastHour, + this.riskLevel); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AuthorizationCreateParams.RiskAssessment.CardTestingRisk#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AuthorizationCreateParams.RiskAssessment.CardTestingRisk#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 % of declines due to a card number not existing in the past hour, taking place at the + * same merchant. Higher rates correspond to a greater probability of card testing activity, + * meaning bad actors may be attempting different card number combinations to guess a + * correct one. Takes on values between 0 and 100. + */ + public Builder setInvalidAccountNumberDeclineRatePastHour( + Long invalidAccountNumberDeclineRatePastHour) { + this.invalidAccountNumberDeclineRatePastHour = invalidAccountNumberDeclineRatePastHour; + return this; + } + + /** + * The % of declines due to incorrect verification data (like CVV or expiry) in the past + * hour, taking place at the same merchant. Higher rates correspond to a greater probability + * of bad actors attempting to utilize valid card credentials at merchants with verification + * requirements. Takes on values between 0 and 100. + */ + public Builder setInvalidCredentialsDeclineRatePastHour( + Long invalidCredentialsDeclineRatePastHour) { + this.invalidCredentialsDeclineRatePastHour = invalidCredentialsDeclineRatePastHour; + return this; + } + + /** + * Required. The likelihood that this authorization is associated with card + * testing activity. This is assessed by evaluating decline activity over the last hour. + */ + public Builder setRiskLevel( + AuthorizationCreateParams.RiskAssessment.CardTestingRisk.RiskLevel riskLevel) { + this.riskLevel = riskLevel; + return this; + } + } + + public enum RiskLevel implements ApiRequestParams.EnumParam { + @SerializedName("elevated") + ELEVATED("elevated"), + + @SerializedName("highest") + HIGHEST("highest"), + + @SerializedName("low") + LOW("low"), + + @SerializedName("normal") + NORMAL("normal"), + + @SerializedName("not_assessed") + NOT_ASSESSED("not_assessed"), + + @SerializedName("unknown") + UNKNOWN("unknown"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RiskLevel(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MerchantDisputeRisk { + /** + * The dispute rate observed across all Stripe Issuing authorizations for this merchant. For + * example, a value of 50 means 50% of authorizations from this merchant on Stripe Issuing + * have resulted in a dispute. Higher values mean a higher likelihood the authorization is + * disputed. Takes on values between 0 and 100. + */ + @SerializedName("dispute_rate") + Long disputeRate; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The likelihood that authorizations from this merchant will + * result in a dispute based on their history on Stripe Issuing. + */ + @SerializedName("risk_level") + RiskLevel riskLevel; + + private MerchantDisputeRisk( + Long disputeRate, Map extraParams, RiskLevel riskLevel) { + this.disputeRate = disputeRate; + this.extraParams = extraParams; + this.riskLevel = riskLevel; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long disputeRate; + + private Map extraParams; + + private RiskLevel riskLevel; + + /** Finalize and obtain parameter instance from this builder. */ + public AuthorizationCreateParams.RiskAssessment.MerchantDisputeRisk build() { + return new AuthorizationCreateParams.RiskAssessment.MerchantDisputeRisk( + this.disputeRate, this.extraParams, this.riskLevel); + } + + /** + * The dispute rate observed across all Stripe Issuing authorizations for this merchant. For + * example, a value of 50 means 50% of authorizations from this merchant on Stripe Issuing + * have resulted in a dispute. Higher values mean a higher likelihood the authorization is + * disputed. Takes on values between 0 and 100. + */ + public Builder setDisputeRate(Long disputeRate) { + this.disputeRate = disputeRate; + 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 AuthorizationCreateParams.RiskAssessment.MerchantDisputeRisk#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AuthorizationCreateParams.RiskAssessment.MerchantDisputeRisk#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The likelihood that authorizations from this merchant will + * result in a dispute based on their history on Stripe Issuing. + */ + public Builder setRiskLevel( + AuthorizationCreateParams.RiskAssessment.MerchantDisputeRisk.RiskLevel riskLevel) { + this.riskLevel = riskLevel; + return this; + } + } + + public enum RiskLevel implements ApiRequestParams.EnumParam { + @SerializedName("elevated") + ELEVATED("elevated"), + + @SerializedName("highest") + HIGHEST("highest"), + + @SerializedName("low") + LOW("low"), + + @SerializedName("normal") + NORMAL("normal"), + + @SerializedName("not_assessed") + NOT_ASSESSED("not_assessed"), + + @SerializedName("unknown") + UNKNOWN("unknown"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + RiskLevel(String value) { + this.value = value; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class VerificationData { @@ -3047,6 +3470,27 @@ public enum AuthorizationMethod implements ApiRequestParams.EnumParam { } } + public enum FraudDisputabilityLikelihood implements ApiRequestParams.EnumParam { + @SerializedName("neutral") + NEUTRAL("neutral"), + + @SerializedName("unknown") + UNKNOWN("unknown"), + + @SerializedName("very_likely") + VERY_LIKELY("very_likely"), + + @SerializedName("very_unlikely") + VERY_UNLIKELY("very_unlikely"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + FraudDisputabilityLikelihood(String value) { + this.value = value; + } + } + public enum Wallet implements ApiRequestParams.EnumParam { @SerializedName("apple_pay") APPLE_PAY("apple_pay"), diff --git a/src/main/java/com/stripe/param/issuing/CardCreateParams.java b/src/main/java/com/stripe/param/issuing/CardCreateParams.java index 74b78490be4..f78c4070975 100644 --- a/src/main/java/com/stripe/param/issuing/CardCreateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardCreateParams.java @@ -684,11 +684,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** Required. Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -791,13 +791,15 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/issuing/CardUpdateParams.java b/src/main/java/com/stripe/param/issuing/CardUpdateParams.java index e78869945d4..93be37b2f14 100644 --- a/src/main/java/com/stripe/param/issuing/CardUpdateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardUpdateParams.java @@ -570,11 +570,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** Required. Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -692,25 +692,29 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java b/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java index fb39aeb1f04..2203bd6c985 100644 --- a/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardholderCreateParams.java @@ -455,11 +455,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** Required. Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -562,13 +562,15 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java b/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java index ae9b204859b..a4717d2427f 100644 --- a/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java +++ b/src/main/java/com/stripe/param/issuing/CardholderUpdateParams.java @@ -411,11 +411,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** Required. Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -533,25 +533,29 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Required. Address line 1 (e.g., street, PO Box, or company name). */ + /** + * Required. Address line 1, such as the street, PO Box, or company name. + */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java index a539435d89c..81ca112fc49 100644 --- a/src/main/java/com/stripe/param/tax/CalculationCreateParams.java +++ b/src/main/java/com/stripe/param/tax/CalculationCreateParams.java @@ -442,11 +442,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -559,25 +559,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -1455,11 +1455,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -1469,7 +1469,7 @@ public static class Address { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") Object state; @@ -1571,25 +1571,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -1609,7 +1609,7 @@ public Builder setPostalCode(EmptyParam postalCode) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(String state) { this.state = state; @@ -1618,7 +1618,7 @@ public Builder setState(String state) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(EmptyParam state) { this.state = state; diff --git a/src/main/java/com/stripe/param/tax/SettingsUpdateParams.java b/src/main/java/com/stripe/param/tax/SettingsUpdateParams.java index 4b637a89ebb..b107e321fc2 100644 --- a/src/main/java/com/stripe/param/tax/SettingsUpdateParams.java +++ b/src/main/java/com/stripe/param/tax/SettingsUpdateParams.java @@ -338,11 +338,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -352,7 +352,7 @@ public static class Address { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ @SerializedName("state") Object state; @@ -463,25 +463,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -501,7 +501,7 @@ public Builder setPostalCode(EmptyParam postalCode) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(String state) { this.state = state; @@ -510,7 +510,7 @@ public Builder setState(String state) { /** * State/province as an ISO 3166-2 - * subdivision code, without country prefix. Example: "NY" or "TX". + * subdivision code, without country prefix, such as "NY" or "TX". */ public Builder setState(EmptyParam state) { this.state = state; diff --git a/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java b/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java index cce74af3004..0707a70d15f 100644 --- a/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java +++ b/src/main/java/com/stripe/param/terminal/ConfigurationCreateParams.java @@ -14,6 +14,10 @@ @Getter @EqualsAndHashCode(callSuper = false) public class ConfigurationCreateParams extends ApiRequestParams { + /** An object containing device type specific settings for BBPOS WisePad 3 readers. */ + @SerializedName("bbpos_wisepad3") + BbposWisepad3 bbposWisepad3; + /** An object containing device type specific settings for BBPOS WisePOS E readers. */ @SerializedName("bbpos_wisepos_e") BbposWiseposE bbposWiseposE; @@ -64,6 +68,7 @@ public class ConfigurationCreateParams extends ApiRequestParams { Object wifi; private ConfigurationCreateParams( + BbposWisepad3 bbposWisepad3, BbposWiseposE bbposWiseposE, List expand, Map extraParams, @@ -75,6 +80,7 @@ private ConfigurationCreateParams( Object tipping, VerifoneP400 verifoneP400, Object wifi) { + this.bbposWisepad3 = bbposWisepad3; this.bbposWiseposE = bbposWiseposE; this.expand = expand; this.extraParams = extraParams; @@ -93,6 +99,8 @@ public static Builder builder() { } public static class Builder { + private BbposWisepad3 bbposWisepad3; + private BbposWiseposE bbposWiseposE; private List expand; @@ -118,6 +126,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public ConfigurationCreateParams build() { return new ConfigurationCreateParams( + this.bbposWisepad3, this.bbposWiseposE, this.expand, this.extraParams, @@ -131,6 +140,12 @@ public ConfigurationCreateParams build() { this.wifi); } + /** An object containing device type specific settings for BBPOS WisePad 3 readers. */ + public Builder setBbposWisepad3(ConfigurationCreateParams.BbposWisepad3 bbposWisepad3) { + this.bbposWisepad3 = bbposWisepad3; + return this; + } + /** An object containing device type specific settings for BBPOS WisePOS E readers. */ public Builder setBbposWiseposE(ConfigurationCreateParams.BbposWiseposE bbposWiseposE) { this.bbposWiseposE = bbposWiseposE; @@ -262,6 +277,82 @@ public Builder setWifi(EmptyParam wifi) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BbposWisepad3 { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** A File ID representing an image you would like displayed on the reader. */ + @SerializedName("splashscreen") + Object splashscreen; + + private BbposWisepad3(Map extraParams, Object splashscreen) { + this.extraParams = extraParams; + this.splashscreen = splashscreen; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object splashscreen; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfigurationCreateParams.BbposWisepad3 build() { + return new ConfigurationCreateParams.BbposWisepad3(this.extraParams, this.splashscreen); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ConfigurationCreateParams.BbposWisepad3#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link ConfigurationCreateParams.BbposWisepad3#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** A File ID representing an image you would like displayed on the reader. */ + public Builder setSplashscreen(String splashscreen) { + this.splashscreen = splashscreen; + return this; + } + + /** A File ID representing an image you would like displayed on the reader. */ + public Builder setSplashscreen(EmptyParam splashscreen) { + this.splashscreen = splashscreen; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class BbposWiseposE { diff --git a/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java b/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java index 29edeace078..6fb6482fe1a 100644 --- a/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java +++ b/src/main/java/com/stripe/param/terminal/ConfigurationUpdateParams.java @@ -14,6 +14,10 @@ @Getter @EqualsAndHashCode(callSuper = false) public class ConfigurationUpdateParams extends ApiRequestParams { + /** An object containing device type specific settings for BBPOS WisePad 3 readers. */ + @SerializedName("bbpos_wisepad3") + Object bbposWisepad3; + /** An object containing device type specific settings for BBPOS WisePOS E readers. */ @SerializedName("bbpos_wisepos_e") Object bbposWiseposE; @@ -64,6 +68,7 @@ public class ConfigurationUpdateParams extends ApiRequestParams { Object wifi; private ConfigurationUpdateParams( + Object bbposWisepad3, Object bbposWiseposE, List expand, Map extraParams, @@ -75,6 +80,7 @@ private ConfigurationUpdateParams( Object tipping, Object verifoneP400, Object wifi) { + this.bbposWisepad3 = bbposWisepad3; this.bbposWiseposE = bbposWiseposE; this.expand = expand; this.extraParams = extraParams; @@ -93,6 +99,8 @@ public static Builder builder() { } public static class Builder { + private Object bbposWisepad3; + private Object bbposWiseposE; private List expand; @@ -118,6 +126,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public ConfigurationUpdateParams build() { return new ConfigurationUpdateParams( + this.bbposWisepad3, this.bbposWiseposE, this.expand, this.extraParams, @@ -131,6 +140,18 @@ public ConfigurationUpdateParams build() { this.wifi); } + /** An object containing device type specific settings for BBPOS WisePad 3 readers. */ + public Builder setBbposWisepad3(ConfigurationUpdateParams.BbposWisepad3 bbposWisepad3) { + this.bbposWisepad3 = bbposWisepad3; + return this; + } + + /** An object containing device type specific settings for BBPOS WisePad 3 readers. */ + public Builder setBbposWisepad3(EmptyParam bbposWisepad3) { + this.bbposWisepad3 = bbposWisepad3; + return this; + } + /** An object containing device type specific settings for BBPOS WisePOS E readers. */ public Builder setBbposWiseposE(ConfigurationUpdateParams.BbposWiseposE bbposWiseposE) { this.bbposWiseposE = bbposWiseposE; @@ -292,6 +313,82 @@ public Builder setWifi(EmptyParam wifi) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BbposWisepad3 { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** A File ID representing an image you would like displayed on the reader. */ + @SerializedName("splashscreen") + Object splashscreen; + + private BbposWisepad3(Map extraParams, Object splashscreen) { + this.extraParams = extraParams; + this.splashscreen = splashscreen; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object splashscreen; + + /** Finalize and obtain parameter instance from this builder. */ + public ConfigurationUpdateParams.BbposWisepad3 build() { + return new ConfigurationUpdateParams.BbposWisepad3(this.extraParams, this.splashscreen); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ConfigurationUpdateParams.BbposWisepad3#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link ConfigurationUpdateParams.BbposWisepad3#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** A File ID representing an image you would like displayed on the reader. */ + public Builder setSplashscreen(String splashscreen) { + this.splashscreen = splashscreen; + return this; + } + + /** A File ID representing an image you would like displayed on the reader. */ + public Builder setSplashscreen(EmptyParam splashscreen) { + this.splashscreen = splashscreen; + return this; + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class BbposWiseposE { diff --git a/src/main/java/com/stripe/param/terminal/LocationCreateParams.java b/src/main/java/com/stripe/param/terminal/LocationCreateParams.java index 1a32c9139d0..307c21a8586 100644 --- a/src/main/java/com/stripe/param/terminal/LocationCreateParams.java +++ b/src/main/java/com/stripe/param/terminal/LocationCreateParams.java @@ -14,18 +14,40 @@ @Getter @EqualsAndHashCode(callSuper = false) public class LocationCreateParams extends ApiRequestParams { - /** Required. The full address of the location. */ + /** The full address of the location. */ @SerializedName("address") Address address; + /** The Kana variation of the full address of the location (Japan only). */ + @SerializedName("address_kana") + AddressKana addressKana; + + /** The Kanji variation of the full address of the location (Japan only). */ + @SerializedName("address_kanji") + AddressKanji addressKanji; + /** The ID of a configuration that will be used to customize all readers in this location. */ @SerializedName("configuration_overrides") String configurationOverrides; - /** Required. A name for the location. Maximum length is 1000 characters. */ + /** A name for the location. Maximum length is 1000 characters. */ @SerializedName("display_name") String displayName; + /** + * The Kana variation of the name for the location (Japan only). Maximum length is 1000 + * characters. + */ + @SerializedName("display_name_kana") + String displayNameKana; + + /** + * The Kanji variation of the name for the location (Japan only). Maximum length is 1000 + * characters. + */ + @SerializedName("display_name_kanji") + String displayNameKanji; + /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") List expand; @@ -48,19 +70,33 @@ public class LocationCreateParams extends ApiRequestParams { @SerializedName("metadata") Object metadata; + /** The phone number for the location. */ + @SerializedName("phone") + String phone; + private LocationCreateParams( Address address, + AddressKana addressKana, + AddressKanji addressKanji, String configurationOverrides, String displayName, + String displayNameKana, + String displayNameKanji, List expand, Map extraParams, - Object metadata) { + Object metadata, + String phone) { this.address = address; + this.addressKana = addressKana; + this.addressKanji = addressKanji; this.configurationOverrides = configurationOverrides; this.displayName = displayName; + this.displayNameKana = displayNameKana; + this.displayNameKanji = displayNameKanji; this.expand = expand; this.extraParams = extraParams; this.metadata = metadata; + this.phone = phone; } public static Builder builder() { @@ -70,45 +106,90 @@ public static Builder builder() { public static class Builder { private Address address; + private AddressKana addressKana; + + private AddressKanji addressKanji; + private String configurationOverrides; private String displayName; + private String displayNameKana; + + private String displayNameKanji; + private List expand; private Map extraParams; private Object metadata; + private String phone; + /** Finalize and obtain parameter instance from this builder. */ public LocationCreateParams build() { return new LocationCreateParams( this.address, + this.addressKana, + this.addressKanji, this.configurationOverrides, this.displayName, + this.displayNameKana, + this.displayNameKanji, this.expand, this.extraParams, - this.metadata); + this.metadata, + this.phone); } - /** Required. The full address of the location. */ + /** The full address of the location. */ public Builder setAddress(LocationCreateParams.Address address) { this.address = address; return this; } + /** The Kana variation of the full address of the location (Japan only). */ + public Builder setAddressKana(LocationCreateParams.AddressKana addressKana) { + this.addressKana = addressKana; + return this; + } + + /** The Kanji variation of the full address of the location (Japan only). */ + public Builder setAddressKanji(LocationCreateParams.AddressKanji addressKanji) { + this.addressKanji = addressKanji; + return this; + } + /** The ID of a configuration that will be used to customize all readers in this location. */ public Builder setConfigurationOverrides(String configurationOverrides) { this.configurationOverrides = configurationOverrides; return this; } - /** Required. A name for the location. Maximum length is 1000 characters. */ + /** A name for the location. Maximum length is 1000 characters. */ public Builder setDisplayName(String displayName) { this.displayName = displayName; return this; } + /** + * The Kana variation of the name for the location (Japan only). Maximum length is 1000 + * characters. + */ + public Builder setDisplayNameKana(String displayNameKana) { + this.displayNameKana = displayNameKana; + return this; + } + + /** + * The Kanji variation of the name for the location (Japan only). Maximum length is 1000 + * characters. + */ + public Builder setDisplayNameKanji(String displayNameKanji) { + this.displayNameKanji = displayNameKanji; + 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 @@ -210,6 +291,12 @@ public Builder setMetadata(Map metadata) { this.metadata = metadata; return this; } + + /** The phone number for the location. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } } @Getter @@ -235,11 +322,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -340,13 +427,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; @@ -365,4 +452,342 @@ public Builder setState(String state) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + 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 LocationCreateParams.AddressKana build() { + return new LocationCreateParams.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 + * LocationCreateParams.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 LocationCreateParams.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 + @EqualsAndHashCode(callSuper = false) + 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 LocationCreateParams.AddressKanji build() { + return new LocationCreateParams.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 + * LocationCreateParams.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 LocationCreateParams.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; + } + } + } } diff --git a/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java b/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java index 987c6c05e7e..9ec35e22bca 100644 --- a/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java +++ b/src/main/java/com/stripe/param/terminal/LocationUpdateParams.java @@ -22,6 +22,14 @@ public class LocationUpdateParams extends ApiRequestParams { @SerializedName("address") Address address; + /** The Kana variation of the full address of the location (Japan only). */ + @SerializedName("address_kana") + AddressKana addressKana; + + /** The Kanji variation of the full address of the location (Japan only). */ + @SerializedName("address_kanji") + AddressKanji addressKanji; + /** The ID of a configuration that will be used to customize all readers in this location. */ @SerializedName("configuration_overrides") Object configurationOverrides; @@ -30,6 +38,14 @@ public class LocationUpdateParams extends ApiRequestParams { @SerializedName("display_name") Object displayName; + /** The Kana variation of the name for the location (Japan only). */ + @SerializedName("display_name_kana") + Object displayNameKana; + + /** The Kanji variation of the name for the location (Japan only). */ + @SerializedName("display_name_kanji") + Object displayNameKanji; + /** Specifies which fields in the response should be expanded. */ @SerializedName("expand") List expand; @@ -52,19 +68,33 @@ public class LocationUpdateParams extends ApiRequestParams { @SerializedName("metadata") Object metadata; + /** The phone number for the location. */ + @SerializedName("phone") + Object phone; + private LocationUpdateParams( Address address, + AddressKana addressKana, + AddressKanji addressKanji, Object configurationOverrides, Object displayName, + Object displayNameKana, + Object displayNameKanji, List expand, Map extraParams, - Object metadata) { + Object metadata, + Object phone) { this.address = address; + this.addressKana = addressKana; + this.addressKanji = addressKanji; this.configurationOverrides = configurationOverrides; this.displayName = displayName; + this.displayNameKana = displayNameKana; + this.displayNameKanji = displayNameKanji; this.expand = expand; this.extraParams = extraParams; this.metadata = metadata; + this.phone = phone; } public static Builder builder() { @@ -74,25 +104,40 @@ public static Builder builder() { public static class Builder { private Address address; + private AddressKana addressKana; + + private AddressKanji addressKanji; + private Object configurationOverrides; private Object displayName; + private Object displayNameKana; + + private Object displayNameKanji; + private List expand; private Map extraParams; private Object metadata; + private Object phone; + /** Finalize and obtain parameter instance from this builder. */ public LocationUpdateParams build() { return new LocationUpdateParams( this.address, + this.addressKana, + this.addressKanji, this.configurationOverrides, this.displayName, + this.displayNameKana, + this.displayNameKanji, this.expand, this.extraParams, - this.metadata); + this.metadata, + this.phone); } /** @@ -105,6 +150,18 @@ public Builder setAddress(LocationUpdateParams.Address address) { return this; } + /** The Kana variation of the full address of the location (Japan only). */ + public Builder setAddressKana(LocationUpdateParams.AddressKana addressKana) { + this.addressKana = addressKana; + return this; + } + + /** The Kanji variation of the full address of the location (Japan only). */ + public Builder setAddressKanji(LocationUpdateParams.AddressKanji addressKanji) { + this.addressKanji = addressKanji; + return this; + } + /** The ID of a configuration that will be used to customize all readers in this location. */ public Builder setConfigurationOverrides(String configurationOverrides) { this.configurationOverrides = configurationOverrides; @@ -129,6 +186,30 @@ public Builder setDisplayName(EmptyParam displayName) { return this; } + /** The Kana variation of the name for the location (Japan only). */ + public Builder setDisplayNameKana(String displayNameKana) { + this.displayNameKana = displayNameKana; + return this; + } + + /** The Kana variation of the name for the location (Japan only). */ + public Builder setDisplayNameKana(EmptyParam displayNameKana) { + this.displayNameKana = displayNameKana; + return this; + } + + /** The Kanji variation of the name for the location (Japan only). */ + public Builder setDisplayNameKanji(String displayNameKanji) { + this.displayNameKanji = displayNameKanji; + return this; + } + + /** The Kanji variation of the name for the location (Japan only). */ + public Builder setDisplayNameKanji(EmptyParam displayNameKanji) { + this.displayNameKanji = displayNameKanji; + 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 @@ -230,6 +311,18 @@ public Builder setMetadata(Map metadata) { this.metadata = metadata; return this; } + + /** The phone number for the location. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } + + /** The phone number for the location. */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; + return this; + } } @Getter @@ -255,11 +348,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") Object line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") Object line2; @@ -375,25 +468,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(EmptyParam line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(EmptyParam line2) { this.line2 = line2; return this; @@ -424,4 +517,432 @@ public Builder setState(EmptyParam state) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AddressKana { + /** City or ward. */ + @SerializedName("city") + Object city; + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object 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") + Object line1; + + /** Building details. */ + @SerializedName("line2") + Object line2; + + /** Postal code. */ + @SerializedName("postal_code") + Object postalCode; + + /** Prefecture. */ + @SerializedName("state") + Object state; + + /** Town or cho-me. */ + @SerializedName("town") + Object town; + + private AddressKana( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object city; + + private Object country; + + private Map extraParams; + + private Object line1; + + private Object line2; + + private Object postalCode; + + private Object state; + + private Object town; + + /** Finalize and obtain parameter instance from this builder. */ + public LocationUpdateParams.AddressKana build() { + return new LocationUpdateParams.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; + } + + /** City or ward. */ + public Builder setCity(EmptyParam 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; + } + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam 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 + * LocationUpdateParams.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 LocationUpdateParams.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; + } + + /** Block or building number. */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } + + /** Building details. */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** Building details. */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } + + /** Postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** Postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } + + /** Prefecture. */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** Prefecture. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } + + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AddressKanji { + /** City or ward. */ + @SerializedName("city") + Object city; + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object 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") + Object line1; + + /** Building details. */ + @SerializedName("line2") + Object line2; + + /** Postal code. */ + @SerializedName("postal_code") + Object postalCode; + + /** Prefecture. */ + @SerializedName("state") + Object state; + + /** Town or cho-me. */ + @SerializedName("town") + Object town; + + private AddressKanji( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object city; + + private Object country; + + private Map extraParams; + + private Object line1; + + private Object line2; + + private Object postalCode; + + private Object state; + + private Object town; + + /** Finalize and obtain parameter instance from this builder. */ + public LocationUpdateParams.AddressKanji build() { + return new LocationUpdateParams.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; + } + + /** City or ward. */ + public Builder setCity(EmptyParam 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; + } + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam 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 + * LocationUpdateParams.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 LocationUpdateParams.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; + } + + /** Block or building number. */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } + + /** Building details. */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** Building details. */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } + + /** Postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** Postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } + + /** Prefecture. */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** Prefecture. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } + + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } } diff --git a/src/main/java/com/stripe/param/treasury/OutboundPaymentCreateParams.java b/src/main/java/com/stripe/param/treasury/OutboundPaymentCreateParams.java index 7e344b0e3fb..7c73e4431d7 100644 --- a/src/main/java/com/stripe/param/treasury/OutboundPaymentCreateParams.java +++ b/src/main/java/com/stripe/param/treasury/OutboundPaymentCreateParams.java @@ -682,11 +682,11 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ @SerializedName("line1") String line1; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ @SerializedName("line2") String line2; @@ -793,13 +793,13 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ + /** Address line 1, such as the street, PO Box, or company name. */ public Builder setLine1(String line1) { this.line1 = line1; return this; } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ + /** Address line 2, such as the apartment, suite, unit, or building. */ public Builder setLine2(String line2) { this.line2 = line2; return this; diff --git a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java index de1bb2d8af1..b7c6c388685 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java @@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; import com.stripe.v2.Amount; +import java.math.BigDecimal; import java.time.Instant; import java.util.ArrayList; import java.util.HashMap; @@ -802,7 +803,7 @@ public static class Invoice { /** The sequence to be used on the customer's next invoice. Defaults to 1. */ @SerializedName("next_sequence") - Integer nextSequence; + Long nextSequence; /** * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 @@ -820,7 +821,7 @@ private Invoice( customFields, Map extraParams, String footer, - Integer nextSequence, + Long nextSequence, String prefix, Rendering rendering) { this.customFields = customFields; @@ -843,7 +844,7 @@ public static class Builder { private String footer; - private Integer nextSequence; + private Long nextSequence; private String prefix; @@ -930,7 +931,7 @@ public Builder setFooter(String footer) { } /** The sequence to be used on the customer's next invoice. Defaults to 1. */ - public Builder setNextSequence(Integer nextSequence) { + public Builder setNextSequence(Long nextSequence) { this.nextSequence = nextSequence; return this; } @@ -1456,7 +1457,7 @@ public static class Address { * 3166-1 alpha-2). */ @SerializedName("country") - Country country; + String country; /** * Map of extra parameters for custom features not available in this client library. The @@ -1486,7 +1487,7 @@ public static class Address { private Address( String city, - Country country, + String country, Map extraParams, String line1, String line2, @@ -1508,7 +1509,7 @@ public static Builder builder() { public static class Builder { private String city; - private Country country; + private String country; private Map extraParams; @@ -1542,8 +1543,7 @@ public Builder setCity(String city) { * Two-letter country code (ISO 3166-1 alpha-2). */ - public Builder setCountry( - AccountCreateParams.Configuration.Customer.Shipping.Address.Country country) { + public Builder setCountry(String country) { this.country = country; return this; } @@ -1602,1990 +1602,2613 @@ public Builder setState(String state) { return this; } } + } + } + } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Merchant { + /** Settings used for Bacs debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - @SerializedName("am") - AM("am"), + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + @SerializedName("branding") + Branding branding; - @SerializedName("ao") - AO("ao"), + /** Capabilities to request on the Merchant Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - @SerializedName("aq") - AQ("aq"), + /** Card payments settings. */ + @SerializedName("card_payments") + CardPayments cardPayments; - @SerializedName("ar") - AR("ar"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("as") - AS("as"), + /** + * The merchant category code for the Merchant Configuration. MCCs are used to classify + * businesses based on the goods or services they provide. + */ + @SerializedName("mcc") + String mcc; - @SerializedName("at") - AT("at"), + /** Statement descriptor. */ + @SerializedName("statement_descriptor") + StatementDescriptor statementDescriptor; - @SerializedName("au") - AU("au"), + /** Publicly available contact information for sending support issues to. */ + @SerializedName("support") + Support support; - @SerializedName("aw") - AW("aw"), + private Merchant( + BacsDebitPayments bacsDebitPayments, + Branding branding, + Capabilities capabilities, + CardPayments cardPayments, + Map extraParams, + String mcc, + StatementDescriptor statementDescriptor, + Support support) { + this.bacsDebitPayments = bacsDebitPayments; + this.branding = branding; + this.capabilities = capabilities; + this.cardPayments = cardPayments; + this.extraParams = extraParams; + this.mcc = mcc; + this.statementDescriptor = statementDescriptor; + this.support = support; + } - @SerializedName("ax") - AX("ax"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("az") - AZ("az"), + public static class Builder { + private BacsDebitPayments bacsDebitPayments; - @SerializedName("ba") - BA("ba"), + private Branding branding; - @SerializedName("bb") - BB("bb"), + private Capabilities capabilities; - @SerializedName("bd") - BD("bd"), + private CardPayments cardPayments; - @SerializedName("be") - BE("be"), + private Map extraParams; - @SerializedName("bf") - BF("bf"), + private String mcc; - @SerializedName("bg") - BG("bg"), + private StatementDescriptor statementDescriptor; - @SerializedName("bh") - BH("bh"), + private Support support; - @SerializedName("bi") - BI("bi"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant build() { + return new AccountCreateParams.Configuration.Merchant( + this.bacsDebitPayments, + this.branding, + this.capabilities, + this.cardPayments, + this.extraParams, + this.mcc, + this.statementDescriptor, + this.support); + } - @SerializedName("bj") - BJ("bj"), + /** Settings used for Bacs debit payments. */ + public Builder setBacsDebitPayments( + AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } - @SerializedName("bl") - BL("bl"), + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) { + this.branding = branding; + return this; + } - @SerializedName("bm") - BM("bm"), + /** Capabilities to request on the Merchant Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Merchant.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - @SerializedName("bn") - BN("bn"), + /** Card payments settings. */ + public Builder setCardPayments( + AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } - @SerializedName("bo") - BO("bo"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bq") - BQ("bq"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("br") - BR("br"), + /** + * The merchant category code for the Merchant Configuration. MCCs are used to classify + * businesses based on the goods or services they provide. + */ + public Builder setMcc(String mcc) { + this.mcc = mcc; + return this; + } - @SerializedName("bs") - BS("bs"), + /** Statement descriptor. */ + public Builder setStatementDescriptor( + AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } - @SerializedName("bt") - BT("bt"), + /** Publicly available contact information for sending support issues to. */ + public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) { + this.support = support; + return this; + } + } - @SerializedName("bv") - BV("bv"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** Display name for Bacs debit payments. */ + @SerializedName("display_name") + String displayName; - @SerializedName("bw") - BW("bw"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("by") - BY("by"), + private BacsDebitPayments(String displayName, Map extraParams) { + this.displayName = displayName; + this.extraParams = extraParams; + } - @SerializedName("bz") - BZ("bz"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ca") - CA("ca"), + public static class Builder { + private String displayName; - @SerializedName("cc") - CC("cc"), + private Map extraParams; - @SerializedName("cd") - CD("cd"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() { + return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments( + this.displayName, this.extraParams); + } - @SerializedName("cf") - CF("cf"), + /** Display name for Bacs debit payments. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } - @SerializedName("cg") - CG("cg"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ch") - CH("ch"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } - @SerializedName("ci") - CI("ci"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Branding { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ck") - CK("ck"), + /** + * ID of a file upload: + * An icon for the merchant. Must be square and at least 128px x 128px. + */ + @SerializedName("icon") + String icon; - @SerializedName("cl") - CL("cl"), + /** + * ID of a file upload: + * A logo for the merchant that will be used in Checkout instead of the icon and without the + * merchant's name next to it if provided. Must be at least 128px x 128px. + */ + @SerializedName("logo") + String logo; - @SerializedName("cm") - CM("cm"), + /** A CSS hex color value representing the primary branding color for the merchant. */ + @SerializedName("primary_color") + String primaryColor; - @SerializedName("cn") - CN("cn"), + /** A CSS hex color value representing the secondary branding color for the merchant. */ + @SerializedName("secondary_color") + String secondaryColor; - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), + private Branding( + Map extraParams, + String icon, + String logo, + String primaryColor, + String secondaryColor) { + this.extraParams = extraParams; + this.icon = icon; + this.logo = logo; + this.primaryColor = primaryColor; + this.secondaryColor = secondaryColor; + } - @SerializedName("gg") - GG("gg"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("gh") - GH("gh"), + public static class Builder { + private Map extraParams; - @SerializedName("gi") - GI("gi"), + private String icon; - @SerializedName("gl") - GL("gl"), + private String logo; - @SerializedName("gm") - GM("gm"), + private String primaryColor; - @SerializedName("gn") - GN("gn"), + private String secondaryColor; - @SerializedName("gp") - GP("gp"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Branding build() { + return new AccountCreateParams.Configuration.Merchant.Branding( + this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); + } - @SerializedName("gq") - GQ("gq"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("gr") - GR("gr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("gs") - GS("gs"), + /** + * ID of a file + * upload: An icon for the merchant. Must be square and at least 128px x 128px. + */ + public Builder setIcon(String icon) { + this.icon = icon; + return this; + } - @SerializedName("gt") - GT("gt"), + /** + * ID of a file + * upload: A logo for the merchant that will be used in Checkout instead of the icon + * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + */ + public Builder setLogo(String logo) { + this.logo = logo; + return this; + } - @SerializedName("gu") - GU("gu"), + /** A CSS hex color value representing the primary branding color for the merchant. */ + public Builder setPrimaryColor(String primaryColor) { + this.primaryColor = primaryColor; + return this; + } - @SerializedName("gw") - GW("gw"), + /** A CSS hex color value representing the secondary branding color for the merchant. */ + public Builder setSecondaryColor(String secondaryColor) { + this.secondaryColor = secondaryColor; + return this; + } + } + } - @SerializedName("gy") - GY("gy"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Allow the merchant to process ACH debit payments. */ + @SerializedName("ach_debit_payments") + AchDebitPayments achDebitPayments; - @SerializedName("hk") - HK("hk"), + /** Allow the merchant to process ACSS debit payments. */ + @SerializedName("acss_debit_payments") + AcssDebitPayments acssDebitPayments; - @SerializedName("hm") - HM("hm"), + /** Allow the merchant to process Affirm payments. */ + @SerializedName("affirm_payments") + AffirmPayments affirmPayments; - @SerializedName("hn") - HN("hn"), + /** Allow the merchant to process Afterpay/Clearpay payments. */ + @SerializedName("afterpay_clearpay_payments") + AfterpayClearpayPayments afterpayClearpayPayments; - @SerializedName("hr") - HR("hr"), + /** Allow the merchant to process Alma payments. */ + @SerializedName("alma_payments") + AlmaPayments almaPayments; - @SerializedName("ht") - HT("ht"), + /** Allow the merchant to process Amazon Pay payments. */ + @SerializedName("amazon_pay_payments") + AmazonPayPayments amazonPayPayments; - @SerializedName("hu") - HU("hu"), + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + @SerializedName("au_becs_debit_payments") + AuBecsDebitPayments auBecsDebitPayments; - @SerializedName("id") - ID("id"), + /** Allow the merchant to process BACS Direct Debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - @SerializedName("ie") - IE("ie"), + /** Allow the merchant to process Bancontact payments. */ + @SerializedName("bancontact_payments") + BancontactPayments bancontactPayments; - @SerializedName("il") - IL("il"), + /** Allow the merchant to process BLIK payments. */ + @SerializedName("blik_payments") + BlikPayments blikPayments; - @SerializedName("im") - IM("im"), + /** Allow the merchant to process Boleto payments. */ + @SerializedName("boleto_payments") + BoletoPayments boletoPayments; - @SerializedName("in") - IN("in"), + /** Allow the merchant to collect card payments. */ + @SerializedName("card_payments") + CardPayments cardPayments; - @SerializedName("io") - IO("io"), + /** Allow the merchant to process Cartes Bancaires payments. */ + @SerializedName("cartes_bancaires_payments") + CartesBancairesPayments cartesBancairesPayments; - @SerializedName("iq") - IQ("iq"), + /** Allow the merchant to process Cash App payments. */ + @SerializedName("cashapp_payments") + CashappPayments cashappPayments; - @SerializedName("ir") - IR("ir"), + /** Allow the merchant to process EPS payments. */ + @SerializedName("eps_payments") + EpsPayments epsPayments; - @SerializedName("is") - IS("is"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("it") - IT("it"), + /** Allow the merchant to process FPX payments. */ + @SerializedName("fpx_payments") + FpxPayments fpxPayments; - @SerializedName("je") - JE("je"), + /** Allow the merchant to process UK bank transfer payments. */ + @SerializedName("gb_bank_transfer_payments") + GbBankTransferPayments gbBankTransferPayments; - @SerializedName("jm") - JM("jm"), + /** Allow the merchant to process GrabPay payments. */ + @SerializedName("grabpay_payments") + GrabpayPayments grabpayPayments; - @SerializedName("jo") - JO("jo"), + /** Allow the merchant to process iDEAL payments. */ + @SerializedName("ideal_payments") + IdealPayments idealPayments; - @SerializedName("jp") - JP("jp"), + /** Allow the merchant to process JCB card payments. */ + @SerializedName("jcb_payments") + JcbPayments jcbPayments; - @SerializedName("ke") - KE("ke"), + /** Allow the merchant to process Japanese bank transfer payments. */ + @SerializedName("jp_bank_transfer_payments") + JpBankTransferPayments jpBankTransferPayments; - @SerializedName("kg") - KG("kg"), + /** Allow the merchant to process Kakao Pay payments. */ + @SerializedName("kakao_pay_payments") + KakaoPayPayments kakaoPayPayments; - @SerializedName("kh") - KH("kh"), + /** Allow the merchant to process Klarna payments. */ + @SerializedName("klarna_payments") + KlarnaPayments klarnaPayments; - @SerializedName("ki") - KI("ki"), + /** Allow the merchant to process Konbini convenience store payments. */ + @SerializedName("konbini_payments") + KonbiniPayments konbiniPayments; - @SerializedName("km") - KM("km"), + /** Allow the merchant to process Korean card payments. */ + @SerializedName("kr_card_payments") + KrCardPayments krCardPayments; - @SerializedName("kn") - KN("kn"), + /** Allow the merchant to process Link payments. */ + @SerializedName("link_payments") + LinkPayments linkPayments; - @SerializedName("kp") - KP("kp"), + /** Allow the merchant to process MobilePay payments. */ + @SerializedName("mobilepay_payments") + MobilepayPayments mobilepayPayments; - @SerializedName("kr") - KR("kr"), + /** Allow the merchant to process Multibanco payments. */ + @SerializedName("multibanco_payments") + MultibancoPayments multibancoPayments; - @SerializedName("kw") - KW("kw"), + /** Allow the merchant to process Mexican bank transfer payments. */ + @SerializedName("mx_bank_transfer_payments") + MxBankTransferPayments mxBankTransferPayments; - @SerializedName("ky") - KY("ky"), + /** Allow the merchant to process Naver Pay payments. */ + @SerializedName("naver_pay_payments") + NaverPayPayments naverPayPayments; - @SerializedName("kz") - KZ("kz"), + /** Allow the merchant to process OXXO payments. */ + @SerializedName("oxxo_payments") + OxxoPayments oxxoPayments; - @SerializedName("la") - LA("la"), + /** Allow the merchant to process Przelewy24 (P24) payments. */ + @SerializedName("p24_payments") + P24Payments p24Payments; - @SerializedName("lb") - LB("lb"), + /** Allow the merchant to process Pay by Bank payments. */ + @SerializedName("pay_by_bank_payments") + PayByBankPayments payByBankPayments; - @SerializedName("lc") - LC("lc"), + /** Allow the merchant to process PAYCO payments. */ + @SerializedName("payco_payments") + PaycoPayments paycoPayments; - @SerializedName("li") - LI("li"), + /** Allow the merchant to process PayNow payments. */ + @SerializedName("paynow_payments") + PaynowPayments paynowPayments; - @SerializedName("lk") - LK("lk"), + /** Allow the merchant to process PromptPay payments. */ + @SerializedName("promptpay_payments") + PromptpayPayments promptpayPayments; - @SerializedName("lr") - LR("lr"), + /** Allow the merchant to process Revolut Pay payments. */ + @SerializedName("revolut_pay_payments") + RevolutPayPayments revolutPayPayments; - @SerializedName("ls") - LS("ls"), + /** Allow the merchant to process Samsung Pay payments. */ + @SerializedName("samsung_pay_payments") + SamsungPayPayments samsungPayPayments; - @SerializedName("lt") - LT("lt"), + /** Allow the merchant to process SEPA bank transfer payments. */ + @SerializedName("sepa_bank_transfer_payments") + SepaBankTransferPayments sepaBankTransferPayments; - @SerializedName("lu") - LU("lu"), + /** Allow the merchant to process SEPA Direct Debit payments. */ + @SerializedName("sepa_debit_payments") + SepaDebitPayments sepaDebitPayments; - @SerializedName("lv") - LV("lv"), + /** Allow the merchant to process Swish payments. */ + @SerializedName("swish_payments") + SwishPayments swishPayments; - @SerializedName("ly") - LY("ly"), + /** Allow the merchant to process TWINT payments. */ + @SerializedName("twint_payments") + TwintPayments twintPayments; - @SerializedName("ma") - MA("ma"), + /** Allow the merchant to process US bank transfer payments. */ + @SerializedName("us_bank_transfer_payments") + UsBankTransferPayments usBankTransferPayments; - @SerializedName("mc") - MC("mc"), + /** Allow the merchant to process Zip payments. */ + @SerializedName("zip_payments") + ZipPayments zipPayments; - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), + private Capabilities( + AchDebitPayments achDebitPayments, + AcssDebitPayments acssDebitPayments, + AffirmPayments affirmPayments, + AfterpayClearpayPayments afterpayClearpayPayments, + AlmaPayments almaPayments, + AmazonPayPayments amazonPayPayments, + AuBecsDebitPayments auBecsDebitPayments, + BacsDebitPayments bacsDebitPayments, + BancontactPayments bancontactPayments, + BlikPayments blikPayments, + BoletoPayments boletoPayments, + CardPayments cardPayments, + CartesBancairesPayments cartesBancairesPayments, + CashappPayments cashappPayments, + EpsPayments epsPayments, + Map extraParams, + FpxPayments fpxPayments, + GbBankTransferPayments gbBankTransferPayments, + GrabpayPayments grabpayPayments, + IdealPayments idealPayments, + JcbPayments jcbPayments, + JpBankTransferPayments jpBankTransferPayments, + KakaoPayPayments kakaoPayPayments, + KlarnaPayments klarnaPayments, + KonbiniPayments konbiniPayments, + KrCardPayments krCardPayments, + LinkPayments linkPayments, + MobilepayPayments mobilepayPayments, + MultibancoPayments multibancoPayments, + MxBankTransferPayments mxBankTransferPayments, + NaverPayPayments naverPayPayments, + OxxoPayments oxxoPayments, + P24Payments p24Payments, + PayByBankPayments payByBankPayments, + PaycoPayments paycoPayments, + PaynowPayments paynowPayments, + PromptpayPayments promptpayPayments, + RevolutPayPayments revolutPayPayments, + SamsungPayPayments samsungPayPayments, + SepaBankTransferPayments sepaBankTransferPayments, + SepaDebitPayments sepaDebitPayments, + SwishPayments swishPayments, + TwintPayments twintPayments, + UsBankTransferPayments usBankTransferPayments, + ZipPayments zipPayments) { + this.achDebitPayments = achDebitPayments; + this.acssDebitPayments = acssDebitPayments; + this.affirmPayments = affirmPayments; + this.afterpayClearpayPayments = afterpayClearpayPayments; + this.almaPayments = almaPayments; + this.amazonPayPayments = amazonPayPayments; + this.auBecsDebitPayments = auBecsDebitPayments; + this.bacsDebitPayments = bacsDebitPayments; + this.bancontactPayments = bancontactPayments; + this.blikPayments = blikPayments; + this.boletoPayments = boletoPayments; + this.cardPayments = cardPayments; + this.cartesBancairesPayments = cartesBancairesPayments; + this.cashappPayments = cashappPayments; + this.epsPayments = epsPayments; + this.extraParams = extraParams; + this.fpxPayments = fpxPayments; + this.gbBankTransferPayments = gbBankTransferPayments; + this.grabpayPayments = grabpayPayments; + this.idealPayments = idealPayments; + this.jcbPayments = jcbPayments; + this.jpBankTransferPayments = jpBankTransferPayments; + this.kakaoPayPayments = kakaoPayPayments; + this.klarnaPayments = klarnaPayments; + this.konbiniPayments = konbiniPayments; + this.krCardPayments = krCardPayments; + this.linkPayments = linkPayments; + this.mobilepayPayments = mobilepayPayments; + this.multibancoPayments = multibancoPayments; + this.mxBankTransferPayments = mxBankTransferPayments; + this.naverPayPayments = naverPayPayments; + this.oxxoPayments = oxxoPayments; + this.p24Payments = p24Payments; + this.payByBankPayments = payByBankPayments; + this.paycoPayments = paycoPayments; + this.paynowPayments = paynowPayments; + this.promptpayPayments = promptpayPayments; + this.revolutPayPayments = revolutPayPayments; + this.samsungPayPayments = samsungPayPayments; + this.sepaBankTransferPayments = sepaBankTransferPayments; + this.sepaDebitPayments = sepaDebitPayments; + this.swishPayments = swishPayments; + this.twintPayments = twintPayments; + this.usBankTransferPayments = usBankTransferPayments; + this.zipPayments = zipPayments; + } - @SerializedName("mk") - MK("mk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ml") - ML("ml"), + public static class Builder { + private AchDebitPayments achDebitPayments; - @SerializedName("mm") - MM("mm"), + private AcssDebitPayments acssDebitPayments; - @SerializedName("mn") - MN("mn"), + private AffirmPayments affirmPayments; - @SerializedName("mo") - MO("mo"), + private AfterpayClearpayPayments afterpayClearpayPayments; - @SerializedName("mp") - MP("mp"), + private AlmaPayments almaPayments; - @SerializedName("mq") - MQ("mq"), + private AmazonPayPayments amazonPayPayments; - @SerializedName("mr") - MR("mr"), + private AuBecsDebitPayments auBecsDebitPayments; - @SerializedName("ms") - MS("ms"), + private BacsDebitPayments bacsDebitPayments; - @SerializedName("mt") - MT("mt"), + private BancontactPayments bancontactPayments; - @SerializedName("mu") - MU("mu"), + private BlikPayments blikPayments; - @SerializedName("mv") - MV("mv"), + private BoletoPayments boletoPayments; - @SerializedName("mw") - MW("mw"), + private CardPayments cardPayments; - @SerializedName("mx") - MX("mx"), + private CartesBancairesPayments cartesBancairesPayments; - @SerializedName("my") - MY("my"), + private CashappPayments cashappPayments; - @SerializedName("mz") - MZ("mz"), + private EpsPayments epsPayments; - @SerializedName("na") - NA("na"), + private Map extraParams; - @SerializedName("nc") - NC("nc"), + private FpxPayments fpxPayments; - @SerializedName("ne") - NE("ne"), + private GbBankTransferPayments gbBankTransferPayments; - @SerializedName("nf") - NF("nf"), + private GrabpayPayments grabpayPayments; - @SerializedName("ng") - NG("ng"), + private IdealPayments idealPayments; - @SerializedName("ni") - NI("ni"), + private JcbPayments jcbPayments; - @SerializedName("nl") - NL("nl"), + private JpBankTransferPayments jpBankTransferPayments; - @SerializedName("no") - NO("no"), + private KakaoPayPayments kakaoPayPayments; - @SerializedName("np") - NP("np"), + private KlarnaPayments klarnaPayments; - @SerializedName("nr") - NR("nr"), + private KonbiniPayments konbiniPayments; - @SerializedName("nu") - NU("nu"), + private KrCardPayments krCardPayments; - @SerializedName("nz") - NZ("nz"), + private LinkPayments linkPayments; - @SerializedName("om") - OM("om"), + private MobilepayPayments mobilepayPayments; - @SerializedName("pa") - PA("pa"), + private MultibancoPayments multibancoPayments; - @SerializedName("pe") - PE("pe"), + private MxBankTransferPayments mxBankTransferPayments; - @SerializedName("pf") - PF("pf"), + private NaverPayPayments naverPayPayments; - @SerializedName("pg") - PG("pg"), + private OxxoPayments oxxoPayments; - @SerializedName("ph") - PH("ph"), + private P24Payments p24Payments; - @SerializedName("pk") - PK("pk"), + private PayByBankPayments payByBankPayments; - @SerializedName("pl") - PL("pl"), + private PaycoPayments paycoPayments; - @SerializedName("pm") - PM("pm"), + private PaynowPayments paynowPayments; - @SerializedName("pn") - PN("pn"), + private PromptpayPayments promptpayPayments; - @SerializedName("pr") - PR("pr"), + private RevolutPayPayments revolutPayPayments; - @SerializedName("ps") - PS("ps"), + private SamsungPayPayments samsungPayPayments; - @SerializedName("pt") - PT("pt"), + private SepaBankTransferPayments sepaBankTransferPayments; - @SerializedName("pw") - PW("pw"), + private SepaDebitPayments sepaDebitPayments; - @SerializedName("py") - PY("py"), + private SwishPayments swishPayments; - @SerializedName("qa") - QA("qa"), + private TwintPayments twintPayments; - @SerializedName("qz") - QZ("qz"), + private UsBankTransferPayments usBankTransferPayments; - @SerializedName("re") - RE("re"), + private ZipPayments zipPayments; - @SerializedName("ro") - RO("ro"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities( + this.achDebitPayments, + this.acssDebitPayments, + this.affirmPayments, + this.afterpayClearpayPayments, + this.almaPayments, + this.amazonPayPayments, + this.auBecsDebitPayments, + this.bacsDebitPayments, + this.bancontactPayments, + this.blikPayments, + this.boletoPayments, + this.cardPayments, + this.cartesBancairesPayments, + this.cashappPayments, + this.epsPayments, + this.extraParams, + this.fpxPayments, + this.gbBankTransferPayments, + this.grabpayPayments, + this.idealPayments, + this.jcbPayments, + this.jpBankTransferPayments, + this.kakaoPayPayments, + this.klarnaPayments, + this.konbiniPayments, + this.krCardPayments, + this.linkPayments, + this.mobilepayPayments, + this.multibancoPayments, + this.mxBankTransferPayments, + this.naverPayPayments, + this.oxxoPayments, + this.p24Payments, + this.payByBankPayments, + this.paycoPayments, + this.paynowPayments, + this.promptpayPayments, + this.revolutPayPayments, + this.samsungPayPayments, + this.sepaBankTransferPayments, + this.sepaDebitPayments, + this.swishPayments, + this.twintPayments, + this.usBankTransferPayments, + this.zipPayments); + } - @SerializedName("rs") - RS("rs"), + /** Allow the merchant to process ACH debit payments. */ + public Builder setAchDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments + achDebitPayments) { + this.achDebitPayments = achDebitPayments; + return this; + } - @SerializedName("ru") - RU("ru"), + /** Allow the merchant to process ACSS debit payments. */ + public Builder setAcssDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + acssDebitPayments) { + this.acssDebitPayments = acssDebitPayments; + return this; + } - @SerializedName("rw") - RW("rw"), + /** Allow the merchant to process Affirm payments. */ + public Builder setAffirmPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments + affirmPayments) { + this.affirmPayments = affirmPayments; + return this; + } - @SerializedName("sa") - SA("sa"), + /** Allow the merchant to process Afterpay/Clearpay payments. */ + public Builder setAfterpayClearpayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + afterpayClearpayPayments) { + this.afterpayClearpayPayments = afterpayClearpayPayments; + return this; + } - @SerializedName("sb") - SB("sb"), + /** Allow the merchant to process Alma payments. */ + public Builder setAlmaPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { + this.almaPayments = almaPayments; + return this; + } - @SerializedName("sc") - SC("sc"), + /** Allow the merchant to process Amazon Pay payments. */ + public Builder setAmazonPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + amazonPayPayments) { + this.amazonPayPayments = amazonPayPayments; + return this; + } - @SerializedName("sd") - SD("sd"), + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + public Builder setAuBecsDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments + auBecsDebitPayments) { + this.auBecsDebitPayments = auBecsDebitPayments; + return this; + } - @SerializedName("se") - SE("se"), + /** Allow the merchant to process BACS Direct Debit payments. */ + public Builder setBacsDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } - @SerializedName("sg") - SG("sg"), + /** Allow the merchant to process Bancontact payments. */ + public Builder setBancontactPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments + bancontactPayments) { + this.bancontactPayments = bancontactPayments; + return this; + } - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), + /** Allow the merchant to process BLIK payments. */ + public Builder setBlikPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { + this.blikPayments = blikPayments; + return this; + } - @SerializedName("sm") - SM("sm"), + /** Allow the merchant to process Boleto payments. */ + public Builder setBoletoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments + boletoPayments) { + this.boletoPayments = boletoPayments; + return this; + } - @SerializedName("sn") - SN("sn"), + /** Allow the merchant to collect card payments. */ + public Builder setCardPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } - @SerializedName("so") - SO("so"), + /** Allow the merchant to process Cartes Bancaires payments. */ + public Builder setCartesBancairesPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + cartesBancairesPayments) { + this.cartesBancairesPayments = cartesBancairesPayments; + return this; + } - @SerializedName("sr") - SR("sr"), + /** Allow the merchant to process Cash App payments. */ + public Builder setCashappPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments + cashappPayments) { + this.cashappPayments = cashappPayments; + return this; + } - @SerializedName("ss") - SS("ss"), + /** Allow the merchant to process EPS payments. */ + public Builder setEpsPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { + this.epsPayments = epsPayments; + return this; + } - @SerializedName("st") - ST("st"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sv") - SV("sv"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sx") - SX("sx"), + /** Allow the merchant to process FPX payments. */ + public Builder setFpxPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { + this.fpxPayments = fpxPayments; + return this; + } - @SerializedName("sy") - SY("sy"), + /** Allow the merchant to process UK bank transfer payments. */ + public Builder setGbBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + gbBankTransferPayments) { + this.gbBankTransferPayments = gbBankTransferPayments; + return this; + } - @SerializedName("sz") - SZ("sz"), + /** Allow the merchant to process GrabPay payments. */ + public Builder setGrabpayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments + grabpayPayments) { + this.grabpayPayments = grabpayPayments; + return this; + } - @SerializedName("tc") - TC("tc"), + /** Allow the merchant to process iDEAL payments. */ + public Builder setIdealPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { + this.idealPayments = idealPayments; + return this; + } - @SerializedName("td") - TD("td"), + /** Allow the merchant to process JCB card payments. */ + public Builder setJcbPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { + this.jcbPayments = jcbPayments; + return this; + } - @SerializedName("tf") - TF("tf"), + /** Allow the merchant to process Japanese bank transfer payments. */ + public Builder setJpBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + jpBankTransferPayments) { + this.jpBankTransferPayments = jpBankTransferPayments; + return this; + } - @SerializedName("tg") - TG("tg"), + /** Allow the merchant to process Kakao Pay payments. */ + public Builder setKakaoPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + kakaoPayPayments) { + this.kakaoPayPayments = kakaoPayPayments; + return this; + } - @SerializedName("th") - TH("th"), + /** Allow the merchant to process Klarna payments. */ + public Builder setKlarnaPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments + klarnaPayments) { + this.klarnaPayments = klarnaPayments; + return this; + } - @SerializedName("tj") - TJ("tj"), + /** Allow the merchant to process Konbini convenience store payments. */ + public Builder setKonbiniPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments + konbiniPayments) { + this.konbiniPayments = konbiniPayments; + return this; + } - @SerializedName("tk") - TK("tk"), + /** Allow the merchant to process Korean card payments. */ + public Builder setKrCardPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments + krCardPayments) { + this.krCardPayments = krCardPayments; + return this; + } - @SerializedName("tl") - TL("tl"), + /** Allow the merchant to process Link payments. */ + public Builder setLinkPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { + this.linkPayments = linkPayments; + return this; + } - @SerializedName("tm") - TM("tm"), + /** Allow the merchant to process MobilePay payments. */ + public Builder setMobilepayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments + mobilepayPayments) { + this.mobilepayPayments = mobilepayPayments; + return this; + } - @SerializedName("tn") - TN("tn"), + /** Allow the merchant to process Multibanco payments. */ + public Builder setMultibancoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments + multibancoPayments) { + this.multibancoPayments = multibancoPayments; + return this; + } - @SerializedName("to") - TO("to"), + /** Allow the merchant to process Mexican bank transfer payments. */ + public Builder setMxBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + mxBankTransferPayments) { + this.mxBankTransferPayments = mxBankTransferPayments; + return this; + } - @SerializedName("tr") - TR("tr"), + /** Allow the merchant to process Naver Pay payments. */ + public Builder setNaverPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments + naverPayPayments) { + this.naverPayPayments = naverPayPayments; + return this; + } - @SerializedName("tt") - TT("tt"), + /** Allow the merchant to process OXXO payments. */ + public Builder setOxxoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { + this.oxxoPayments = oxxoPayments; + return this; + } - @SerializedName("tv") - TV("tv"), + /** Allow the merchant to process Przelewy24 (P24) payments. */ + public Builder setP24Payments( + AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { + this.p24Payments = p24Payments; + return this; + } - @SerializedName("tw") - TW("tw"), + /** Allow the merchant to process Pay by Bank payments. */ + public Builder setPayByBankPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments + payByBankPayments) { + this.payByBankPayments = payByBankPayments; + return this; + } - @SerializedName("tz") - TZ("tz"), + /** Allow the merchant to process PAYCO payments. */ + public Builder setPaycoPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { + this.paycoPayments = paycoPayments; + return this; + } - @SerializedName("ua") - UA("ua"), + /** Allow the merchant to process PayNow payments. */ + public Builder setPaynowPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments + paynowPayments) { + this.paynowPayments = paynowPayments; + return this; + } - @SerializedName("ug") - UG("ug"), + /** Allow the merchant to process PromptPay payments. */ + public Builder setPromptpayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments + promptpayPayments) { + this.promptpayPayments = promptpayPayments; + return this; + } - @SerializedName("um") - UM("um"), + /** Allow the merchant to process Revolut Pay payments. */ + public Builder setRevolutPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + revolutPayPayments) { + this.revolutPayPayments = revolutPayPayments; + return this; + } - @SerializedName("us") - US("us"), + /** Allow the merchant to process Samsung Pay payments. */ + public Builder setSamsungPayPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + samsungPayPayments) { + this.samsungPayPayments = samsungPayPayments; + return this; + } - @SerializedName("uy") - UY("uy"), + /** Allow the merchant to process SEPA bank transfer payments. */ + public Builder setSepaBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + sepaBankTransferPayments) { + this.sepaBankTransferPayments = sepaBankTransferPayments; + return this; + } - @SerializedName("uz") - UZ("uz"), + /** Allow the merchant to process SEPA Direct Debit payments. */ + public Builder setSepaDebitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + sepaDebitPayments) { + this.sepaDebitPayments = sepaDebitPayments; + return this; + } - @SerializedName("va") - VA("va"), + /** Allow the merchant to process Swish payments. */ + public Builder setSwishPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { + this.swishPayments = swishPayments; + return this; + } - @SerializedName("vc") - VC("vc"), + /** Allow the merchant to process TWINT payments. */ + public Builder setTwintPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { + this.twintPayments = twintPayments; + return this; + } - @SerializedName("ve") - VE("ve"), + /** Allow the merchant to process US bank transfer payments. */ + public Builder setUsBankTransferPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + usBankTransferPayments) { + this.usBankTransferPayments = usBankTransferPayments; + return this; + } - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), + /** Allow the merchant to process Zip payments. */ + public Builder setZipPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { + this.zipPayments = zipPayments; + return this; + } + } - @SerializedName("wf") - WF("wf"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AchDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ws") - WS("ws"), + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("xx") - XX("xx"), + private AchDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("ye") - YE("ye"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("yt") - YT("yt"), + public static class Builder { + private Map extraParams; - @SerializedName("za") - ZA("za"), + private Boolean requested; - @SerializedName("zm") - ZM("zm"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments( + this.extraParams, this.requested); + } - @SerializedName("zw") - ZW("zw"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Country(String value) { - this.value = value; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } } } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Merchant { - /** Settings used for Bacs debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AcssDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - @SerializedName("branding") - Branding branding; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Capabilities to request on the Merchant Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + private AcssDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Card payments settings. */ - @SerializedName("card_payments") - CardPayments cardPayments; + public static Builder builder() { + return new Builder(); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - /** - * The merchant category code for the Merchant Configuration. MCCs are used to classify - * businesses based on the goods or services they provide. - */ - @SerializedName("mcc") - String mcc; + private Boolean requested; - /** Statement descriptor. */ - @SerializedName("statement_descriptor") - StatementDescriptor statementDescriptor; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( + this.extraParams, this.requested); + } - /** Publicly available contact information for sending support issues to. */ - @SerializedName("support") - Support support; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Merchant( - BacsDebitPayments bacsDebitPayments, - Branding branding, - Capabilities capabilities, - CardPayments cardPayments, - Map extraParams, - String mcc, - StatementDescriptor statementDescriptor, - Support support) { - this.bacsDebitPayments = bacsDebitPayments; - this.branding = branding; - this.capabilities = capabilities; - this.cardPayments = cardPayments; - this.extraParams = extraParams; - this.mcc = mcc; - this.statementDescriptor = statementDescriptor; - this.support = support; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - public static class Builder { - private BacsDebitPayments bacsDebitPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AffirmPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Branding branding; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Capabilities capabilities; + private AffirmPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private CardPayments cardPayments; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Map extraParams; - private String mcc; + private Boolean requested; - private StatementDescriptor statementDescriptor; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments( + this.extraParams, this.requested); + } - private Support support; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant build() { - return new AccountCreateParams.Configuration.Merchant( - this.bacsDebitPayments, - this.branding, - this.capabilities, - this.cardPayments, - this.extraParams, - this.mcc, - this.statementDescriptor, - this.support); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Settings used for Bacs debit payments. */ - public Builder setBacsDebitPayments( - AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) { - this.branding = branding; - return this; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - /** Capabilities to request on the Merchant Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Merchant.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AfterpayClearpayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Card payments settings. */ - public Builder setCardPayments( - AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private AfterpayClearpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - - /** - * The merchant category code for the Merchant Configuration. MCCs are used to classify - * businesses based on the goods or services they provide. - */ - public Builder setMcc(String mcc) { - this.mcc = mcc; - return this; - } - /** Statement descriptor. */ - public Builder setStatementDescriptor( - AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { - this.statementDescriptor = statementDescriptor; - return this; - } + public static class Builder { + private Map extraParams; - /** Publicly available contact information for sending support issues to. */ - public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) { - this.support = support; - return this; - } - } + private Boolean requested; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** Display name for Bacs debit payments. */ - @SerializedName("display_name") - String displayName; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .AfterpayClearpayPayments(this.extraParams, this.requested); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private BacsDebitPayments(String displayName, Map extraParams) { - this.displayName = displayName; - this.extraParams = extraParams; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.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; + } - public static Builder builder() { - return new Builder(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - public static class Builder { - private String displayName; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AlmaPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Map extraParams; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() { - return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments( - this.displayName, this.extraParams); + private AlmaPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Display name for Bacs debit payments. */ - public Builder setDisplayName(String displayName) { - this.displayName = displayName; - return this; + public static Builder builder() { + return new Builder(); } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Branding { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - /** - * ID of a file upload: - * An icon for the merchant. Must be square and at least 128px x 128px. - */ - @SerializedName("icon") - String icon; + private Boolean requested; - /** - * ID of a file upload: - * A logo for the merchant that will be used in Checkout instead of the icon and without the - * merchant's name next to it if provided. Must be at least 128px x 128px. - */ - @SerializedName("logo") - String logo; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments( + this.extraParams, this.requested); + } - /** A CSS hex color value representing the primary branding color for the merchant. */ - @SerializedName("primary_color") - String primaryColor; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** A CSS hex color value representing the secondary branding color for the merchant. */ - @SerializedName("secondary_color") - String secondaryColor; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Branding( - Map extraParams, - String icon, - String logo, - String primaryColor, - String secondaryColor) { - this.extraParams = extraParams; - this.icon = icon; - this.logo = logo; - this.primaryColor = primaryColor; - this.secondaryColor = secondaryColor; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AmazonPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static class Builder { - private Map extraParams; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private String icon; + private AmazonPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private String logo; + public static Builder builder() { + return new Builder(); + } - private String primaryColor; + public static class Builder { + private Map extraParams; - private String secondaryColor; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Branding build() { - return new AccountCreateParams.Configuration.Merchant.Branding( - this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( + this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } - this.extraParams.putAll(map); - return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AuBecsDebitPayments { /** - * ID of a file - * upload: An icon for the merchant. Must be square and at least 128px x 128px. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setIcon(String icon) { - this.icon = icon; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * ID of a file - * upload: A logo for the merchant that will be used in Checkout instead of the icon - * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. */ - public Builder setLogo(String logo) { - this.logo = logo; - return this; - } + @SerializedName("requested") + Boolean requested; - /** A CSS hex color value representing the primary branding color for the merchant. */ - public Builder setPrimaryColor(String primaryColor) { - this.primaryColor = primaryColor; - return this; + private AuBecsDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** A CSS hex color value representing the secondary branding color for the merchant. */ - public Builder setSecondaryColor(String secondaryColor) { - this.secondaryColor = secondaryColor; - return this; + public static Builder builder() { + return new Builder(); } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Allow the merchant to process ACH debit payments. */ - @SerializedName("ach_debit_payments") - AchDebitPayments achDebitPayments; - /** Allow the merchant to process ACSS debit payments. */ - @SerializedName("acss_debit_payments") - AcssDebitPayments acssDebitPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Affirm payments. */ - @SerializedName("affirm_payments") - AffirmPayments affirmPayments; + private Boolean requested; - /** Allow the merchant to process Afterpay/Clearpay payments. */ - @SerializedName("afterpay_clearpay_payments") - AfterpayClearpayPayments afterpayClearpayPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .AuBecsDebitPayments(this.extraParams, this.requested); + } - /** Allow the merchant to process Alma payments. */ - @SerializedName("alma_payments") - AlmaPayments almaPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Amazon Pay payments. */ - @SerializedName("amazon_pay_payments") - AmazonPayPayments amazonPayPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - @SerializedName("au_becs_debit_payments") - AuBecsDebitPayments auBecsDebitPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** Allow the merchant to process BACS Direct Debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process Bancontact payments. */ - @SerializedName("bancontact_payments") - BancontactPayments bancontactPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process BLIK payments. */ - @SerializedName("blik_payments") - BlikPayments blikPayments; + private BacsDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Allow the merchant to process Boleto payments. */ - @SerializedName("boleto_payments") - BoletoPayments boletoPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to collect card payments. */ - @SerializedName("card_payments") - CardPayments cardPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Cartes Bancaires payments. */ - @SerializedName("cartes_bancaires_payments") - CartesBancairesPayments cartesBancairesPayments; + private Boolean requested; - /** Allow the merchant to process Cash App payments. */ - @SerializedName("cashapp_payments") - CashappPayments cashappPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( + this.extraParams, this.requested); + } - /** Allow the merchant to process EPS payments. */ - @SerializedName("eps_payments") - EpsPayments epsPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process FPX payments. */ - @SerializedName("fpx_payments") - FpxPayments fpxPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** Allow the merchant to process UK bank transfer payments. */ - @SerializedName("gb_bank_transfer_payments") - GbBankTransferPayments gbBankTransferPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BancontactPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process GrabPay payments. */ - @SerializedName("grabpay_payments") - GrabpayPayments grabpayPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process iDEAL payments. */ - @SerializedName("ideal_payments") - IdealPayments idealPayments; + private BancontactPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Allow the merchant to process JCB card payments. */ - @SerializedName("jcb_payments") - JcbPayments jcbPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process Japanese bank transfer payments. */ - @SerializedName("jp_bank_transfer_payments") - JpBankTransferPayments jpBankTransferPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Kakao Pay payments. */ - @SerializedName("kakao_pay_payments") - KakaoPayPayments kakaoPayPayments; + private Boolean requested; - /** Allow the merchant to process Klarna payments. */ - @SerializedName("klarna_payments") - KlarnaPayments klarnaPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments( + this.extraParams, this.requested); + } - /** Allow the merchant to process Konbini convenience store payments. */ - @SerializedName("konbini_payments") - KonbiniPayments konbiniPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Korean card payments. */ - @SerializedName("kr_card_payments") - KrCardPayments krCardPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process Link payments. */ - @SerializedName("link_payments") - LinkPayments linkPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** Allow the merchant to process MobilePay payments. */ - @SerializedName("mobilepay_payments") - MobilepayPayments mobilepayPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BlikPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process Multibanco payments. */ - @SerializedName("multibanco_payments") - MultibancoPayments multibancoPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process Mexican bank transfer payments. */ - @SerializedName("mx_bank_transfer_payments") - MxBankTransferPayments mxBankTransferPayments; + private BlikPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Allow the merchant to process Naver Pay payments. */ - @SerializedName("naver_pay_payments") - NaverPayPayments naverPayPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process OXXO payments. */ - @SerializedName("oxxo_payments") - OxxoPayments oxxoPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Przelewy24 (P24) payments. */ - @SerializedName("p24_payments") - P24Payments p24Payments; + private Boolean requested; - /** Allow the merchant to process Pay by Bank payments. */ - @SerializedName("pay_by_bank_payments") - PayByBankPayments payByBankPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments( + this.extraParams, this.requested); + } - /** Allow the merchant to process PAYCO payments. */ - @SerializedName("payco_payments") - PaycoPayments paycoPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process PayNow payments. */ - @SerializedName("paynow_payments") - PaynowPayments paynowPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process PromptPay payments. */ - @SerializedName("promptpay_payments") - PromptpayPayments promptpayPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** Allow the merchant to process Revolut Pay payments. */ - @SerializedName("revolut_pay_payments") - RevolutPayPayments revolutPayPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BoletoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process Samsung Pay payments. */ - @SerializedName("samsung_pay_payments") - SamsungPayPayments samsungPayPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process SEPA bank transfer payments. */ - @SerializedName("sepa_bank_transfer_payments") - SepaBankTransferPayments sepaBankTransferPayments; + private BoletoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Allow the merchant to process SEPA Direct Debit payments. */ - @SerializedName("sepa_debit_payments") - SepaDebitPayments sepaDebitPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process Swish payments. */ - @SerializedName("swish_payments") - SwishPayments swishPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process TWINT payments. */ - @SerializedName("twint_payments") - TwintPayments twintPayments; + private Boolean requested; - /** Allow the merchant to process US bank transfer payments. */ - @SerializedName("us_bank_transfer_payments") - UsBankTransferPayments usBankTransferPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments( + this.extraParams, this.requested); + } - /** Allow the merchant to process Zip payments. */ - @SerializedName("zip_payments") - ZipPayments zipPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Capabilities( - AchDebitPayments achDebitPayments, - AcssDebitPayments acssDebitPayments, - AffirmPayments affirmPayments, - AfterpayClearpayPayments afterpayClearpayPayments, - AlmaPayments almaPayments, - AmazonPayPayments amazonPayPayments, - AuBecsDebitPayments auBecsDebitPayments, - BacsDebitPayments bacsDebitPayments, - BancontactPayments bancontactPayments, - BlikPayments blikPayments, - BoletoPayments boletoPayments, - CardPayments cardPayments, - CartesBancairesPayments cartesBancairesPayments, - CashappPayments cashappPayments, - EpsPayments epsPayments, - Map extraParams, - FpxPayments fpxPayments, - GbBankTransferPayments gbBankTransferPayments, - GrabpayPayments grabpayPayments, - IdealPayments idealPayments, - JcbPayments jcbPayments, - JpBankTransferPayments jpBankTransferPayments, - KakaoPayPayments kakaoPayPayments, - KlarnaPayments klarnaPayments, - KonbiniPayments konbiniPayments, - KrCardPayments krCardPayments, - LinkPayments linkPayments, - MobilepayPayments mobilepayPayments, - MultibancoPayments multibancoPayments, - MxBankTransferPayments mxBankTransferPayments, - NaverPayPayments naverPayPayments, - OxxoPayments oxxoPayments, - P24Payments p24Payments, - PayByBankPayments payByBankPayments, - PaycoPayments paycoPayments, - PaynowPayments paynowPayments, - PromptpayPayments promptpayPayments, - RevolutPayPayments revolutPayPayments, - SamsungPayPayments samsungPayPayments, - SepaBankTransferPayments sepaBankTransferPayments, - SepaDebitPayments sepaDebitPayments, - SwishPayments swishPayments, - TwintPayments twintPayments, - UsBankTransferPayments usBankTransferPayments, - ZipPayments zipPayments) { - this.achDebitPayments = achDebitPayments; - this.acssDebitPayments = acssDebitPayments; - this.affirmPayments = affirmPayments; - this.afterpayClearpayPayments = afterpayClearpayPayments; - this.almaPayments = almaPayments; - this.amazonPayPayments = amazonPayPayments; - this.auBecsDebitPayments = auBecsDebitPayments; - this.bacsDebitPayments = bacsDebitPayments; - this.bancontactPayments = bancontactPayments; - this.blikPayments = blikPayments; - this.boletoPayments = boletoPayments; - this.cardPayments = cardPayments; - this.cartesBancairesPayments = cartesBancairesPayments; - this.cashappPayments = cashappPayments; - this.epsPayments = epsPayments; - this.extraParams = extraParams; - this.fpxPayments = fpxPayments; - this.gbBankTransferPayments = gbBankTransferPayments; - this.grabpayPayments = grabpayPayments; - this.idealPayments = idealPayments; - this.jcbPayments = jcbPayments; - this.jpBankTransferPayments = jpBankTransferPayments; - this.kakaoPayPayments = kakaoPayPayments; - this.klarnaPayments = klarnaPayments; - this.konbiniPayments = konbiniPayments; - this.krCardPayments = krCardPayments; - this.linkPayments = linkPayments; - this.mobilepayPayments = mobilepayPayments; - this.multibancoPayments = multibancoPayments; - this.mxBankTransferPayments = mxBankTransferPayments; - this.naverPayPayments = naverPayPayments; - this.oxxoPayments = oxxoPayments; - this.p24Payments = p24Payments; - this.payByBankPayments = payByBankPayments; - this.paycoPayments = paycoPayments; - this.paynowPayments = paynowPayments; - this.promptpayPayments = promptpayPayments; - this.revolutPayPayments = revolutPayPayments; - this.samsungPayPayments = samsungPayPayments; - this.sepaBankTransferPayments = sepaBankTransferPayments; - this.sepaDebitPayments = sepaDebitPayments; - this.swishPayments = swishPayments; - this.twintPayments = twintPayments; - this.usBankTransferPayments = usBankTransferPayments; - this.zipPayments = zipPayments; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - public static class Builder { - private AchDebitPayments achDebitPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private AcssDebitPayments acssDebitPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private AffirmPayments affirmPayments; + private CardPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private AfterpayClearpayPayments afterpayClearpayPayments; + public static Builder builder() { + return new Builder(); + } - private AlmaPayments almaPayments; + public static class Builder { + private Map extraParams; - private AmazonPayPayments amazonPayPayments; + private Boolean requested; - private AuBecsDebitPayments auBecsDebitPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments( + this.extraParams, this.requested); + } - private BacsDebitPayments bacsDebitPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private BancontactPayments bancontactPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private BlikPayments blikPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private BoletoPayments boletoPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CartesBancairesPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private CardPayments cardPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private CartesBancairesPayments cartesBancairesPayments; + private CartesBancairesPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private CashappPayments cashappPayments; + public static Builder builder() { + return new Builder(); + } - private EpsPayments epsPayments; + public static class Builder { + private Map extraParams; - private Map extraParams; + private Boolean requested; - private FpxPayments fpxPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .CartesBancairesPayments(this.extraParams, this.requested); + } - private GbBankTransferPayments gbBankTransferPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private GrabpayPayments grabpayPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private IdealPayments idealPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private JcbPayments jcbPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CashappPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private JpBankTransferPayments jpBankTransferPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private KakaoPayPayments kakaoPayPayments; + private CashappPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private KlarnaPayments klarnaPayments; + public static Builder builder() { + return new Builder(); + } - private KonbiniPayments konbiniPayments; + public static class Builder { + private Map extraParams; - private KrCardPayments krCardPayments; - - private LinkPayments linkPayments; - - private MobilepayPayments mobilepayPayments; - - private MultibancoPayments multibancoPayments; - - private MxBankTransferPayments mxBankTransferPayments; - - private NaverPayPayments naverPayPayments; - - private OxxoPayments oxxoPayments; + private Boolean requested; - private P24Payments p24Payments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments( + this.extraParams, this.requested); + } - private PayByBankPayments payByBankPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private PaycoPayments paycoPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private PaynowPayments paynowPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private PromptpayPayments promptpayPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EpsPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private RevolutPayPayments revolutPayPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private SamsungPayPayments samsungPayPayments; + private EpsPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private SepaBankTransferPayments sepaBankTransferPayments; + public static Builder builder() { + return new Builder(); + } - private SepaDebitPayments sepaDebitPayments; + public static class Builder { + private Map extraParams; - private SwishPayments swishPayments; + private Boolean requested; - private TwintPayments twintPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments( + this.extraParams, this.requested); + } - private UsBankTransferPayments usBankTransferPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private ZipPayments zipPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities( - this.achDebitPayments, - this.acssDebitPayments, - this.affirmPayments, - this.afterpayClearpayPayments, - this.almaPayments, - this.amazonPayPayments, - this.auBecsDebitPayments, - this.bacsDebitPayments, - this.bancontactPayments, - this.blikPayments, - this.boletoPayments, - this.cardPayments, - this.cartesBancairesPayments, - this.cashappPayments, - this.epsPayments, - this.extraParams, - this.fpxPayments, - this.gbBankTransferPayments, - this.grabpayPayments, - this.idealPayments, - this.jcbPayments, - this.jpBankTransferPayments, - this.kakaoPayPayments, - this.klarnaPayments, - this.konbiniPayments, - this.krCardPayments, - this.linkPayments, - this.mobilepayPayments, - this.multibancoPayments, - this.mxBankTransferPayments, - this.naverPayPayments, - this.oxxoPayments, - this.p24Payments, - this.payByBankPayments, - this.paycoPayments, - this.paynowPayments, - this.promptpayPayments, - this.revolutPayPayments, - this.samsungPayPayments, - this.sepaBankTransferPayments, - this.sepaDebitPayments, - this.swishPayments, - this.twintPayments, - this.usBankTransferPayments, - this.zipPayments); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } - /** Allow the merchant to process ACH debit payments. */ - public Builder setAchDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments - achDebitPayments) { - this.achDebitPayments = achDebitPayments; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FpxPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process ACSS debit payments. */ - public Builder setAcssDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - acssDebitPayments) { - this.acssDebitPayments = acssDebitPayments; - return this; - } + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process Affirm payments. */ - public Builder setAffirmPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments - affirmPayments) { - this.affirmPayments = affirmPayments; - return this; + private FpxPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Allow the merchant to process Afterpay/Clearpay payments. */ - public Builder setAfterpayClearpayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments - afterpayClearpayPayments) { - this.afterpayClearpayPayments = afterpayClearpayPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** Allow the merchant to process Alma payments. */ - public Builder setAlmaPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { - this.almaPayments = almaPayments; - return this; - } + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Amazon Pay payments. */ - public Builder setAmazonPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - amazonPayPayments) { - this.amazonPayPayments = amazonPayPayments; - return this; - } + private Boolean requested; - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - public Builder setAuBecsDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - auBecsDebitPayments) { - this.auBecsDebitPayments = auBecsDebitPayments; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments( + this.extraParams, this.requested); + } - /** Allow the merchant to process BACS Direct Debit payments. */ - public Builder setBacsDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.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; + } - /** Allow the merchant to process Bancontact payments. */ - public Builder setBancontactPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments - bancontactPayments) { - this.bancontactPayments = bancontactPayments; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process BLIK payments. */ - public Builder setBlikPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { - this.blikPayments = blikPayments; - return this; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } - /** Allow the merchant to process Boleto payments. */ - public Builder setBoletoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments - boletoPayments) { - this.boletoPayments = boletoPayments; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GbBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to collect card payments. */ - public Builder setCardPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process Cartes Bancaires payments. */ - public Builder setCartesBancairesPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - cartesBancairesPayments) { - this.cartesBancairesPayments = cartesBancairesPayments; - return this; + private GbBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Allow the merchant to process Cash App payments. */ - public Builder setCashappPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments - cashappPayments) { - this.cashappPayments = cashappPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** Allow the merchant to process EPS payments. */ - public Builder setEpsPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { - this.epsPayments = epsPayments; - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .GbBankTransferPayments(this.extraParams, this.requested); } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - this.extraParams.putAll(map); - return this; - } - /** Allow the merchant to process FPX payments. */ - public Builder setFpxPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { - this.fpxPayments = fpxPayments; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process UK bank transfer payments. */ - public Builder setGbBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments - gbBankTransferPayments) { - this.gbBankTransferPayments = gbBankTransferPayments; - return this; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } - /** Allow the merchant to process GrabPay payments. */ - public Builder setGrabpayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments - grabpayPayments) { - this.grabpayPayments = grabpayPayments; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GrabpayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process iDEAL payments. */ - public Builder setIdealPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { - this.idealPayments = idealPayments; - return this; - } + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process JCB card payments. */ - public Builder setJcbPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { - this.jcbPayments = jcbPayments; - return this; + private GrabpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Allow the merchant to process Japanese bank transfer payments. */ - public Builder setJpBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - jpBankTransferPayments) { - this.jpBankTransferPayments = jpBankTransferPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** Allow the merchant to process Kakao Pay payments. */ - public Builder setKakaoPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - kakaoPayPayments) { - this.kakaoPayPayments = kakaoPayPayments; - return this; - } - - /** Allow the merchant to process Klarna payments. */ - public Builder setKlarnaPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments - klarnaPayments) { - this.klarnaPayments = klarnaPayments; - return this; - } - - /** Allow the merchant to process Konbini convenience store payments. */ - public Builder setKonbiniPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments - konbiniPayments) { - this.konbiniPayments = konbiniPayments; - return this; - } - - /** Allow the merchant to process Korean card payments. */ - public Builder setKrCardPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments - krCardPayments) { - this.krCardPayments = krCardPayments; - return this; - } - - /** Allow the merchant to process Link payments. */ - public Builder setLinkPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { - this.linkPayments = linkPayments; - return this; - } - - /** Allow the merchant to process MobilePay payments. */ - public Builder setMobilepayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments - mobilepayPayments) { - this.mobilepayPayments = mobilepayPayments; - return this; - } - - /** Allow the merchant to process Multibanco payments. */ - public Builder setMultibancoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments - multibancoPayments) { - this.multibancoPayments = multibancoPayments; - return this; - } - - /** Allow the merchant to process Mexican bank transfer payments. */ - public Builder setMxBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - mxBankTransferPayments) { - this.mxBankTransferPayments = mxBankTransferPayments; - return this; - } - - /** Allow the merchant to process Naver Pay payments. */ - public Builder setNaverPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments - naverPayPayments) { - this.naverPayPayments = naverPayPayments; - return this; - } - - /** Allow the merchant to process OXXO payments. */ - public Builder setOxxoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { - this.oxxoPayments = oxxoPayments; - return this; - } - - /** Allow the merchant to process Przelewy24 (P24) payments. */ - public Builder setP24Payments( - AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { - this.p24Payments = p24Payments; - return this; - } - - /** Allow the merchant to process Pay by Bank payments. */ - public Builder setPayByBankPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments - payByBankPayments) { - this.payByBankPayments = payByBankPayments; - return this; - } - - /** Allow the merchant to process PAYCO payments. */ - public Builder setPaycoPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { - this.paycoPayments = paycoPayments; - return this; - } - - /** Allow the merchant to process PayNow payments. */ - public Builder setPaynowPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments - paynowPayments) { - this.paynowPayments = paynowPayments; - return this; - } - - /** Allow the merchant to process PromptPay payments. */ - public Builder setPromptpayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments - promptpayPayments) { - this.promptpayPayments = promptpayPayments; - return this; - } - - /** Allow the merchant to process Revolut Pay payments. */ - public Builder setRevolutPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - revolutPayPayments) { - this.revolutPayPayments = revolutPayPayments; - return this; - } - - /** Allow the merchant to process Samsung Pay payments. */ - public Builder setSamsungPayPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - samsungPayPayments) { - this.samsungPayPayments = samsungPayPayments; - return this; - } - - /** Allow the merchant to process SEPA bank transfer payments. */ - public Builder setSepaBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments - sepaBankTransferPayments) { - this.sepaBankTransferPayments = sepaBankTransferPayments; - return this; - } - - /** Allow the merchant to process SEPA Direct Debit payments. */ - public Builder setSepaDebitPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - sepaDebitPayments) { - this.sepaDebitPayments = sepaDebitPayments; - return this; - } - - /** Allow the merchant to process Swish payments. */ - public Builder setSwishPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { - this.swishPayments = swishPayments; - return this; - } - - /** Allow the merchant to process TWINT payments. */ - public Builder setTwintPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { - this.twintPayments = twintPayments; - return this; - } - - /** Allow the merchant to process US bank transfer payments. */ - public Builder setUsBankTransferPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - usBankTransferPayments) { - this.usBankTransferPayments = usBankTransferPayments; - return this; - } - - /** Allow the merchant to process Zip payments. */ - public Builder setZipPayments( - AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { - this.zipPayments = zipPayments; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AchDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AchDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments( this.extraParams, this.requested); } @@ -3593,7 +4216,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3608,7 +4231,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3632,7 +4255,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AcssDebitPayments { + 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. @@ -3650,7 +4273,7 @@ public static class AcssDebitPayments { @SerializedName("requested") Boolean requested; - private AcssDebitPayments(Map extraParams, Boolean requested) { + private IdealPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3665,9 +4288,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments( this.extraParams, this.requested); } @@ -3675,7 +4297,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3690,7 +4312,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3714,7 +4336,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AffirmPayments { + 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. @@ -3732,7 +4354,7 @@ public static class AffirmPayments { @SerializedName("requested") Boolean requested; - private AffirmPayments(Map extraParams, Boolean requested) { + private JcbPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3747,8 +4369,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments( this.extraParams, this.requested); } @@ -3756,8 +4378,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments bu * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3771,8 +4393,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3795,7 +4417,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AfterpayClearpayPayments { + public static class JpBankTransferPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -3813,7 +4435,7 @@ public static class AfterpayClearpayPayments { @SerializedName("requested") Boolean requested; - private AfterpayClearpayPayments(Map extraParams, Boolean requested) { + private JpBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3828,17 +4450,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + public AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments build() { return new AccountCreateParams.Configuration.Merchant.Capabilities - .AfterpayClearpayPayments(this.extraParams, this.requested); + .JpBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3853,7 +4475,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3877,7 +4499,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AlmaPayments { + public static class KakaoPayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -3895,7 +4517,7 @@ public static class AlmaPayments { @SerializedName("requested") Boolean requested; - private AlmaPayments(Map extraParams, Boolean requested) { + private KakaoPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3910,8 +4532,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( this.extraParams, this.requested); } @@ -3919,8 +4542,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments buil * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3934,8 +4557,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3958,7 +4581,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AmazonPayPayments { + 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. @@ -3976,7 +4599,7 @@ public static class AmazonPayPayments { @SerializedName("requested") Boolean requested; - private AmazonPayPayments(Map extraParams, Boolean requested) { + private KlarnaPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3991,9 +4614,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments( this.extraParams, this.requested); } @@ -4001,7 +4623,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4016,7 +4638,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4040,7 +4662,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AuBecsDebitPayments { + 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. @@ -4058,7 +4680,7 @@ public static class AuBecsDebitPayments { @SerializedName("requested") Boolean requested; - private AuBecsDebitPayments(Map extraParams, Boolean requested) { + private KonbiniPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4073,17 +4695,16 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .AuBecsDebitPayments(this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4098,7 +4719,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4122,7 +4743,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { + public static class KrCardPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -4140,7 +4761,7 @@ public static class BacsDebitPayments { @SerializedName("requested") Boolean requested; - private BacsDebitPayments(Map extraParams, Boolean requested) { + private KrCardPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4155,9 +4776,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments( this.extraParams, this.requested); } @@ -4165,7 +4785,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4180,7 +4800,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4204,7 +4824,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BancontactPayments { + 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. @@ -4222,7 +4842,7 @@ public static class BancontactPayments { @SerializedName("requested") Boolean requested; - private BancontactPayments(Map extraParams, Boolean requested) { + private LinkPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4237,9 +4857,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments( this.extraParams, this.requested); } @@ -4247,8 +4866,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4262,8 +4881,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4286,7 +4905,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BlikPayments { + public static class MobilepayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -4304,7 +4923,7 @@ public static class BlikPayments { @SerializedName("requested") Boolean requested; - private BlikPayments(Map extraParams, Boolean requested) { + private MobilepayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4319,8 +4938,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments( this.extraParams, this.requested); } @@ -4328,8 +4948,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments buil * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4343,8 +4963,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4367,7 +4987,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BoletoPayments { + public static class MultibancoPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -4385,7 +5005,7 @@ public static class BoletoPayments { @SerializedName("requested") Boolean requested; - private BoletoPayments(Map extraParams, Boolean requested) { + private MultibancoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4400,8 +5020,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments( this.extraParams, this.requested); } @@ -4409,7 +5030,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments bu * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4424,7 +5045,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4448,7 +5069,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CardPayments { + public static class MxBankTransferPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -4466,7 +5087,7 @@ public static class CardPayments { @SerializedName("requested") Boolean requested; - private CardPayments(Map extraParams, Boolean requested) { + private MxBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4481,17 +5102,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .MxBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4505,8 +5127,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4529,7 +5151,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CartesBancairesPayments { + public static class NaverPayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -4547,7 +5169,7 @@ public static class CartesBancairesPayments { @SerializedName("requested") Boolean requested; - private CartesBancairesPayments(Map extraParams, Boolean requested) { + private NaverPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4562,17 +5184,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + public AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .CartesBancairesPayments(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4587,7 +5209,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4611,7 +5233,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CashappPayments { + 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. @@ -4629,7 +5251,7 @@ public static class CashappPayments { @SerializedName("requested") Boolean requested; - private CashappPayments(Map extraParams, Boolean requested) { + private OxxoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4644,8 +5266,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments( this.extraParams, this.requested); } @@ -4653,8 +5275,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments b * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4668,8 +5290,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4692,7 +5314,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class EpsPayments { + 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. @@ -4710,7 +5332,7 @@ public static class EpsPayments { @SerializedName("requested") Boolean requested; - private EpsPayments(Map extraParams, Boolean requested) { + private P24Payments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4725,8 +5347,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments( this.extraParams, this.requested); } @@ -4734,7 +5356,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4749,7 +5371,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4773,7 +5395,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FpxPayments { + public static class PayByBankPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -4791,7 +5413,7 @@ public static class FpxPayments { @SerializedName("requested") Boolean requested; - private FpxPayments(Map extraParams, Boolean requested) { + private PayByBankPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4806,8 +5428,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments( this.extraParams, this.requested); } @@ -4815,8 +5438,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4830,8 +5453,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4854,7 +5477,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GbBankTransferPayments { + public static class PaycoPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -4872,7 +5495,7 @@ public static class GbBankTransferPayments { @SerializedName("requested") Boolean requested; - private GbBankTransferPayments(Map extraParams, Boolean requested) { + private PaycoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4887,17 +5510,16 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .GbBankTransferPayments(this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4912,7 +5534,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4936,7 +5558,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GrabpayPayments { + 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. @@ -4954,7 +5576,7 @@ public static class GrabpayPayments { @SerializedName("requested") Boolean requested; - private GrabpayPayments(Map extraParams, Boolean requested) { + private PaynowPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4969,8 +5591,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments( this.extraParams, this.requested); } @@ -4978,7 +5600,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments b * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4993,7 +5615,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5017,7 +5639,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class IdealPayments { + 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. @@ -5035,7 +5657,7 @@ public static class IdealPayments { @SerializedName("requested") Boolean requested; - private IdealPayments(Map extraParams, Boolean requested) { + private PromptpayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5050,8 +5672,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments( this.extraParams, this.requested); } @@ -5059,7 +5682,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5074,7 +5697,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5098,7 +5721,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JcbPayments { + public static class RevolutPayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5116,7 +5739,7 @@ public static class JcbPayments { @SerializedName("requested") Boolean requested; - private JcbPayments(Map extraParams, Boolean requested) { + private RevolutPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5131,8 +5754,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( this.extraParams, this.requested); } @@ -5140,8 +5764,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5155,8 +5779,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5179,7 +5803,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JpBankTransferPayments { + public static class SamsungPayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5197,7 +5821,7 @@ public static class JpBankTransferPayments { @SerializedName("requested") Boolean requested; - private JpBankTransferPayments(Map extraParams, Boolean requested) { + private SamsungPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5212,17 +5836,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + public AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .JpBankTransferPayments(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5237,7 +5861,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5261,7 +5885,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KakaoPayPayments { + public static class SepaBankTransferPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5279,7 +5903,7 @@ public static class KakaoPayPayments { @SerializedName("requested") Boolean requested; - private KakaoPayPayments(Map extraParams, Boolean requested) { + private SepaBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5294,17 +5918,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + public AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Merchant.Capabilities + .SepaBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5319,7 +5943,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5343,7 +5967,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KlarnaPayments { + 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. @@ -5361,7 +5985,7 @@ public static class KlarnaPayments { @SerializedName("requested") Boolean requested; - private KlarnaPayments(Map extraParams, Boolean requested) { + private SepaDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5376,8 +6000,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( this.extraParams, this.requested); } @@ -5385,7 +6010,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments bu * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5400,7 +6025,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5424,7 +6049,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KonbiniPayments { + public static class SwishPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5442,7 +6067,7 @@ public static class KonbiniPayments { @SerializedName("requested") Boolean requested; - private KonbiniPayments(Map extraParams, Boolean requested) { + private SwishPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5457,8 +6082,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments( this.extraParams, this.requested); } @@ -5466,7 +6091,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments b * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5481,7 +6106,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5505,7 +6130,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KrCardPayments { + public static class TwintPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5523,7 +6148,7 @@ public static class KrCardPayments { @SerializedName("requested") Boolean requested; - private KrCardPayments(Map extraParams, Boolean requested) { + private TwintPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5538,8 +6163,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments( this.extraParams, this.requested); } @@ -5547,7 +6172,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments bu * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5562,7 +6187,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5586,7 +6211,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class LinkPayments { + public static class UsBankTransferPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5604,7 +6229,7 @@ public static class LinkPayments { @SerializedName("requested") Boolean requested; - private LinkPayments(Map extraParams, Boolean requested) { + private UsBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5619,17 +6244,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .UsBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5643,8 +6269,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5667,7 +6293,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class MobilepayPayments { + 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. @@ -5685,7 +6311,7 @@ public static class MobilepayPayments { @SerializedName("requested") Boolean requested; - private MobilepayPayments(Map extraParams, Boolean requested) { + private ZipPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5700,9 +6326,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments( + public AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments( this.extraParams, this.requested); } @@ -5710,8 +6335,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5725,8 +6350,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5746,10 +6371,105 @@ public Builder setRequested(Boolean requested) { } } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardPayments { + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + @SerializedName("decline_on") + DeclineOn declineOn; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private CardPayments(DeclineOn declineOn, Map extraParams) { + this.declineOn = declineOn; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private DeclineOn declineOn; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.CardPayments build() { + return new AccountCreateParams.Configuration.Merchant.CardPayments( + this.declineOn, this.extraParams); + } + + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + public Builder setDeclineOn( + AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { + this.declineOn = declineOn; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } @Getter @EqualsAndHashCode(callSuper = false) - public static class MultibancoPayments { + public static class DeclineOn { + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + @SerializedName("avs_failure") + Boolean avsFailure; + + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting only + * applies when a CVC is provided and it fails bank verification. + */ + @SerializedName("cvc_failure") + Boolean cvcFailure; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5760,16 +6480,11 @@ public static class MultibancoPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private MultibancoPayments(Map extraParams, Boolean requested) { + private DeclineOn( + Boolean avsFailure, Boolean cvcFailure, Map extraParams) { + this.avsFailure = avsFailure; + this.cvcFailure = cvcFailure; this.extraParams = extraParams; - this.requested = requested; } public static Builder builder() { @@ -5777,23 +6492,43 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private Boolean avsFailure; - private Boolean requested; + private Boolean cvcFailure; + + private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn build() { + return new AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn( + this.avsFailure, this.cvcFailure, this.extraParams); + } + + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + public Builder setAvsFailure(Boolean avsFailure) { + this.avsFailure = avsFailure; + return this; + } + + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting + * only applies when a CVC is provided and it fails bank verification. + */ + public Builder setCvcFailure(Boolean cvcFailure) { + this.cvcFailure = cvcFailure; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5807,8 +6542,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5817,266 +6552,260 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MxBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StatementDescriptor { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement descriptor + * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the + * statement_descriptor text to limit the full descriptor to 22 characters. For more + * information about statement descriptors and their requirements, see the Merchant + * Configuration settings documentation. + */ + @SerializedName("descriptor") + String descriptor; - private MxBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static Builder builder() { - return new Builder(); - } + /** + * Default text that appears on statements for card charges outside of Japan, prefixing any + * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + * dynamic part of the descriptor, keep this text short. If you don’t specify this value, + * statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + @SerializedName("prefix") + String prefix; - public static class Builder { - private Map extraParams; + private StatementDescriptor( + String descriptor, Map extraParams, String prefix) { + this.descriptor = descriptor; + this.extraParams = extraParams; + this.prefix = prefix; + } - private Boolean requested; + public static Builder builder() { + return new Builder(); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .MxBankTransferPayments(this.extraParams, this.requested); - } + public static class Builder { + private String descriptor; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private String prefix; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.StatementDescriptor build() { + return new AccountCreateParams.Configuration.Merchant.StatementDescriptor( + this.descriptor, this.extraParams, this.prefix); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class NaverPayPayments { /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; + } /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. */ - @SerializedName("requested") - Boolean requested; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private NaverPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - public static Builder builder() { - return new Builder(); + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; } + } + } - public static class Builder { - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Support { + /** A publicly available mailing address for sending support issues to. */ + @SerializedName("address") + Address address; - private Boolean requested; + /** A publicly available email address for sending support issues to. */ + @SerializedName("email") + String email; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments( - this.extraParams, this.requested); - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** A publicly available phone number to call with support issues. */ + @SerializedName("phone") + String phone; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** A publicly available website for handling support issues. */ + @SerializedName("url") + String url; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + private Support( + Address address, + String email, + Map extraParams, + String phone, + String url) { + this.address = address; + this.email = email; + this.extraParams = extraParams; + this.phone = phone; + this.url = url; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OxxoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public static class Builder { + private Address address; - private OxxoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private String email; - public static Builder builder() { - return new Builder(); + private Map extraParams; + + private String phone; + + private String url; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Support build() { + return new AccountCreateParams.Configuration.Merchant.Support( + this.address, this.email, this.extraParams, this.phone, this.url); } - public static class Builder { - private Map extraParams; + /** A publicly available mailing address for sending support issues to. */ + public Builder setAddress( + AccountCreateParams.Configuration.Merchant.Support.Address address) { + this.address = address; + return this; + } - private Boolean requested; + /** A publicly available email address for sending support issues to. */ + public Builder setEmail(String email) { + this.email = email; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments( - this.extraParams, this.requested); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** A publicly available website for handling support issues. */ + public Builder setUrl(String url) { + this.url = url; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class P24Payments { + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6087,16 +6816,43 @@ public static class P24Payments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - private P24Payments(Map extraParams, Boolean requested) { + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + /** Town or cho-me. */ + @SerializedName("town") + String town; + + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state, + String town) { + this.city = city; + this.country = country; this.extraParams = extraParams; - this.requested = requested; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; } public static Builder builder() { @@ -6104,22 +6860,56 @@ public static Builder builder() { } public static class Builder { + private String city; + + private String country; + private Map extraParams; - private Boolean requested; + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + private String town; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Merchant.Support.Address build() { + return new AccountCreateParams.Configuration.Merchant.Support.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6133,8 +6923,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6144,40 +6934,248 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; return this; } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PayByBankPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Recipient { + /** Capabilities to be requested on the Recipient Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Recipient(Capabilities capabilities, Map extraParams) { + this.capabilities = capabilities; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Capabilities capabilities; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient build() { + return new AccountCreateParams.Configuration.Recipient( + this.capabilities, this.extraParams); + } + + /** Capabilities to be requested on the Recipient Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Recipient.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + @SerializedName("cards") + Cards cards; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_balance") + StripeBalance stripeBalance; + + private Capabilities( + BankAccounts bankAccounts, + Cards cards, + Map extraParams, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.extraParams = extraParams; + this.stripeBalance = stripeBalance; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private Map extraParams; + + private StripeBalance stripeBalance; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, this.cards, this.extraParams, this.stripeBalance); + } + + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + public Builder setCards( + AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { + this.cards = cards; + return this; + } /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. */ - @SerializedName("requested") - Boolean requested; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private PayByBankPayments(Map extraParams, Boolean requested) { + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + */ + public Builder setStripeBalance( + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + stripeBalance) { + this.stripeBalance = stripeBalance; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + @SerializedName("local") + Local local; + + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; + + private BankAccounts(Map extraParams, Local local, Wire wire) { this.extraParams = extraParams; - this.requested = requested; + this.local = local; + this.wire = wire; } public static Builder builder() { @@ -6187,20 +7185,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private Local local; + + private Wire wire; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts( + this.extraParams, this.local, this.wire); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6215,7 +7214,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6227,100 +7226,193 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setLocal( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { + this.local = local; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over wire. + */ + public Builder setWire( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { + this.wire = wire; return this; } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PaycoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Local { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private PaycoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Local(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Boolean requested; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments( - this.extraParams, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local(this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } - this.extraParams.put(key, value); - return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Wire { /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} - * for the field documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private Wire(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PaynowPayments { + public static class Cards { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6338,7 +7430,7 @@ public static class PaynowPayments { @SerializedName("requested") Boolean requested; - private PaynowPayments(Map extraParams, Boolean requested) { + private Cards(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6353,8 +7445,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments( + public AccountCreateParams.Configuration.Recipient.Capabilities.Cards build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards( this.extraParams, this.requested); } @@ -6362,8 +7454,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments bu * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6377,8 +7469,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6401,7 +7493,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PromptpayPayments { + public static class StripeBalance { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6413,15 +7505,14 @@ public static class PromptpayPayments { Map extraParams; /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). */ - @SerializedName("requested") - Boolean requested; + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; - private PromptpayPayments(Map extraParams, Boolean requested) { + private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { this.extraParams = extraParams; - this.requested = requested; + this.stripeTransfers = stripeTransfers; } public static Builder builder() { @@ -6431,20 +7522,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private StripeTransfers stripeTransfers; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance( + this.extraParams, this.stripeTransfers); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6459,7 +7549,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6471,226 +7561,377 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setStripeTransfers( + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + stripeTransfers) { + this.stripeTransfers = stripeTransfers; return this; } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RevolutPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private RevolutPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StripeTransfers { /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} - * for the field documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private StripeTransfers(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SamsungPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private SamsungPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Boolean requested; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( - this.extraParams, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - this.extraParams.putAll(map); - return this; - } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SepaBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Storer { + /** Capabilities to request on the Storer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private SepaBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Storer(Capabilities capabilities, Map extraParams) { + this.capabilities = capabilities; + this.extraParams = extraParams; + } - public static Builder builder() { + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Capabilities capabilities; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer build() { + return new AccountCreateParams.Configuration.Storer(this.capabilities, this.extraParams); + } + + /** Capabilities to request on the Storer Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Storer.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Can provision a financial address to credit/debit a FinancialAccount. */ + @SerializedName("financial_addresses") + FinancialAddresses financialAddresses; + + /** Can hold storage-type funds on Stripe. */ + @SerializedName("holds_currencies") + HoldsCurrencies holdsCurrencies; + + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + @SerializedName("inbound_transfers") + InboundTransfers inboundTransfers; + + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + @SerializedName("outbound_payments") + OutboundPayments outboundPayments; + + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + @SerializedName("outbound_transfers") + OutboundTransfers outboundTransfers; + + private Capabilities( + Map extraParams, + FinancialAddresses financialAddresses, + HoldsCurrencies holdsCurrencies, + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers) { + this.extraParams = extraParams; + this.financialAddresses = financialAddresses; + this.holdsCurrencies = holdsCurrencies; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FinancialAddresses financialAddresses; + + private HoldsCurrencies holdsCurrencies; + + private InboundTransfers inboundTransfers; + + private OutboundPayments outboundPayments; + + private OutboundTransfers outboundTransfers; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities build() { + return new AccountCreateParams.Configuration.Storer.Capabilities( + this.extraParams, + this.financialAddresses, + this.holdsCurrencies, + this.inboundTransfers, + this.outboundPayments, + this.outboundTransfers); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Can provision a financial address to credit/debit a FinancialAccount. */ + public Builder setFinancialAddresses( + AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + financialAddresses) { + this.financialAddresses = financialAddresses; + return this; + } + + /** Can hold storage-type funds on Stripe. */ + public Builder setHoldsCurrencies( + AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies + holdsCurrencies) { + this.holdsCurrencies = holdsCurrencies; + return this; + } + + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + public Builder setInboundTransfers( + AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers + inboundTransfers) { + this.inboundTransfers = inboundTransfers; + return this; + } + + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + public Builder setOutboundPayments( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + outboundPayments) { + this.outboundPayments = outboundPayments; + return this; + } + + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + public Builder setOutboundTransfers( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + outboundTransfers) { + this.outboundTransfers = outboundTransfers; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAddresses { + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private FinancialAddresses(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + } + + public static Builder builder() { return new Builder(); } public static class Builder { - private Map extraParams; + private BankAccounts bankAccounts; - private Boolean requested; + private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .SepaBankTransferPayments(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses( + this.bankAccounts, this.extraParams); + } + + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6705,7 +7946,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6715,21 +7956,95 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class SepaDebitPayments { + public static class HoldsCurrencies { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6740,16 +8055,13 @@ public static class SepaDebitPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Can hold storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; - private SepaDebitPayments(Map extraParams, Boolean requested) { + private HoldsCurrencies(Map extraParams, Gbp gbp) { this.extraParams = extraParams; - this.requested = requested; + this.gbp = gbp; } public static Builder builder() { @@ -6759,20 +8071,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private Gbp gbp; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies( + this.extraParams, this.gbp); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6787,7 +8098,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6798,20 +8109,106 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Can hold storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { + this.gbp = gbp; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Gbp { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private Gbp(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Gbp(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class SwishPayments { + public static class InboundTransfers { + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6822,16 +8219,9 @@ public static class SwishPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private SwishPayments(Map extraParams, Boolean requested) { + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; this.extraParams = extraParams; - this.requested = requested; } public static Builder builder() { @@ -6839,21 +8229,31 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private BankAccounts bankAccounts; - private Boolean requested; + private Map extraParams; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments( - this.extraParams, this.requested); + public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers( + this.bankAccounts, this.extraParams); + } + + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6868,7 +8268,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6878,102 +8278,103 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TwintPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private TwintPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Boolean requested; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments( - this.extraParams, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts(this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - this.extraParams.putAll(map); - return this; - } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class UsBankTransferPayments { + public static class OutboundPayments { + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + @SerializedName("cards") + Cards cards; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6985,15 +8386,21 @@ public static class UsBankTransferPayments { Map extraParams; /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. */ - @SerializedName("requested") - Boolean requested; + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - private UsBankTransferPayments(Map extraParams, Boolean requested) { + private OutboundPayments( + BankAccounts bankAccounts, + Cards cards, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cards = cards; this.extraParams = extraParams; - this.requested = requested; + this.financialAccounts = financialAccounts; } public static Builder builder() { @@ -7001,22 +8408,41 @@ public static Builder builder() { } public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + private Map extraParams; - private Boolean requested; + private FinancialAccounts financialAccounts; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .UsBankTransferPayments(this.extraParams, this.requested); + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments( + this.bankAccounts, this.cards, this.extraParams, this.financialAccounts); + } + + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + public Builder setCards( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + cards) { + this.cards = cards; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7031,7 +8457,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7043,210 +8469,297 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setFinancialAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; return this; } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ZipPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private ZipPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Map extraParams; + public static class Builder { + private Map extraParams; - private Boolean requested; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments( - this.extraParams, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts(this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } - this.extraParams.put(key, value); - return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cards { /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for - * the field documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** * Required. To request a new Capability for an account, pass true. * There can be a delay before the requested Capability becomes active. */ - public Builder setRequested(Boolean requested) { + @SerializedName("requested") + Boolean requested; + + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; this.requested = requested; - return this; } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardPayments { - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - @SerializedName("decline_on") - DeclineOn declineOn; + public static Builder builder() { + return new Builder(); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - private CardPayments(DeclineOn declineOn, Map extraParams) { - this.declineOn = declineOn; - this.extraParams = extraParams; - } + private Boolean requested; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .Cards(this.extraParams, this.requested); + } - public static class Builder { - private DeclineOn declineOn; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.CardPayments build() { - return new AccountCreateParams.Configuration.Merchant.CardPayments( - this.declineOn, this.extraParams); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - public Builder setDeclineOn( - AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { - this.declineOn = declineOn; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.CardPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DeclineOn { - /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. - */ - @SerializedName("avs_failure") - Boolean avsFailure; + public static class Builder { + private Map extraParams; - /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting only - * applies when a CVC is provided and it fails bank verification. - */ - @SerializedName("cvc_failure") - Boolean cvcFailure; + private Boolean requested; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts(this.extraParams, this.requested); + } - private DeclineOn( - Boolean avsFailure, Boolean cvcFailure, Map extraParams) { - this.avsFailure = avsFailure; - this.cvcFailure = cvcFailure; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; + + private OutboundTransfers( + BankAccounts bankAccounts, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; this.extraParams = extraParams; + this.financialAccounts = financialAccounts; } public static Builder builder() { @@ -7254,34 +8767,23 @@ public static Builder builder() { } public static class Builder { - private Boolean avsFailure; - - private Boolean cvcFailure; + private BankAccounts bankAccounts; private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn build() { - return new AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn( - this.avsFailure, this.cvcFailure, this.extraParams); - } + private FinancialAccounts financialAccounts; - /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. - */ - public Builder setAvsFailure(Boolean avsFailure) { - this.avsFailure = avsFailure; - return this; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers( + this.bankAccounts, this.extraParams, this.financialAccounts); } - /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting - * only applies when a CVC is provided and it fails bank verification. - */ - public Builder setCvcFailure(Boolean cvcFailure) { - this.cvcFailure = cvcFailure; + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; return this; } @@ -7289,8 +8791,8 @@ public Builder setCvcFailure(Boolean cvcFailure) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7304,8 +8806,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7314,1267 +8816,1380 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + public Builder setFinancialAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StatementDescriptor { - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement descriptor - * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the - * statement_descriptor text to limit the full descriptor to 22 characters. For more - * information about statement descriptors and their requirements, see the Merchant - * Configuration settings documentation. - */ - @SerializedName("descriptor") - String descriptor; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Default text that appears on statements for card charges outside of Japan, prefixing any - * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the - * dynamic part of the descriptor, keep this text short. If you don’t specify this value, - * statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - @SerializedName("prefix") - String prefix; + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private StatementDescriptor( - String descriptor, Map extraParams, String prefix) { - this.descriptor = descriptor; - this.extraParams = extraParams; - this.prefix = prefix; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private String descriptor; + private Boolean requested; - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts(this.extraParams, this.requested); + } - private String prefix; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.StatementDescriptor build() { - return new AccountCreateParams.Configuration.Merchant.StatementDescriptor( - this.descriptor, this.extraParams, this.prefix); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - this.extraParams.putAll(map); - return this; - } - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - } - } + public static Builder builder() { + return new Builder(); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Support { - /** A publicly available mailing address for sending support issues to. */ - @SerializedName("address") - Address address; + public static class Builder { + private Map extraParams; - /** A publicly available email address for sending support issues to. */ - @SerializedName("email") - String email; + private Boolean requested; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts(this.extraParams, this.requested); + } - /** A publicly available phone number to call with support issues. */ - @SerializedName("phone") - String phone; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** A publicly available website for handling support issues. */ - @SerializedName("url") - String url; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Support( - Address address, - String email, - Map extraParams, - String phone, - String url) { - this.address = address; - this.email = email; - this.extraParams = extraParams; - this.phone = phone; - this.url = url; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } } + } + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Defaults { + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + @SerializedName("currency") + String currency; - public static class Builder { - private Address address; + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private String email; + /** The Account's preferred locales (languages), ordered by preference. */ + @SerializedName("locales") + List locales; - private Map extraParams; + /** Default responsibilities held by either Stripe or the platform. */ + @SerializedName("responsibilities") + Responsibilities responsibilities; - private String phone; + private Defaults( + String currency, + Map extraParams, + List locales, + Responsibilities responsibilities) { + this.currency = currency; + this.extraParams = extraParams; + this.locales = locales; + this.responsibilities = responsibilities; + } - private String url; + public static Builder builder() { + return new Builder(); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Support build() { - return new AccountCreateParams.Configuration.Merchant.Support( - this.address, this.email, this.extraParams, this.phone, this.url); - } + public static class Builder { + private String currency; - /** A publicly available mailing address for sending support issues to. */ - public Builder setAddress( - AccountCreateParams.Configuration.Merchant.Support.Address address) { - this.address = address; - return this; - } + private Map extraParams; - /** A publicly available email address for sending support issues to. */ - public Builder setEmail(String email) { - this.email = email; - return this; - } + private List locales; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Responsibilities responsibilities; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Defaults build() { + return new AccountCreateParams.Defaults( + this.currency, this.extraParams, this.locales, this.responsibilities); + } - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } - /** A publicly available website for handling support issues. */ - public Builder setUrl(String url) { - this.url = url; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountCreateParams.Defaults#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountCreateParams.Defaults#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country country; + /** + * Add an element to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Defaults#locales} for the field documentation. + */ + public Builder addLocale(AccountCreateParams.Defaults.Locale element) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.add(element); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Defaults#locales} for the field documentation. + */ + public Builder addAllLocale(List elements) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.addAll(elements); + return this; + } - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - String line1; + /** Default responsibilities held by either Stripe or the platform. */ + public Builder setResponsibilities( + AccountCreateParams.Defaults.Responsibilities responsibilities) { + this.responsibilities = responsibilities; + return this; + } + } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - String line2; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Responsibilities { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** ZIP or postal code. */ - @SerializedName("postal_code") - String postalCode; + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + @SerializedName("fees_collector") + FeesCollector feesCollector; - /** State, county, province, or region. */ - @SerializedName("state") - String state; + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + @SerializedName("losses_collector") + LossesCollector lossesCollector; - /** Town or cho-me. */ - @SerializedName("town") - String town; + private Responsibilities( + Map extraParams, + FeesCollector feesCollector, + LossesCollector lossesCollector) { + this.extraParams = extraParams; + this.feesCollector = feesCollector; + this.lossesCollector = lossesCollector; + } - private Address( - String city, - Country 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 Map extraParams; + + private FeesCollector feesCollector; + + private LossesCollector lossesCollector; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Defaults.Responsibilities build() { + return new AccountCreateParams.Defaults.Responsibilities( + this.extraParams, this.feesCollector, this.lossesCollector); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Defaults.Responsibilities#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Defaults.Responsibilities#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - public static class Builder { - private String city; + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + public Builder setFeesCollector( + AccountCreateParams.Defaults.Responsibilities.FeesCollector feesCollector) { + this.feesCollector = feesCollector; + return this; + } - private Country country; + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + public Builder setLossesCollector( + AccountCreateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { + this.lossesCollector = lossesCollector; + return this; + } + } - private Map extraParams; + public enum FeesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - private String line1; + @SerializedName("stripe") + STRIPE("stripe"); - private String line2; + @Getter(onMethod_ = {@Override}) + private final String value; - private String postalCode; + FeesCollector(String value) { + this.value = value; + } + } - private String state; + public enum LossesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - private String town; + @SerializedName("stripe") + STRIPE("stripe"); - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Support.Address build() { - return new AccountCreateParams.Configuration.Merchant.Support.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Configuration.Merchant.Support.Address.Country country) { - this.country = country; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + LossesCollector(String value) { + this.value = value; + } + } + } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } + public enum Locale implements ApiRequestParams.EnumParam { + @SerializedName("ar-SA") + AR_SA("ar-SA"), - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } + @SerializedName("bg") + BG("bg"), - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } + @SerializedName("bg-BG") + BG_BG("bg-BG"), - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } + @SerializedName("cs") + CS("cs"), - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } + @SerializedName("cs-CZ") + CS_CZ("cs-CZ"), - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), + @SerializedName("da") + DA("da"), - @SerializedName("ae") - AE("ae"), + @SerializedName("da-DK") + DA_DK("da-DK"), - @SerializedName("af") - AF("af"), + @SerializedName("de") + DE("de"), - @SerializedName("ag") - AG("ag"), + @SerializedName("de-DE") + DE_DE("de-DE"), - @SerializedName("ai") - AI("ai"), + @SerializedName("el") + EL("el"), - @SerializedName("al") - AL("al"), + @SerializedName("el-GR") + EL_GR("el-GR"), - @SerializedName("am") - AM("am"), + @SerializedName("en") + EN("en"), - @SerializedName("ao") - AO("ao"), + @SerializedName("en-AU") + EN_AU("en-AU"), - @SerializedName("aq") - AQ("aq"), + @SerializedName("en-CA") + EN_CA("en-CA"), - @SerializedName("ar") - AR("ar"), + @SerializedName("en-GB") + EN_GB("en-GB"), - @SerializedName("as") - AS("as"), + @SerializedName("en-IE") + EN_IE("en-IE"), - @SerializedName("at") - AT("at"), + @SerializedName("en-IN") + EN_IN("en-IN"), - @SerializedName("au") - AU("au"), + @SerializedName("en-NZ") + EN_NZ("en-NZ"), - @SerializedName("aw") - AW("aw"), + @SerializedName("en-SG") + EN_SG("en-SG"), - @SerializedName("ax") - AX("ax"), + @SerializedName("en-US") + EN_US("en-US"), - @SerializedName("az") - AZ("az"), + @SerializedName("es") + ES("es"), - @SerializedName("ba") - BA("ba"), + @SerializedName("es-419") + ES_419("es-419"), - @SerializedName("bb") - BB("bb"), + @SerializedName("es-ES") + ES_ES("es-ES"), - @SerializedName("bd") - BD("bd"), + @SerializedName("et") + ET("et"), - @SerializedName("be") - BE("be"), + @SerializedName("et-EE") + ET_EE("et-EE"), - @SerializedName("bf") - BF("bf"), + @SerializedName("fi") + FI("fi"), - @SerializedName("bg") - BG("bg"), + @SerializedName("fil") + FIL("fil"), - @SerializedName("bh") - BH("bh"), + @SerializedName("fil-PH") + FIL_PH("fil-PH"), - @SerializedName("bi") - BI("bi"), + @SerializedName("fi-FI") + FI_FI("fi-FI"), - @SerializedName("bj") - BJ("bj"), + @SerializedName("fr") + FR("fr"), - @SerializedName("bl") - BL("bl"), + @SerializedName("fr-CA") + FR_CA("fr-CA"), - @SerializedName("bm") - BM("bm"), + @SerializedName("fr-FR") + FR_FR("fr-FR"), - @SerializedName("bn") - BN("bn"), + @SerializedName("he-IL") + HE_IL("he-IL"), - @SerializedName("bo") - BO("bo"), + @SerializedName("hr") + HR("hr"), - @SerializedName("bq") - BQ("bq"), + @SerializedName("hr-HR") + HR_HR("hr-HR"), - @SerializedName("br") - BR("br"), + @SerializedName("hu") + HU("hu"), - @SerializedName("bs") - BS("bs"), + @SerializedName("hu-HU") + HU_HU("hu-HU"), - @SerializedName("bt") - BT("bt"), + @SerializedName("id") + ID("id"), - @SerializedName("bv") - BV("bv"), + @SerializedName("id-ID") + ID_ID("id-ID"), - @SerializedName("bw") - BW("bw"), + @SerializedName("it") + IT("it"), - @SerializedName("by") - BY("by"), + @SerializedName("it-IT") + IT_IT("it-IT"), - @SerializedName("bz") - BZ("bz"), + @SerializedName("ja") + JA("ja"), - @SerializedName("ca") - CA("ca"), + @SerializedName("ja-JP") + JA_JP("ja-JP"), - @SerializedName("cc") - CC("cc"), + @SerializedName("ko") + KO("ko"), - @SerializedName("cd") - CD("cd"), + @SerializedName("ko-KR") + KO_KR("ko-KR"), - @SerializedName("cf") - CF("cf"), + @SerializedName("lt") + LT("lt"), - @SerializedName("cg") - CG("cg"), + @SerializedName("lt-LT") + LT_LT("lt-LT"), - @SerializedName("ch") - CH("ch"), + @SerializedName("lv") + LV("lv"), - @SerializedName("ci") - CI("ci"), + @SerializedName("lv-LV") + LV_LV("lv-LV"), - @SerializedName("ck") - CK("ck"), + @SerializedName("ms") + MS("ms"), - @SerializedName("cl") - CL("cl"), + @SerializedName("ms-MY") + MS_MY("ms-MY"), - @SerializedName("cm") - CM("cm"), + @SerializedName("mt") + MT("mt"), - @SerializedName("cn") - CN("cn"), + @SerializedName("mt-MT") + MT_MT("mt-MT"), - @SerializedName("co") - CO("co"), + @SerializedName("nb") + NB("nb"), - @SerializedName("cr") - CR("cr"), + @SerializedName("nb-NO") + NB_NO("nb-NO"), - @SerializedName("cu") - CU("cu"), + @SerializedName("nl") + NL("nl"), - @SerializedName("cv") - CV("cv"), + @SerializedName("nl-NL") + NL_NL("nl-NL"), - @SerializedName("cw") - CW("cw"), + @SerializedName("pl") + PL("pl"), - @SerializedName("cx") - CX("cx"), + @SerializedName("pl-PL") + PL_PL("pl-PL"), - @SerializedName("cy") - CY("cy"), + @SerializedName("pt") + PT("pt"), - @SerializedName("cz") - CZ("cz"), + @SerializedName("pt-BR") + PT_BR("pt-BR"), - @SerializedName("de") - DE("de"), + @SerializedName("pt-PT") + PT_PT("pt-PT"), - @SerializedName("dj") - DJ("dj"), + @SerializedName("ro") + RO("ro"), - @SerializedName("dk") - DK("dk"), + @SerializedName("ro-RO") + RO_RO("ro-RO"), - @SerializedName("dm") - DM("dm"), + @SerializedName("ru") + RU("ru"), - @SerializedName("do") - DO("do"), + @SerializedName("ru-RU") + RU_RU("ru-RU"), - @SerializedName("dz") - DZ("dz"), + @SerializedName("sk") + SK("sk"), - @SerializedName("ec") - EC("ec"), + @SerializedName("sk-SK") + SK_SK("sk-SK"), - @SerializedName("ee") - EE("ee"), + @SerializedName("sl") + SL("sl"), - @SerializedName("eg") - EG("eg"), + @SerializedName("sl-SI") + SL_SI("sl-SI"), - @SerializedName("eh") - EH("eh"), + @SerializedName("sv") + SV("sv"), - @SerializedName("er") - ER("er"), + @SerializedName("sv-SE") + SV_SE("sv-SE"), - @SerializedName("es") - ES("es"), + @SerializedName("th") + TH("th"), - @SerializedName("et") - ET("et"), + @SerializedName("th-TH") + TH_TH("th-TH"), - @SerializedName("fi") - FI("fi"), + @SerializedName("tr") + TR("tr"), - @SerializedName("fj") - FJ("fj"), + @SerializedName("tr-TR") + TR_TR("tr-TR"), - @SerializedName("fk") - FK("fk"), + @SerializedName("vi") + VI("vi"), - @SerializedName("fm") - FM("fm"), + @SerializedName("vi-VN") + VI_VN("vi-VN"), - @SerializedName("fo") - FO("fo"), + @SerializedName("zh") + ZH("zh"), - @SerializedName("fr") - FR("fr"), + @SerializedName("zh-Hans") + ZH_HANS("zh-Hans"), - @SerializedName("ga") - GA("ga"), + @SerializedName("zh-Hant-HK") + ZH_HANT_HK("zh-Hant-HK"), - @SerializedName("gb") - GB("gb"), + @SerializedName("zh-Hant-TW") + ZH_HANT_TW("zh-Hant-TW"), - @SerializedName("gd") - GD("gd"), + @SerializedName("zh-HK") + ZH_HK("zh-HK"), - @SerializedName("ge") - GE("ge"), + @SerializedName("zh-TW") + ZH_TW("zh-TW"); - @SerializedName("gf") - GF("gf"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("gg") - GG("gg"), + Locale(String value) { + this.value = value; + } + } + } - @SerializedName("gh") - GH("gh"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Identity { + /** Attestations from the identity's key people, e.g. owners, executives, directors. */ + @SerializedName("attestations") + Attestations attestations; - @SerializedName("gi") - GI("gi"), + /** Information about the company or business. */ + @SerializedName("business_details") + BusinessDetails businessDetails; - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO + * 3166-1 alpha-2 country code. + */ + @SerializedName("country") + String country; - @SerializedName("gn") - GN("gn"), + /** The entity type. */ + @SerializedName("entity_type") + EntityType entityType; - @SerializedName("gp") - GP("gp"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("gq") - GQ("gq"), + /** Information about the person represented by the account. */ + @SerializedName("individual") + Individual individual; - @SerializedName("gr") - GR("gr"), + private Identity( + Attestations attestations, + BusinessDetails businessDetails, + String country, + EntityType entityType, + Map extraParams, + Individual individual) { + this.attestations = attestations; + this.businessDetails = businessDetails; + this.country = country; + this.entityType = entityType; + this.extraParams = extraParams; + this.individual = individual; + } - @SerializedName("gs") - GS("gs"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("gt") - GT("gt"), + public static class Builder { + private Attestations attestations; - @SerializedName("gu") - GU("gu"), + private BusinessDetails businessDetails; - @SerializedName("gw") - GW("gw"), + private String country; - @SerializedName("gy") - GY("gy"), + private EntityType entityType; - @SerializedName("hk") - HK("hk"), + private Map extraParams; - @SerializedName("hm") - HM("hm"), + private Individual individual; - @SerializedName("hn") - HN("hn"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity build() { + return new AccountCreateParams.Identity( + this.attestations, + this.businessDetails, + this.country, + this.entityType, + this.extraParams, + this.individual); + } - @SerializedName("hr") - HR("hr"), + /** Attestations from the identity's key people, e.g. owners, executives, directors. */ + public Builder setAttestations(AccountCreateParams.Identity.Attestations attestations) { + this.attestations = attestations; + return this; + } - @SerializedName("ht") - HT("ht"), + /** Information about the company or business. */ + public Builder setBusinessDetails( + AccountCreateParams.Identity.BusinessDetails businessDetails) { + this.businessDetails = businessDetails; + return this; + } - @SerializedName("hu") - HU("hu"), + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO 3166-1 alpha-2 country + * code. + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("id") - ID("id"), + /** The entity type. */ + public Builder setEntityType(AccountCreateParams.Identity.EntityType entityType) { + this.entityType = entityType; + return this; + } - @SerializedName("ie") - IE("ie"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountCreateParams.Identity#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("il") - IL("il"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountCreateParams.Identity#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("im") - IM("im"), + /** Information about the person represented by the account. */ + public Builder setIndividual(AccountCreateParams.Identity.Individual individual) { + this.individual = individual; + return this; + } + } - @SerializedName("in") - IN("in"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Attestations { + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + @SerializedName("directorship_declaration") + DirectorshipDeclaration directorshipDeclaration; - @SerializedName("io") - IO("io"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("iq") - IQ("iq"), + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + @SerializedName("ownership_declaration") + OwnershipDeclaration ownershipDeclaration; - @SerializedName("ir") - IR("ir"), + /** Attestation that all Persons with a specific Relationship value have been provided. */ + @SerializedName("persons_provided") + PersonsProvided personsProvided; - @SerializedName("is") - IS("is"), + /** Attestations of accepted terms of service agreements. */ + @SerializedName("terms_of_service") + TermsOfService termsOfService; - @SerializedName("it") - IT("it"), + private Attestations( + DirectorshipDeclaration directorshipDeclaration, + Map extraParams, + OwnershipDeclaration ownershipDeclaration, + PersonsProvided personsProvided, + TermsOfService termsOfService) { + this.directorshipDeclaration = directorshipDeclaration; + this.extraParams = extraParams; + this.ownershipDeclaration = ownershipDeclaration; + this.personsProvided = personsProvided; + this.termsOfService = termsOfService; + } - @SerializedName("je") - JE("je"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("jm") - JM("jm"), + public static class Builder { + private DirectorshipDeclaration directorshipDeclaration; - @SerializedName("jo") - JO("jo"), + private Map extraParams; - @SerializedName("jp") - JP("jp"), + private OwnershipDeclaration ownershipDeclaration; - @SerializedName("ke") - KE("ke"), + private PersonsProvided personsProvided; - @SerializedName("kg") - KG("kg"), + private TermsOfService termsOfService; - @SerializedName("kh") - KH("kh"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations build() { + return new AccountCreateParams.Identity.Attestations( + this.directorshipDeclaration, + this.extraParams, + this.ownershipDeclaration, + this.personsProvided, + this.termsOfService); + } - @SerializedName("ki") - KI("ki"), + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + public Builder setDirectorshipDeclaration( + AccountCreateParams.Identity.Attestations.DirectorshipDeclaration + directorshipDeclaration) { + this.directorshipDeclaration = directorshipDeclaration; + return this; + } - @SerializedName("km") - KM("km"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("kn") - KN("kn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("kp") - KP("kp"), + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + public Builder setOwnershipDeclaration( + AccountCreateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { + this.ownershipDeclaration = ownershipDeclaration; + return this; + } - @SerializedName("kr") - KR("kr"), + /** Attestation that all Persons with a specific Relationship value have been provided. */ + public Builder setPersonsProvided( + AccountCreateParams.Identity.Attestations.PersonsProvided personsProvided) { + this.personsProvided = personsProvided; + return this; + } - @SerializedName("kw") - KW("kw"), + /** Attestations of accepted terms of service agreements. */ + public Builder setTermsOfService( + AccountCreateParams.Identity.Attestations.TermsOfService termsOfService) { + this.termsOfService = termsOfService; + return this; + } + } - @SerializedName("ky") - KY("ky"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DirectorshipDeclaration { + /** + * The time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - @SerializedName("kz") - KZ("kz"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("la") - LA("la"), + /** The IP address from which the director attestation was made. */ + @SerializedName("ip") + String ip; - @SerializedName("lb") - LB("lb"), + /** The user agent of the browser from which the director attestation was made. */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("lc") - LC("lc"), + private DirectorshipDeclaration( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("lu") - LU("lu"), + public static class Builder { + private Instant date; - @SerializedName("lv") - LV("lv"), + private Map extraParams; - @SerializedName("ly") - LY("ly"), + private String ip; - @SerializedName("ma") - MA("ma"), + private String userAgent; - @SerializedName("mc") - MC("mc"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.DirectorshipDeclaration build() { + return new AccountCreateParams.Identity.Attestations.DirectorshipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("md") - MD("md"), + /** + * The time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } - @SerializedName("me") - ME("me"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mf") - MF("mf"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mg") - MG("mg"), + /** The IP address from which the director attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("mh") - MH("mh"), + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("mk") - MK("mk"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OwnershipDeclaration { + /** + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - @SerializedName("ml") - ML("ml"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mm") - MM("mm"), + /** The IP address from which the beneficial owner attestation was made. */ + @SerializedName("ip") + String ip; - @SerializedName("mn") - MN("mn"), + /** The user agent of the browser from which the beneficial owner attestation was made. */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("mo") - MO("mo"), + private OwnershipDeclaration( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("mp") - MP("mp"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mq") - MQ("mq"), + public static class Builder { + private Instant date; - @SerializedName("mr") - MR("mr"), + private Map extraParams; - @SerializedName("ms") - MS("ms"), + private String ip; - @SerializedName("mt") - MT("mt"), + private String userAgent; - @SerializedName("mu") - MU("mu"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.OwnershipDeclaration build() { + return new AccountCreateParams.Identity.Attestations.OwnershipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("mv") - MV("mv"), + /** + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } - @SerializedName("mw") - MW("mw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mx") - MX("mx"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("my") - MY("my"), + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("mz") - MZ("mz"), + /** The user agent of the browser from which the beneficial owner attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("na") - NA("na"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PersonsProvided { + /** + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. + */ + @SerializedName("directors") + Boolean directors; - @SerializedName("nc") - NC("nc"), + /** + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. + */ + @SerializedName("executives") + Boolean executives; - @SerializedName("ne") - NE("ne"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("nf") - NF("nf"), + /** + * Whether the company’s owners have been provided. Set this Boolean to true after creating + * all the company’s owners with the Persons API. + */ + @SerializedName("owners") + Boolean owners; - @SerializedName("ng") - NG("ng"), + /** Reason for why the company is exempt from providing ownership information. */ + @SerializedName("ownership_exemption_reason") + OwnershipExemptionReason ownershipExemptionReason; - @SerializedName("ni") - NI("ni"), + private PersonsProvided( + Boolean directors, + Boolean executives, + Map extraParams, + Boolean owners, + OwnershipExemptionReason ownershipExemptionReason) { + this.directors = directors; + this.executives = executives; + this.extraParams = extraParams; + this.owners = owners; + this.ownershipExemptionReason = ownershipExemptionReason; + } - @SerializedName("nl") - NL("nl"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("no") - NO("no"), + public static class Builder { + private Boolean directors; - @SerializedName("np") - NP("np"), + private Boolean executives; - @SerializedName("nr") - NR("nr"), + private Map extraParams; - @SerializedName("nu") - NU("nu"), + private Boolean owners; - @SerializedName("nz") - NZ("nz"), + private OwnershipExemptionReason ownershipExemptionReason; - @SerializedName("om") - OM("om"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.PersonsProvided build() { + return new AccountCreateParams.Identity.Attestations.PersonsProvided( + this.directors, + this.executives, + this.extraParams, + this.owners, + this.ownershipExemptionReason); + } - @SerializedName("pa") - PA("pa"), + /** + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. + */ + public Builder setDirectors(Boolean directors) { + this.directors = directors; + return this; + } - @SerializedName("pe") - PE("pe"), + /** + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. + */ + public Builder setExecutives(Boolean executives) { + this.executives = executives; + return this; + } - @SerializedName("pf") - PF("pf"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Recipient { - /** Capabilities to be requested on the Recipient Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private Recipient(Capabilities capabilities, Map extraParams) { - this.capabilities = capabilities; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Capabilities capabilities; - private Map extraParams; + /** + * Whether the company’s owners have been provided. Set this Boolean to true after + * creating all the company’s owners with the Persons API. + */ + public Builder setOwners(Boolean owners) { + this.owners = owners; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient build() { - return new AccountCreateParams.Configuration.Recipient( - this.capabilities, this.extraParams); + /** Reason for why the company is exempt from providing ownership information. */ + public Builder setOwnershipExemptionReason( + AccountCreateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason + ownershipExemptionReason) { + this.ownershipExemptionReason = ownershipExemptionReason; + return this; + } } - /** Capabilities to be requested on the Recipient Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Recipient.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { + @SerializedName("qualified_entity_exceeds_ownership_threshold") + QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( + "qualified_entity_exceeds_ownership_threshold"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @SerializedName("qualifies_as_financial_institution") + QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + @Getter(onMethod_ = {@Override}) + private final String value; + + OwnershipExemptionReason(String value) { + this.value = value; } - this.extraParams.putAll(map); - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Capabilities that enable OutboundPayments to a card linked to this Account. */ - @SerializedName("cards") - Cards cards; + public static class TermsOfService { + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + @SerializedName("account") + Account account; /** * Map of extra parameters for custom features not available in this client library. The @@ -8586,19 +10201,14 @@ public static class Capabilities { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("stripe_balance") - StripeBalance stripeBalance; + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + @SerializedName("storer") + Storer storer; - private Capabilities( - BankAccounts bankAccounts, - Cards cards, - Map extraParams, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; + private TermsOfService(Account account, Map extraParams, Storer storer) { + this.account = account; this.extraParams = extraParams; - this.stripeBalance = stripeBalance; + this.storer = storer; } public static Builder builder() { @@ -8606,38 +10216,33 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; + private Account account; private Map extraParams; - private StripeBalance stripeBalance; + private Storer storer; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities( - this.bankAccounts, this.cards, this.extraParams, this.stripeBalance); - } - - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { - this.bankAccounts = bankAccounts; - return this; + public AccountCreateParams.Identity.Attestations.TermsOfService build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService( + this.account, this.extraParams, this.storer); } - /** Capabilities that enable OutboundPayments to a card linked to this Account. */ - public Builder setCards( - AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + public Builder setAccount( + AccountCreateParams.Identity.Attestations.TermsOfService.Account account) { + this.account = account; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8651,7 +10256,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8662,20 +10267,25 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). - */ - public Builder setStripeBalance( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - stripeBalance) { - this.stripeBalance = stripeBalance; + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + public Builder setStorer( + AccountCreateParams.Identity.Attestations.TermsOfService.Storer storer) { + this.storer = storer; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Account { + /** + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond + * precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -8687,20 +10297,25 @@ public static class BankAccounts { Map extraParams; /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. + * Required. The IP address from which the Account's representative + * accepted the terms of service. */ - @SerializedName("local") - Local local; + @SerializedName("ip") + String ip; - /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - @SerializedName("wire") - Wire wire; + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; - private BankAccounts(Map extraParams, Local local, Wire wire) { + private Account( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; this.extraParams = extraParams; - this.local = local; - this.wire = wire; + this.ip = ip; + this.userAgent = userAgent; } public static Builder builder() { @@ -8708,24 +10323,36 @@ public static Builder builder() { } public static class Builder { + private Instant date; + private Map extraParams; - private Local local; + private String ip; - private Wire wire; + private String userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts( - this.extraParams, this.local, this.wire); + public AccountCreateParams.Identity.Attestations.TermsOfService.Account build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.Account( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond + * precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} - * for the field documentation. + * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -8739,8 +10366,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} - * for the field documentation. + * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -8751,457 +10378,254 @@ public Builder putAllExtraParam(Map map) { } /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. + * Required. The IP address from which the Account's representative + * accepted the terms of service. */ - public Builder setLocal( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { - this.local = local; + public Builder setIp(String ip) { + this.ip = ip; return this; } /** - * Enables this Account to receive OutboundPayments to linked bank accounts over wire. + * The user agent of the browser from which the Account's representative accepted the + * terms of service. */ - public Builder setWire( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { - this.wire = wire; + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; return this; } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Local { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Storer { + /** + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond + * precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Local(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - public static Builder builder() { - return new Builder(); - } + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; - public static class Builder { - private Map extraParams; + private Storer( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - private Boolean requested; + public static Builder builder() { + return new Builder(); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local(this.extraParams, this.requested); - } + public static class Builder { + private Instant date; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private String ip; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.Storer build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.Storer( + this.date, this.extraParams, this.ip, this.userAgent); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Wire { /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond + * precision, for example: 2022-09-18T13:22:18.123Z. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder setDate(Instant date) { + this.date = date; + return this; + } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the + * field documentation. */ - @SerializedName("requested") - Boolean requested; - - private Wire(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.Cards build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards( - this.extraParams, this.requested); + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * AccountCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the * field documentation. */ - public Builder putExtraParam(String key, Object value) { + public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } - this.extraParams.put(key, value); + this.extraParams.putAll(map); return this; } /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the - * field documentation. + * Required. The IP address from which the Account's representative + * accepted the terms of service. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); + public Builder setIp(String ip) { + this.ip = ip; return this; } /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. + * The user agent of the browser from which the Account's representative accepted the + * terms of service. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; return this; } } } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeBalance { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BusinessDetails { + /** The business registration address of the business entity. */ + @SerializedName("address") + Address address; - /** - * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). - */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; + /** The business gross annual revenue for its preceding fiscal year. */ + @SerializedName("annual_revenue") + AnnualRevenue annualRevenue; - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { - this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; - } + /** A document verifying the business. */ + @SerializedName("documents") + Documents documents; - public static Builder builder() { - return new Builder(); - } + /** The name which is used by the business. */ + @SerializedName("doing_business_as") + String doingBusinessAs; - public static class Builder { - private Map extraParams; + /** + * An estimated upper bound of employees, contractors, vendors, etc. currently working for the + * business. + */ + @SerializedName("estimated_worker_count") + Long estimatedWorkerCount; - private StripeTransfers stripeTransfers; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance( - this.extraParams, this.stripeTransfers); - } + /** The ID numbers of a business entity. */ + @SerializedName("id_numbers") + List idNumbers; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** An estimate of the monthly revenue of the business. */ + @SerializedName("monthly_estimated_revenue") + MonthlyEstimatedRevenue monthlyEstimatedRevenue; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** The phone number of the Business Entity. */ + @SerializedName("phone") + String phone; - /** - * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). - */ - public Builder setStripeTransfers( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - stripeTransfers) { - this.stripeTransfers = stripeTransfers; - return this; - } - } + /** + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. + */ + @SerializedName("product_description") + String productDescription; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** The business legal name. */ + @SerializedName("registered_name") + String registeredName; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private StripeTransfers(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** The business registration address of the business entity in non latin script. */ + @SerializedName("script_addresses") + ScriptAddresses scriptAddresses; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } - } + /** The business legal name in non latin script. */ + @SerializedName("script_names") + ScriptNames scriptNames; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** Capabilities to request on the Storer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + /** The category identifying the legal structure of the business. */ + @SerializedName("structure") + Structure structure; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 business's publicly available website. */ + @SerializedName("url") + String url; - private Storer(Capabilities capabilities, Map extraParams) { - this.capabilities = capabilities; + private BusinessDetails( + Address address, + AnnualRevenue annualRevenue, + Documents documents, + String doingBusinessAs, + Long estimatedWorkerCount, + Map extraParams, + List idNumbers, + MonthlyEstimatedRevenue monthlyEstimatedRevenue, + String phone, + String productDescription, + String registeredName, + ScriptAddresses scriptAddresses, + ScriptNames scriptNames, + Structure structure, + String url) { + this.address = address; + this.annualRevenue = annualRevenue; + this.documents = documents; + this.doingBusinessAs = doingBusinessAs; + this.estimatedWorkerCount = estimatedWorkerCount; this.extraParams = extraParams; + this.idNumbers = idNumbers; + this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; + this.phone = phone; + this.productDescription = productDescription; + this.registeredName = registeredName; + this.scriptAddresses = scriptAddresses; + this.scriptNames = scriptNames; + this.structure = structure; + this.url = url; } public static Builder builder() { @@ -9209,26 +10633,95 @@ public static Builder builder() { } public static class Builder { - private Capabilities capabilities; + private Address address; + + private AnnualRevenue annualRevenue; + + private Documents documents; + + private String doingBusinessAs; + + private Long estimatedWorkerCount; private Map extraParams; + private List idNumbers; + + private MonthlyEstimatedRevenue monthlyEstimatedRevenue; + + private String phone; + + private String productDescription; + + private String registeredName; + + private ScriptAddresses scriptAddresses; + + private ScriptNames scriptNames; + + private Structure structure; + + private String url; + /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer build() { - return new AccountCreateParams.Configuration.Storer(this.capabilities, this.extraParams); + public AccountCreateParams.Identity.BusinessDetails build() { + return new AccountCreateParams.Identity.BusinessDetails( + this.address, + this.annualRevenue, + this.documents, + this.doingBusinessAs, + this.estimatedWorkerCount, + this.extraParams, + this.idNumbers, + this.monthlyEstimatedRevenue, + this.phone, + this.productDescription, + this.registeredName, + this.scriptAddresses, + this.scriptNames, + this.structure, + this.url); } - /** Capabilities to request on the Storer Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Storer.Capabilities capabilities) { - this.capabilities = capabilities; + /** The business registration address of the business entity. */ + public Builder setAddress(AccountCreateParams.Identity.BusinessDetails.Address address) { + this.address = address; + return this; + } + + /** The business gross annual revenue for its preceding fiscal year. */ + public Builder setAnnualRevenue( + AccountCreateParams.Identity.BusinessDetails.AnnualRevenue annualRevenue) { + this.annualRevenue = annualRevenue; + return this; + } + + /** A document verifying the business. */ + public Builder setDocuments( + AccountCreateParams.Identity.BusinessDetails.Documents documents) { + this.documents = documents; + return this; + } + + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(String doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + return this; + } + + /** + * An estimated upper bound of employees, contractors, vendors, etc. currently working for + * the business. + */ + public Builder setEstimatedWorkerCount(Long estimatedWorkerCount) { + this.estimatedWorkerCount = estimatedWorkerCount; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * map. See {@link AccountCreateParams.Identity.BusinessDetails#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9242,7 +10735,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field + * map. See {@link AccountCreateParams.Identity.BusinessDetails#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -9252,12712 +10745,270 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. + * Add an element to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Identity.BusinessDetails#idNumbers} for the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder addIdNumber(AccountCreateParams.Identity.BusinessDetails.IdNumber element) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.add(element); + return this; + } - /** Can provision a financial address to credit/debit a FinancialAccount. */ - @SerializedName("financial_addresses") - FinancialAddresses financialAddresses; + /** + * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Identity.BusinessDetails#idNumbers} for the field documentation. + */ + public Builder addAllIdNumber( + List elements) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.addAll(elements); + return this; + } - /** Can hold storage-type funds on Stripe. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + /** An estimate of the monthly revenue of the business. */ + public Builder setMonthlyEstimatedRevenue( + AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue + monthlyEstimatedRevenue) { + this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; + return this; + } - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - @SerializedName("inbound_transfers") - InboundTransfers inboundTransfers; - - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - @SerializedName("outbound_payments") - OutboundPayments outboundPayments; - - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - @SerializedName("outbound_transfers") - OutboundTransfers outboundTransfers; - - private Capabilities( - Map extraParams, - FinancialAddresses financialAddresses, - HoldsCurrencies holdsCurrencies, - InboundTransfers inboundTransfers, - OutboundPayments outboundPayments, - OutboundTransfers outboundTransfers) { - this.extraParams = extraParams; - this.financialAddresses = financialAddresses; - this.holdsCurrencies = holdsCurrencies; - this.inboundTransfers = inboundTransfers; - this.outboundPayments = outboundPayments; - this.outboundTransfers = outboundTransfers; + /** The phone number of the Business Entity. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; } - public static Builder builder() { - return new Builder(); + /** + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. + */ + public Builder setProductDescription(String productDescription) { + this.productDescription = productDescription; + return this; } - public static class Builder { - private Map extraParams; - - private FinancialAddresses financialAddresses; - - private HoldsCurrencies holdsCurrencies; - - private InboundTransfers inboundTransfers; - - private OutboundPayments outboundPayments; - - private OutboundTransfers outboundTransfers; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities build() { - return new AccountCreateParams.Configuration.Storer.Capabilities( - this.extraParams, - this.financialAddresses, - this.holdsCurrencies, - this.inboundTransfers, - this.outboundPayments, - this.outboundTransfers); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; - return this; - } - - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } + /** The business legal name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - public Builder setInboundTransfers( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - inboundTransfers) { - this.inboundTransfers = inboundTransfers; - return this; - } + /** The business registration address of the business entity in non latin script. */ + public Builder setScriptAddresses( + AccountCreateParams.Identity.BusinessDetails.ScriptAddresses scriptAddresses) { + this.scriptAddresses = scriptAddresses; + return this; + } - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - public Builder setOutboundPayments( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - outboundPayments) { - this.outboundPayments = outboundPayments; - return this; - } + /** The business legal name in non latin script. */ + public Builder setScriptNames( + AccountCreateParams.Identity.BusinessDetails.ScriptNames scriptNames) { + this.scriptNames = scriptNames; + return this; + } - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - public Builder setOutboundTransfers( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - outboundTransfers) { - this.outboundTransfers = outboundTransfers; - return this; - } + /** The category identifying the legal structure of the business. */ + public Builder setStructure( + AccountCreateParams.Identity.BusinessDetails.Structure structure) { + this.structure = structure; + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + /** The business's publicly available website. */ + public Builder setUrl(String url) { + this.url = url; + return this; + } + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - private FinancialAddresses(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - } + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - public static Builder builder() { - return new Builder(); - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static class Builder { - private BankAccounts bankAccounts; + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - private Map extraParams; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses( - this.bankAccounts, this.extraParams); - } + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } + /** State, county, province, or region. */ + @SerializedName("state") + String state; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Town or cho-me. */ + @SerializedName("town") + String town; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Can hold storage-type funds on Stripe in GBP. */ - @SerializedName("gbp") - Gbp gbp; - - private HoldsCurrencies(Map extraParams, Gbp gbp) { - this.extraParams = extraParams; - this.gbp = gbp; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Gbp gbp; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies( - this.extraParams, this.gbp); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can hold storage-type funds on Stripe in GBP. */ - public Builder setGbp( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { - this.gbp = gbp; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Gbp { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Gbp(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class InboundTransfers { - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers( - this.bankAccounts, this.extraParams); - } - - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundPayments { - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - @SerializedName("cards") - Cards cards; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; - - private OutboundPayments( - BankAccounts bankAccounts, - Cards cards, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; - - private Map extraParams; - - private FinancialAccounts financialAccounts; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments( - this.bankAccounts, this.cards, this.extraParams, this.financialAccounts); - } - - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - public Builder setCards( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - cards) { - this.cards = cards; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - public Builder setFinancialAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers { - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; - - private OutboundTransfers( - BankAccounts bankAccounts, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; - - private FinancialAccounts financialAccounts; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers( - this.bankAccounts, this.extraParams, this.financialAccounts); - } - - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - public Builder setFinancialAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Defaults { - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - @SerializedName("currency") - Currency currency; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The Account's preferred locales (languages), ordered by preference. */ - @SerializedName("locales") - List locales; - - /** Default responsibilities held by either Stripe or the platform. */ - @SerializedName("responsibilities") - Responsibilities responsibilities; - - private Defaults( - Currency currency, - Map extraParams, - List locales, - Responsibilities responsibilities) { - this.currency = currency; - this.extraParams = extraParams; - this.locales = locales; - this.responsibilities = responsibilities; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Currency currency; - - private Map extraParams; - - private List locales; - - private Responsibilities responsibilities; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults build() { - return new AccountCreateParams.Defaults( - this.currency, this.extraParams, this.locales, this.responsibilities); - } - - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - public Builder setCurrency(AccountCreateParams.Defaults.Currency currency) { - this.currency = currency; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountCreateParams.Defaults#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link AccountCreateParams.Defaults#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Add an element to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Defaults#locales} for the field documentation. - */ - public Builder addLocale(AccountCreateParams.Defaults.Locale element) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.add(element); - return this; - } - - /** - * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Defaults#locales} for the field documentation. - */ - public Builder addAllLocale(List elements) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.addAll(elements); - return this; - } - - /** Default responsibilities held by either Stripe or the platform. */ - public Builder setResponsibilities( - AccountCreateParams.Defaults.Responsibilities responsibilities) { - this.responsibilities = responsibilities; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Responsibilities { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - @SerializedName("fees_collector") - FeesCollector feesCollector; - - /** - * Required. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - @SerializedName("losses_collector") - LossesCollector lossesCollector; - - private Responsibilities( - Map extraParams, - FeesCollector feesCollector, - LossesCollector lossesCollector) { - this.extraParams = extraParams; - this.feesCollector = feesCollector; - this.lossesCollector = lossesCollector; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FeesCollector feesCollector; - - private LossesCollector lossesCollector; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults.Responsibilities build() { - return new AccountCreateParams.Defaults.Responsibilities( - this.extraParams, this.feesCollector, this.lossesCollector); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Responsibilities#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Responsibilities#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - public Builder setFeesCollector( - AccountCreateParams.Defaults.Responsibilities.FeesCollector feesCollector) { - this.feesCollector = feesCollector; - return this; - } - - /** - * Required. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - public Builder setLossesCollector( - AccountCreateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { - this.lossesCollector = lossesCollector; - return this; - } - } - - public enum FeesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), - - @SerializedName("stripe") - STRIPE("stripe"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - FeesCollector(String value) { - this.value = value; - } - } - - public enum LossesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), - - @SerializedName("stripe") - STRIPE("stripe"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - LossesCollector(String value) { - this.value = value; - } - } - } - - public enum Currency implements ApiRequestParams.EnumParam { - @SerializedName("aed") - AED("aed"), - - @SerializedName("afn") - AFN("afn"), - - @SerializedName("all") - ALL("all"), - - @SerializedName("amd") - AMD("amd"), - - @SerializedName("ang") - ANG("ang"), - - @SerializedName("aoa") - AOA("aoa"), - - @SerializedName("ars") - ARS("ars"), - - @SerializedName("aud") - AUD("aud"), - - @SerializedName("awg") - AWG("awg"), - - @SerializedName("azn") - AZN("azn"), - - @SerializedName("bam") - BAM("bam"), - - @SerializedName("bbd") - BBD("bbd"), - - @SerializedName("bdt") - BDT("bdt"), - - @SerializedName("bgn") - BGN("bgn"), - - @SerializedName("bhd") - BHD("bhd"), - - @SerializedName("bif") - BIF("bif"), - - @SerializedName("bmd") - BMD("bmd"), - - @SerializedName("bnd") - BND("bnd"), - - @SerializedName("bob") - BOB("bob"), - - @SerializedName("bov") - BOV("bov"), - - @SerializedName("brl") - BRL("brl"), - - @SerializedName("bsd") - BSD("bsd"), - - @SerializedName("btn") - BTN("btn"), - - @SerializedName("bwp") - BWP("bwp"), - - @SerializedName("byn") - BYN("byn"), - - @SerializedName("byr") - BYR("byr"), - - @SerializedName("bzd") - BZD("bzd"), - - @SerializedName("cad") - CAD("cad"), - - @SerializedName("cdf") - CDF("cdf"), - - @SerializedName("che") - CHE("che"), - - @SerializedName("chf") - CHF("chf"), - - @SerializedName("chw") - CHW("chw"), - - @SerializedName("clf") - CLF("clf"), - - @SerializedName("clp") - CLP("clp"), - - @SerializedName("cny") - CNY("cny"), - - @SerializedName("cop") - COP("cop"), - - @SerializedName("cou") - COU("cou"), - - @SerializedName("crc") - CRC("crc"), - - @SerializedName("cuc") - CUC("cuc"), - - @SerializedName("cup") - CUP("cup"), - - @SerializedName("cve") - CVE("cve"), - - @SerializedName("czk") - CZK("czk"), - - @SerializedName("djf") - DJF("djf"), - - @SerializedName("dkk") - DKK("dkk"), - - @SerializedName("dop") - DOP("dop"), - - @SerializedName("dzd") - DZD("dzd"), - - @SerializedName("eek") - EEK("eek"), - - @SerializedName("egp") - EGP("egp"), - - @SerializedName("ern") - ERN("ern"), - - @SerializedName("etb") - ETB("etb"), - - @SerializedName("eur") - EUR("eur"), - - @SerializedName("fjd") - FJD("fjd"), - - @SerializedName("fkp") - FKP("fkp"), - - @SerializedName("gbp") - GBP("gbp"), - - @SerializedName("gel") - GEL("gel"), - - @SerializedName("ghc") - GHC("ghc"), - - @SerializedName("ghs") - GHS("ghs"), - - @SerializedName("gip") - GIP("gip"), - - @SerializedName("gmd") - GMD("gmd"), - - @SerializedName("gnf") - GNF("gnf"), - - @SerializedName("gtq") - GTQ("gtq"), - - @SerializedName("gyd") - GYD("gyd"), - - @SerializedName("hkd") - HKD("hkd"), - - @SerializedName("hnl") - HNL("hnl"), - - @SerializedName("hrk") - HRK("hrk"), - - @SerializedName("htg") - HTG("htg"), - - @SerializedName("huf") - HUF("huf"), - - @SerializedName("idr") - IDR("idr"), - - @SerializedName("ils") - ILS("ils"), - - @SerializedName("inr") - INR("inr"), - - @SerializedName("iqd") - IQD("iqd"), - - @SerializedName("irr") - IRR("irr"), - - @SerializedName("isk") - ISK("isk"), - - @SerializedName("jmd") - JMD("jmd"), - - @SerializedName("jod") - JOD("jod"), - - @SerializedName("jpy") - JPY("jpy"), - - @SerializedName("kes") - KES("kes"), - - @SerializedName("kgs") - KGS("kgs"), - - @SerializedName("khr") - KHR("khr"), - - @SerializedName("kmf") - KMF("kmf"), - - @SerializedName("kpw") - KPW("kpw"), - - @SerializedName("krw") - KRW("krw"), - - @SerializedName("kwd") - KWD("kwd"), - - @SerializedName("kyd") - KYD("kyd"), - - @SerializedName("kzt") - KZT("kzt"), - - @SerializedName("lak") - LAK("lak"), - - @SerializedName("lbp") - LBP("lbp"), - - @SerializedName("lkr") - LKR("lkr"), - - @SerializedName("lrd") - LRD("lrd"), - - @SerializedName("lsl") - LSL("lsl"), - - @SerializedName("ltl") - LTL("ltl"), - - @SerializedName("lvl") - LVL("lvl"), - - @SerializedName("lyd") - LYD("lyd"), - - @SerializedName("mad") - MAD("mad"), - - @SerializedName("mdl") - MDL("mdl"), - - @SerializedName("mga") - MGA("mga"), - - @SerializedName("mkd") - MKD("mkd"), - - @SerializedName("mmk") - MMK("mmk"), - - @SerializedName("mnt") - MNT("mnt"), - - @SerializedName("mop") - MOP("mop"), - - @SerializedName("mro") - MRO("mro"), - - @SerializedName("mru") - MRU("mru"), - - @SerializedName("mur") - MUR("mur"), - - @SerializedName("mvr") - MVR("mvr"), - - @SerializedName("mwk") - MWK("mwk"), - - @SerializedName("mxn") - MXN("mxn"), - - @SerializedName("mxv") - MXV("mxv"), - - @SerializedName("myr") - MYR("myr"), - - @SerializedName("mzn") - MZN("mzn"), - - @SerializedName("nad") - NAD("nad"), - - @SerializedName("ngn") - NGN("ngn"), - - @SerializedName("nio") - NIO("nio"), - - @SerializedName("nok") - NOK("nok"), - - @SerializedName("npr") - NPR("npr"), - - @SerializedName("nzd") - NZD("nzd"), - - @SerializedName("omr") - OMR("omr"), - - @SerializedName("pab") - PAB("pab"), - - @SerializedName("pen") - PEN("pen"), - - @SerializedName("pgk") - PGK("pgk"), - - @SerializedName("php") - PHP("php"), - - @SerializedName("pkr") - PKR("pkr"), - - @SerializedName("pln") - PLN("pln"), - - @SerializedName("pyg") - PYG("pyg"), - - @SerializedName("qar") - QAR("qar"), - - @SerializedName("ron") - RON("ron"), - - @SerializedName("rsd") - RSD("rsd"), - - @SerializedName("rub") - RUB("rub"), - - @SerializedName("rwf") - RWF("rwf"), - - @SerializedName("sar") - SAR("sar"), - - @SerializedName("sbd") - SBD("sbd"), - - @SerializedName("scr") - SCR("scr"), - - @SerializedName("sdg") - SDG("sdg"), - - @SerializedName("sek") - SEK("sek"), - - @SerializedName("sgd") - SGD("sgd"), - - @SerializedName("shp") - SHP("shp"), - - @SerializedName("sle") - SLE("sle"), - - @SerializedName("sll") - SLL("sll"), - - @SerializedName("sos") - SOS("sos"), - - @SerializedName("srd") - SRD("srd"), - - @SerializedName("ssp") - SSP("ssp"), - - @SerializedName("std") - STD("std"), - - @SerializedName("stn") - STN("stn"), - - @SerializedName("svc") - SVC("svc"), - - @SerializedName("syp") - SYP("syp"), - - @SerializedName("szl") - SZL("szl"), - - @SerializedName("thb") - THB("thb"), - - @SerializedName("tjs") - TJS("tjs"), - - @SerializedName("tmt") - TMT("tmt"), - - @SerializedName("tnd") - TND("tnd"), - - @SerializedName("top") - TOP("top"), - - @SerializedName("try") - TRY("try"), - - @SerializedName("ttd") - TTD("ttd"), - - @SerializedName("twd") - TWD("twd"), - - @SerializedName("tzs") - TZS("tzs"), - - @SerializedName("uah") - UAH("uah"), - - @SerializedName("ugx") - UGX("ugx"), - - @SerializedName("usd") - USD("usd"), - - @SerializedName("usdb") - USDB("usdb"), - - @SerializedName("usdc") - USDC("usdc"), - - @SerializedName("usn") - USN("usn"), - - @SerializedName("uyi") - UYI("uyi"), - - @SerializedName("uyu") - UYU("uyu"), - - @SerializedName("uzs") - UZS("uzs"), - - @SerializedName("vef") - VEF("vef"), - - @SerializedName("ves") - VES("ves"), - - @SerializedName("vnd") - VND("vnd"), - - @SerializedName("vuv") - VUV("vuv"), - - @SerializedName("wst") - WST("wst"), - - @SerializedName("xaf") - XAF("xaf"), - - @SerializedName("xcd") - XCD("xcd"), - - @SerializedName("xcg") - XCG("xcg"), - - @SerializedName("xof") - XOF("xof"), - - @SerializedName("xpf") - XPF("xpf"), - - @SerializedName("yer") - YER("yer"), - - @SerializedName("zar") - ZAR("zar"), - - @SerializedName("zmk") - ZMK("zmk"), - - @SerializedName("zmw") - ZMW("zmw"), - - @SerializedName("zwd") - ZWD("zwd"), - - @SerializedName("zwg") - ZWG("zwg"), - - @SerializedName("zwl") - ZWL("zwl"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Currency(String value) { - this.value = value; - } - } - - public enum Locale implements ApiRequestParams.EnumParam { - @SerializedName("ar-SA") - AR_SA("ar-SA"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bg-BG") - BG_BG("bg-BG"), - - @SerializedName("cs") - CS("cs"), - - @SerializedName("cs-CZ") - CS_CZ("cs-CZ"), - - @SerializedName("da") - DA("da"), - - @SerializedName("da-DK") - DA_DK("da-DK"), - - @SerializedName("de") - DE("de"), - - @SerializedName("de-DE") - DE_DE("de-DE"), - - @SerializedName("el") - EL("el"), - - @SerializedName("el-GR") - EL_GR("el-GR"), - - @SerializedName("en") - EN("en"), - - @SerializedName("en-AU") - EN_AU("en-AU"), - - @SerializedName("en-CA") - EN_CA("en-CA"), - - @SerializedName("en-GB") - EN_GB("en-GB"), - - @SerializedName("en-IE") - EN_IE("en-IE"), - - @SerializedName("en-IN") - EN_IN("en-IN"), - - @SerializedName("en-NZ") - EN_NZ("en-NZ"), - - @SerializedName("en-SG") - EN_SG("en-SG"), - - @SerializedName("en-US") - EN_US("en-US"), - - @SerializedName("es") - ES("es"), - - @SerializedName("es-419") - ES_419("es-419"), - - @SerializedName("es-ES") - ES_ES("es-ES"), - - @SerializedName("et") - ET("et"), - - @SerializedName("et-EE") - ET_EE("et-EE"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fil") - FIL("fil"), - - @SerializedName("fil-PH") - FIL_PH("fil-PH"), - - @SerializedName("fi-FI") - FI_FI("fi-FI"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("fr-CA") - FR_CA("fr-CA"), - - @SerializedName("fr-FR") - FR_FR("fr-FR"), - - @SerializedName("he-IL") - HE_IL("he-IL"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("hr-HR") - HR_HR("hr-HR"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("hu-HU") - HU_HU("hu-HU"), - - @SerializedName("id") - ID("id"), - - @SerializedName("id-ID") - ID_ID("id-ID"), - - @SerializedName("it") - IT("it"), - - @SerializedName("it-IT") - IT_IT("it-IT"), - - @SerializedName("ja") - JA("ja"), - - @SerializedName("ja-JP") - JA_JP("ja-JP"), - - @SerializedName("ko") - KO("ko"), - - @SerializedName("ko-KR") - KO_KR("ko-KR"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lt-LT") - LT_LT("lt-LT"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("lv-LV") - LV_LV("lv-LV"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("ms-MY") - MS_MY("ms-MY"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mt-MT") - MT_MT("mt-MT"), - - @SerializedName("nb") - NB("nb"), - - @SerializedName("nb-NO") - NB_NO("nb-NO"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("nl-NL") - NL_NL("nl-NL"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pl-PL") - PL_PL("pl-PL"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pt-BR") - PT_BR("pt-BR"), - - @SerializedName("pt-PT") - PT_PT("pt-PT"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("ro-RO") - RO_RO("ro-RO"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("ru-RU") - RU_RU("ru-RU"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sk-SK") - SK_SK("sk-SK"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sl-SI") - SL_SI("sl-SI"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sv-SE") - SV_SE("sv-SE"), - - @SerializedName("th") - TH("th"), - - @SerializedName("th-TH") - TH_TH("th-TH"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tr-TR") - TR_TR("tr-TR"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vi-VN") - VI_VN("vi-VN"), - - @SerializedName("zh") - ZH("zh"), - - @SerializedName("zh-Hans") - ZH_HANS("zh-Hans"), - - @SerializedName("zh-Hant-HK") - ZH_HANT_HK("zh-Hant-HK"), - - @SerializedName("zh-Hant-TW") - ZH_HANT_TW("zh-Hant-TW"), - - @SerializedName("zh-HK") - ZH_HK("zh-HK"), - - @SerializedName("zh-TW") - ZH_TW("zh-TW"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Locale(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Identity { - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - @SerializedName("attestations") - Attestations attestations; - - /** Information about the company or business. */ - @SerializedName("business_details") - BusinessDetails businessDetails; - - /** - * The country in which the account holder resides, or in which the business is legally - * established. This should be an ISO - * 3166-1 alpha-2 country code. - */ - @SerializedName("country") - Country country; - - /** The entity type. */ - @SerializedName("entity_type") - EntityType entityType; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Information about the person represented by the account. */ - @SerializedName("individual") - Individual individual; - - private Identity( - Attestations attestations, - BusinessDetails businessDetails, - Country country, - EntityType entityType, - Map extraParams, - Individual individual) { - this.attestations = attestations; - this.businessDetails = businessDetails; - this.country = country; - this.entityType = entityType; - this.extraParams = extraParams; - this.individual = individual; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Attestations attestations; - - private BusinessDetails businessDetails; - - private Country country; - - private EntityType entityType; - - private Map extraParams; - - private Individual individual; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity build() { - return new AccountCreateParams.Identity( - this.attestations, - this.businessDetails, - this.country, - this.entityType, - this.extraParams, - this.individual); - } - - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - public Builder setAttestations(AccountCreateParams.Identity.Attestations attestations) { - this.attestations = attestations; - return this; - } - - /** Information about the company or business. */ - public Builder setBusinessDetails( - AccountCreateParams.Identity.BusinessDetails businessDetails) { - this.businessDetails = businessDetails; - 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. - */ - public Builder setCountry(AccountCreateParams.Identity.Country country) { - this.country = country; - return this; - } - - /** The entity type. */ - public Builder setEntityType(AccountCreateParams.Identity.EntityType entityType) { - this.entityType = entityType; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountCreateParams.Identity#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link AccountCreateParams.Identity#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Information about the person represented by the account. */ - public Builder setIndividual(AccountCreateParams.Identity.Individual individual) { - this.individual = individual; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Attestations { - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - @SerializedName("directorship_declaration") - DirectorshipDeclaration directorshipDeclaration; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - @SerializedName("ownership_declaration") - OwnershipDeclaration ownershipDeclaration; - - /** Attestation that all Persons with a specific Relationship value have been provided. */ - @SerializedName("persons_provided") - PersonsProvided personsProvided; - - /** Attestations of accepted terms of service agreements. */ - @SerializedName("terms_of_service") - TermsOfService termsOfService; - - private Attestations( - DirectorshipDeclaration directorshipDeclaration, - Map extraParams, - OwnershipDeclaration ownershipDeclaration, - PersonsProvided personsProvided, - TermsOfService termsOfService) { - this.directorshipDeclaration = directorshipDeclaration; - this.extraParams = extraParams; - this.ownershipDeclaration = ownershipDeclaration; - this.personsProvided = personsProvided; - this.termsOfService = termsOfService; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private DirectorshipDeclaration directorshipDeclaration; - - private Map extraParams; - - private OwnershipDeclaration ownershipDeclaration; - - private PersonsProvided personsProvided; - - private TermsOfService termsOfService; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations build() { - return new AccountCreateParams.Identity.Attestations( - this.directorshipDeclaration, - this.extraParams, - this.ownershipDeclaration, - this.personsProvided, - this.termsOfService); - } - - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - public Builder setDirectorshipDeclaration( - AccountCreateParams.Identity.Attestations.DirectorshipDeclaration - directorshipDeclaration) { - this.directorshipDeclaration = directorshipDeclaration; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - public Builder setOwnershipDeclaration( - AccountCreateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { - this.ownershipDeclaration = ownershipDeclaration; - return this; - } - - /** Attestation that all Persons with a specific Relationship value have been provided. */ - public Builder setPersonsProvided( - AccountCreateParams.Identity.Attestations.PersonsProvided personsProvided) { - this.personsProvided = personsProvided; - return this; - } - - /** Attestations of accepted terms of service agreements. */ - public Builder setTermsOfService( - AccountCreateParams.Identity.Attestations.TermsOfService termsOfService) { - this.termsOfService = termsOfService; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DirectorshipDeclaration { - /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The IP address from which the director attestation was made. */ - @SerializedName("ip") - String ip; - - /** The user agent of the browser from which the director attestation was made. */ - @SerializedName("user_agent") - String userAgent; - - private DirectorshipDeclaration( - Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private String ip; - - private String userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.DirectorshipDeclaration build() { - return new AccountCreateParams.Identity.Attestations.DirectorshipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** The IP address from which the director attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OwnershipDeclaration { - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The IP address from which the beneficial owner attestation was made. */ - @SerializedName("ip") - String ip; - - /** The user agent of the browser from which the beneficial owner attestation was made. */ - @SerializedName("user_agent") - String userAgent; - - private OwnershipDeclaration( - Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private String ip; - - private String userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.OwnershipDeclaration build() { - return new AccountCreateParams.Identity.Attestations.OwnershipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** 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 - @EqualsAndHashCode(callSuper = false) - public static class PersonsProvided { - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - @SerializedName("directors") - Boolean directors; - - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - @SerializedName("executives") - Boolean executives; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Whether the company’s owners have been provided. Set this Boolean to true after creating - * all the company’s owners with the Persons API. - */ - @SerializedName("owners") - Boolean owners; - - /** Reason for why the company is exempt from providing ownership information. */ - @SerializedName("ownership_exemption_reason") - OwnershipExemptionReason ownershipExemptionReason; - - private PersonsProvided( - Boolean directors, - Boolean executives, - Map extraParams, - Boolean owners, - OwnershipExemptionReason ownershipExemptionReason) { - this.directors = directors; - this.executives = executives; - this.extraParams = extraParams; - this.owners = owners; - this.ownershipExemptionReason = ownershipExemptionReason; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean directors; - - private Boolean executives; - - private Map extraParams; - - private Boolean owners; - - private OwnershipExemptionReason ownershipExemptionReason; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.PersonsProvided build() { - return new AccountCreateParams.Identity.Attestations.PersonsProvided( - this.directors, - this.executives, - this.extraParams, - this.owners, - this.ownershipExemptionReason); - } - - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - public Builder setDirectors(Boolean directors) { - this.directors = directors; - return this; - } - - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - public Builder setExecutives(Boolean executives) { - this.executives = executives; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Whether the company’s owners have been provided. Set this Boolean to true after - * creating all the company’s owners with the Persons API. - */ - public Builder setOwners(Boolean owners) { - this.owners = owners; - return this; - } - - /** Reason for why the company is exempt from providing ownership information. */ - public Builder setOwnershipExemptionReason( - AccountCreateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason - ownershipExemptionReason) { - this.ownershipExemptionReason = ownershipExemptionReason; - return this; - } - } - - public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { - @SerializedName("qualified_entity_exceeds_ownership_threshold") - QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( - "qualified_entity_exceeds_ownership_threshold"), - - @SerializedName("qualifies_as_financial_institution") - QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - OwnershipExemptionReason(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TermsOfService { - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - @SerializedName("account") - Account account; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; - - private TermsOfService(Account account, Map extraParams, Storer storer) { - this.account = account; - this.extraParams = extraParams; - this.storer = storer; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Account account; - - private Map extraParams; - - private Storer storer; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService( - this.account, this.extraParams, this.storer); - } - - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - public Builder setAccount( - AccountCreateParams.Identity.Attestations.TermsOfService.Account account) { - this.account = account; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - public Builder setStorer( - AccountCreateParams.Identity.Attestations.TermsOfService.Storer storer) { - this.storer = storer; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Account { - /** - * Required. The time when the Account's representative accepted the - * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond - * precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - @SerializedName("ip") - String ip; - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - String userAgent; - - private Account( - Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private String ip; - - private String userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.Account build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.Account( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * Required. The time when the Account's representative accepted the - * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond - * precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** - * Required. The time when the Account's representative accepted the - * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond - * precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - @SerializedName("ip") - String ip; - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - String userAgent; - - private Storer( - Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private String ip; - - private String userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.Storer build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.Storer( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * Required. The time when the Account's representative accepted the - * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond - * precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BusinessDetails { - /** The business registration address of the business entity. */ - @SerializedName("address") - Address address; - - /** The business gross annual revenue for its preceding fiscal year. */ - @SerializedName("annual_revenue") - AnnualRevenue annualRevenue; - - /** A document verifying the business. */ - @SerializedName("documents") - Documents documents; - - /** The name which is used by the business. */ - @SerializedName("doing_business_as") - String doingBusinessAs; - - /** - * An estimated upper bound of employees, contractors, vendors, etc. currently working for the - * business. - */ - @SerializedName("estimated_worker_count") - Integer estimatedWorkerCount; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 ID numbers of a business entity. */ - @SerializedName("id_numbers") - List idNumbers; - - /** An estimate of the monthly revenue of the business. */ - @SerializedName("monthly_estimated_revenue") - MonthlyEstimatedRevenue monthlyEstimatedRevenue; - - /** The phone number of the Business Entity. */ - @SerializedName("phone") - String phone; - - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - @SerializedName("product_description") - String productDescription; - - /** The business legal name. */ - @SerializedName("registered_name") - String registeredName; - - /** The business registration address of the business entity in non latin script. */ - @SerializedName("script_addresses") - ScriptAddresses scriptAddresses; - - /** The business legal name in non latin script. */ - @SerializedName("script_names") - ScriptNames scriptNames; - - /** The category identifying the legal structure of the business. */ - @SerializedName("structure") - Structure structure; - - /** The business's publicly available website. */ - @SerializedName("url") - String url; - - private BusinessDetails( - Address address, - AnnualRevenue annualRevenue, - Documents documents, - String doingBusinessAs, - Integer estimatedWorkerCount, - Map extraParams, - List idNumbers, - MonthlyEstimatedRevenue monthlyEstimatedRevenue, - String phone, - String productDescription, - String registeredName, - ScriptAddresses scriptAddresses, - ScriptNames scriptNames, - Structure structure, - String url) { - this.address = address; - this.annualRevenue = annualRevenue; - this.documents = documents; - this.doingBusinessAs = doingBusinessAs; - this.estimatedWorkerCount = estimatedWorkerCount; - this.extraParams = extraParams; - this.idNumbers = idNumbers; - this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; - this.phone = phone; - this.productDescription = productDescription; - this.registeredName = registeredName; - this.scriptAddresses = scriptAddresses; - this.scriptNames = scriptNames; - this.structure = structure; - this.url = url; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Address address; - - private AnnualRevenue annualRevenue; - - private Documents documents; - - private String doingBusinessAs; - - private Integer estimatedWorkerCount; - - private Map extraParams; - - private List idNumbers; - - private MonthlyEstimatedRevenue monthlyEstimatedRevenue; - - private String phone; - - private String productDescription; - - private String registeredName; - - private ScriptAddresses scriptAddresses; - - private ScriptNames scriptNames; - - private Structure structure; - - private String url; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails build() { - return new AccountCreateParams.Identity.BusinessDetails( - this.address, - this.annualRevenue, - this.documents, - this.doingBusinessAs, - this.estimatedWorkerCount, - this.extraParams, - this.idNumbers, - this.monthlyEstimatedRevenue, - this.phone, - this.productDescription, - this.registeredName, - this.scriptAddresses, - this.scriptNames, - this.structure, - this.url); - } - - /** The business registration address of the business entity. */ - public Builder setAddress(AccountCreateParams.Identity.BusinessDetails.Address address) { - this.address = address; - return this; - } - - /** The business gross annual revenue for its preceding fiscal year. */ - public Builder setAnnualRevenue( - AccountCreateParams.Identity.BusinessDetails.AnnualRevenue annualRevenue) { - this.annualRevenue = annualRevenue; - return this; - } - - /** A document verifying the business. */ - public Builder setDocuments( - AccountCreateParams.Identity.BusinessDetails.Documents documents) { - this.documents = documents; - return this; - } - - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(String doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } - - /** - * An estimated upper bound of employees, contractors, vendors, etc. currently working for - * the business. - */ - public Builder setEstimatedWorkerCount(Integer estimatedWorkerCount) { - this.estimatedWorkerCount = estimatedWorkerCount; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails#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 `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Identity.BusinessDetails#idNumbers} for the field documentation. - */ - public Builder addIdNumber(AccountCreateParams.Identity.BusinessDetails.IdNumber element) { - if (this.idNumbers == null) { - this.idNumbers = new ArrayList<>(); - } - this.idNumbers.add(element); - return this; - } - - /** - * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Identity.BusinessDetails#idNumbers} for the field documentation. - */ - public Builder addAllIdNumber( - List elements) { - if (this.idNumbers == null) { - this.idNumbers = new ArrayList<>(); - } - this.idNumbers.addAll(elements); - return this; - } - - /** An estimate of the monthly revenue of the business. */ - public Builder setMonthlyEstimatedRevenue( - AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue - monthlyEstimatedRevenue) { - this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; - return this; - } - - /** The phone number of the Business Entity. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } - - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - public Builder setProductDescription(String productDescription) { - this.productDescription = productDescription; - return this; - } - - /** The business legal name. */ - public Builder setRegisteredName(String registeredName) { - this.registeredName = registeredName; - return this; - } - - /** The business registration address of the business entity in non latin script. */ - public Builder setScriptAddresses( - AccountCreateParams.Identity.BusinessDetails.ScriptAddresses scriptAddresses) { - this.scriptAddresses = scriptAddresses; - return this; - } - - /** The business legal name in non latin script. */ - public Builder setScriptNames( - AccountCreateParams.Identity.BusinessDetails.ScriptNames scriptNames) { - this.scriptNames = scriptNames; - return this; - } - - /** The category identifying the legal structure of the business. */ - public Builder setStructure( - AccountCreateParams.Identity.BusinessDetails.Structure structure) { - this.structure = structure; - return this; - } - - /** The business's publicly available website. */ - public Builder setUrl(String url) { - this.url = url; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country 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; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private Address( - String city, - Country 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 Country 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.Identity.BusinessDetails.Address build() { - return new AccountCreateParams.Identity.BusinessDetails.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Identity.BusinessDetails.Address.Country 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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AnnualRevenue { - /** A non-negative integer representing the amount in the smallest currency unit. */ - @SerializedName("amount") - Amount amount; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for - * the 31st of December, 2023. - */ - @SerializedName("fiscal_year_end") - String fiscalYearEnd; - - private AnnualRevenue( - Amount amount, Map extraParams, String fiscalYearEnd) { - this.amount = amount; - this.extraParams = extraParams; - this.fiscalYearEnd = fiscalYearEnd; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Amount amount; - - private Map extraParams; - - private String fiscalYearEnd; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.AnnualRevenue build() { - return new AccountCreateParams.Identity.BusinessDetails.AnnualRevenue( - this.amount, this.extraParams, this.fiscalYearEnd); - } - - /** A non-negative integer representing the amount in the smallest currency unit. */ - public Builder setAmount(Amount amount) { - this.amount = amount; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails.AnnualRevenue#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails.AnnualRevenue#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 close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for - * the 31st of December, 2023. - */ - public Builder setFiscalYearEnd(String fiscalYearEnd) { - this.fiscalYearEnd = fiscalYearEnd; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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 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; - - /** A document verifying the business. */ - @SerializedName("primary_verification") - PrimaryVerification primaryVerification; - - /** One or more documents that demonstrate proof of address. */ - @SerializedName("proof_of_address") - ProofOfAddress proofOfAddress; - - /** - * One or more documents showing the company’s proof of registration with the national - * business registry. - */ - @SerializedName("proof_of_registration") - ProofOfRegistration proofOfRegistration; - - /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ - @SerializedName("proof_of_ultimate_beneficial_ownership") - ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; - - private Documents( - BankAccountOwnershipVerification bankAccountOwnershipVerification, - CompanyLicense companyLicense, - CompanyMemorandumOfAssociation companyMemorandumOfAssociation, - CompanyMinisterialDecree companyMinisterialDecree, - CompanyRegistrationVerification companyRegistrationVerification, - CompanyTaxIdVerification companyTaxIdVerification, - Map extraParams, - PrimaryVerification primaryVerification, - ProofOfAddress proofOfAddress, - ProofOfRegistration proofOfRegistration, - ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership) { - this.bankAccountOwnershipVerification = bankAccountOwnershipVerification; - this.companyLicense = companyLicense; - this.companyMemorandumOfAssociation = companyMemorandumOfAssociation; - this.companyMinisterialDecree = companyMinisterialDecree; - this.companyRegistrationVerification = companyRegistrationVerification; - this.companyTaxIdVerification = companyTaxIdVerification; - this.extraParams = extraParams; - this.primaryVerification = primaryVerification; - this.proofOfAddress = proofOfAddress; - this.proofOfRegistration = proofOfRegistration; - this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; - } - - 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 PrimaryVerification primaryVerification; - - private ProofOfAddress proofOfAddress; - - private ProofOfRegistration proofOfRegistration; - - private ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents( - this.bankAccountOwnershipVerification, - this.companyLicense, - this.companyMemorandumOfAssociation, - this.companyMinisterialDecree, - this.companyRegistrationVerification, - this.companyTaxIdVerification, - this.extraParams, - this.primaryVerification, - this.proofOfAddress, - this.proofOfRegistration, - this.proofOfUltimateBeneficialOwnership); - } - - /** - * 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 check. - */ - public Builder setBankAccountOwnershipVerification( - AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.Documents.CompanyLicense - companyLicense) { - this.companyLicense = companyLicense; - return this; - } - - /** One or more documents showing the company’s Memorandum of Association. */ - public Builder setCompanyMemorandumOfAssociation( - AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** A document verifying the business. */ - public Builder setPrimaryVerification( - AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification - primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** One or more documents that demonstrate proof of address. */ - public Builder setProofOfAddress( - AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress - proofOfAddress) { - this.proofOfAddress = proofOfAddress; - return this; - } - - /** - * One or more documents showing the company’s proof of registration with the national - * business registry. - */ - public Builder setProofOfRegistration( - AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration - proofOfRegistration) { - this.proofOfRegistration = proofOfRegistration; - return this; - } - - /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ - public Builder setProofOfUltimateBeneficialOwnership( - AccountCreateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership - proofOfUltimateBeneficialOwnership) { - this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private BankAccountOwnershipVerification( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents - .BankAccountOwnershipVerification - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents - .BankAccountOwnershipVerification(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents - .BankAccountOwnershipVerification.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyLicense(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents.CompanyLicense build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents.CompanyLicense( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents.CompanyLicense.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyMemorandumOfAssociation( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyMemorandumOfAssociation - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyMemorandumOfAssociation(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyMemorandumOfAssociation.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyMinisterialDecree( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyMinisterialDecree(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyRegistrationVerification( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyRegistrationVerification - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyRegistrationVerification(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyRegistrationVerification.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyTaxIdVerification( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents - .CompanyTaxIdVerification(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PrimaryVerification { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - @SerializedName("type") - Type type; - - private PrimaryVerification( - Map extraParams, FrontBack frontBack, Type type) { - this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FrontBack frontBack; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification( - this.extraParams, this.frontBack, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack - frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently - * supports {@code front_back} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification.Type - type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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; - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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 FrontBack(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.Identity.BusinessDetails.Documents.PrimaryVerification - .FrontBack - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents - .PrimaryVerification.FrontBack(this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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 Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ProofOfAddress { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private ProofOfAddress(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress#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.Identity.BusinessDetails.Documents.ProofOfAddress#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.Identity.BusinessDetails.Documents.ProofOfAddress#files} for the - * field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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 extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private ProofOfRegistration( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#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.Identity.BusinessDetails.Documents.ProofOfRegistration#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.Identity.BusinessDetails.Documents.ProofOfRegistration#files} for - * the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ProofOfUltimateBeneficialOwnership { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private ProofOfUltimateBeneficialOwnership( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership - build() { - return new AccountCreateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#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.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#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.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#files} - * for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class IdNumber { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 registrar of the ID number (Only valid for DE ID number types). */ - @SerializedName("registrar") - String registrar; - - /** Required. Open Enum. The ID number type of a business entity. */ - @SerializedName("type") - Type type; - - /** Required. The value of the ID number. */ - @SerializedName("value") - String value; - - private IdNumber( - Map extraParams, String registrar, Type type, String value) { - this.extraParams = extraParams; - this.registrar = registrar; - this.type = type; - this.value = value; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private String registrar; - - private Type type; - - private String value; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.IdNumber build() { - return new AccountCreateParams.Identity.BusinessDetails.IdNumber( - this.extraParams, this.registrar, this.type, this.value); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails.IdNumber#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails.IdNumber#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 registrar of the ID number (Only valid for DE ID number types). */ - public Builder setRegistrar(String registrar) { - this.registrar = registrar; - return this; - } - - /** Required. Open Enum. The ID number type of a business entity. */ - public Builder setType(AccountCreateParams.Identity.BusinessDetails.IdNumber.Type type) { - this.type = type; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(String value) { - this.value = value; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ae_crn") - AE_CRN("ae_crn"), - - @SerializedName("ae_vat") - AE_VAT("ae_vat"), - - @SerializedName("ao_nif") - AO_NIF("ao_nif"), - - @SerializedName("at_fn") - AT_FN("at_fn"), - - @SerializedName("au_abn") - AU_ABN("au_abn"), - - @SerializedName("au_acn") - AU_ACN("au_acn"), - - @SerializedName("au_in") - AU_IN("au_in"), - - @SerializedName("az_tin") - AZ_TIN("az_tin"), - - @SerializedName("bd_etin") - BD_ETIN("bd_etin"), - - @SerializedName("be_cbe") - BE_CBE("be_cbe"), - - @SerializedName("bg_uic") - BG_UIC("bg_uic"), - - @SerializedName("br_cnpj") - BR_CNPJ("br_cnpj"), - - @SerializedName("ca_cn") - CA_CN("ca_cn"), - - @SerializedName("ca_crarr") - CA_CRARR("ca_crarr"), - - @SerializedName("ca_neq") - CA_NEQ("ca_neq"), - - @SerializedName("ca_rid") - CA_RID("ca_rid"), - - @SerializedName("ch_chid") - CH_CHID("ch_chid"), - - @SerializedName("ch_uid") - CH_UID("ch_uid"), - - @SerializedName("cr_cpj") - CR_CPJ("cr_cpj"), - - @SerializedName("cr_nite") - CR_NITE("cr_nite"), - - @SerializedName("cy_tic") - CY_TIC("cy_tic"), - - @SerializedName("cz_ico") - CZ_ICO("cz_ico"), - - @SerializedName("de_hrn") - DE_HRN("de_hrn"), - - @SerializedName("de_vat") - DE_VAT("de_vat"), - - @SerializedName("dk_cvr") - DK_CVR("dk_cvr"), - - @SerializedName("do_rcn") - DO_RCN("do_rcn"), - - @SerializedName("ee_rk") - EE_RK("ee_rk"), - - @SerializedName("es_cif") - ES_CIF("es_cif"), - - @SerializedName("fi_yt") - FI_YT("fi_yt"), - - @SerializedName("fr_siren") - FR_SIREN("fr_siren"), - - @SerializedName("fr_vat") - FR_VAT("fr_vat"), - - @SerializedName("gb_crn") - GB_CRN("gb_crn"), - - @SerializedName("gi_crn") - GI_CRN("gi_crn"), - - @SerializedName("gr_gemi") - GR_GEMI("gr_gemi"), - - @SerializedName("gt_nit") - GT_NIT("gt_nit"), - - @SerializedName("hk_br") - HK_BR("hk_br"), - - @SerializedName("hk_cr") - HK_CR("hk_cr"), - - @SerializedName("hk_mbs") - HK_MBS("hk_mbs"), - - @SerializedName("hu_cjs") - HU_CJS("hu_cjs"), - - @SerializedName("ie_crn") - IE_CRN("ie_crn"), - - @SerializedName("it_rea") - IT_REA("it_rea"), - - @SerializedName("it_vat") - IT_VAT("it_vat"), - - @SerializedName("jp_cn") - JP_CN("jp_cn"), - - @SerializedName("kz_bin") - KZ_BIN("kz_bin"), - - @SerializedName("li_uid") - LI_UID("li_uid"), - - @SerializedName("lt_ccrn") - LT_CCRN("lt_ccrn"), - - @SerializedName("lu_rcs") - LU_RCS("lu_rcs"), - - @SerializedName("lv_urn") - LV_URN("lv_urn"), - - @SerializedName("mt_crn") - MT_CRN("mt_crn"), - - @SerializedName("mx_rfc") - MX_RFC("mx_rfc"), - - @SerializedName("my_brn") - MY_BRN("my_brn"), - - @SerializedName("my_coid") - MY_COID("my_coid"), - - @SerializedName("my_sst") - MY_SST("my_sst"), - - @SerializedName("mz_nuit") - MZ_NUIT("mz_nuit"), - - @SerializedName("nl_kvk") - NL_KVK("nl_kvk"), - - @SerializedName("no_orgnr") - NO_ORGNR("no_orgnr"), - - @SerializedName("nz_bn") - NZ_BN("nz_bn"), - - @SerializedName("pe_ruc") - PE_RUC("pe_ruc"), - - @SerializedName("pk_ntn") - PK_NTN("pk_ntn"), - - @SerializedName("pl_regon") - PL_REGON("pl_regon"), - - @SerializedName("pt_vat") - PT_VAT("pt_vat"), - - @SerializedName("ro_cui") - RO_CUI("ro_cui"), - - @SerializedName("sa_crn") - SA_CRN("sa_crn"), - - @SerializedName("sa_tin") - SA_TIN("sa_tin"), - - @SerializedName("se_orgnr") - SE_ORGNR("se_orgnr"), - - @SerializedName("sg_uen") - SG_UEN("sg_uen"), - - @SerializedName("si_msp") - SI_MSP("si_msp"), - - @SerializedName("sk_ico") - SK_ICO("sk_ico"), - - @SerializedName("th_crn") - TH_CRN("th_crn"), - - @SerializedName("th_prn") - TH_PRN("th_prn"), - - @SerializedName("th_tin") - TH_TIN("th_tin"), - - @SerializedName("us_ein") - US_EIN("us_ein"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MonthlyEstimatedRevenue { - /** A non-negative integer representing the amount in the smallest currency unit. */ - @SerializedName("amount") - Amount amount; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 MonthlyEstimatedRevenue(Amount amount, Map extraParams) { - this.amount = amount; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Amount amount; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue build() { - return new AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue( - this.amount, this.extraParams); - } - - /** A non-negative integer representing the amount in the smallest currency unit. */ - public Builder setAmount(Amount amount) { - this.amount = amount; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptAddresses { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Kana Address. */ - @SerializedName("kana") - Kana kana; - - /** Kanji Address. */ - @SerializedName("kanji") - Kanji kanji; - - private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Kana kana; - - private Kanji kanji; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.ScriptAddresses build() { - return new AccountCreateParams.Identity.BusinessDetails.ScriptAddresses( - this.extraParams, this.kana, this.kanji); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Kana Address. */ - public Builder setKana( - AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana kana) { - this.kana = kana; - return this; - } - - /** Kanji Address. */ - public Builder setKanji( - AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji kanji) { - this.kanji = kanji; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country 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; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private Kana( - String city, - Country 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 Country 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.Identity.BusinessDetails.ScriptAddresses.Kana build() { - return new AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana.Country 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.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country 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; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private Kanji( - String city, - Country 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 Country 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.Identity.BusinessDetails.ScriptAddresses.Kanji build() { - return new AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji.Country - 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.Identity.BusinessDetails.ScriptAddresses.Kanji#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji#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; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptNames { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Kana name. */ - @SerializedName("kana") - Kana kana; - - /** Kanji name. */ - @SerializedName("kanji") - Kanji kanji; - - private ScriptNames(Map extraParams, Kana kana, Kanji kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Kana kana; - - private Kanji kanji; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.ScriptNames build() { - return new AccountCreateParams.Identity.BusinessDetails.ScriptNames( - this.extraParams, this.kana, this.kanji); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails.ScriptNames#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.BusinessDetails.ScriptNames#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Kana name. */ - public Builder setKana( - AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana kana) { - this.kana = kana; - return this; - } - - /** Kanji name. */ - public Builder setKanji( - AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji kanji) { - this.kanji = kanji; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Registered name of the business. */ - @SerializedName("registered_name") - String registeredName; - - private Kana(Map extraParams, String registeredName) { - this.extraParams = extraParams; - this.registeredName = registeredName; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private String registeredName; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana build() { - return new AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana( - this.extraParams, this.registeredName); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Registered name of the business. */ - public Builder setRegisteredName(String registeredName) { - this.registeredName = registeredName; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Registered name of the business. */ - @SerializedName("registered_name") - String registeredName; - - private Kanji(Map extraParams, String registeredName) { - this.extraParams = extraParams; - this.registeredName = registeredName; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private String registeredName; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji build() { - return new AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji( - this.extraParams, this.registeredName); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Registered name of the business. */ - public Builder setRegisteredName(String registeredName) { - this.registeredName = registeredName; - return this; - } - } - } - } - - public enum Structure implements ApiRequestParams.EnumParam { - @SerializedName("cooperative") - COOPERATIVE("cooperative"), - - @SerializedName("free_zone_establishment") - FREE_ZONE_ESTABLISHMENT("free_zone_establishment"), - - @SerializedName("free_zone_llc") - FREE_ZONE_LLC("free_zone_llc"), - - @SerializedName("governmental_unit") - GOVERNMENTAL_UNIT("governmental_unit"), - - @SerializedName("government_instrumentality") - GOVERNMENT_INSTRUMENTALITY("government_instrumentality"), - - @SerializedName("incorporated_association") - INCORPORATED_ASSOCIATION("incorporated_association"), - - @SerializedName("incorporated_non_profit") - INCORPORATED_NON_PROFIT("incorporated_non_profit"), - - @SerializedName("incorporated_partnership") - INCORPORATED_PARTNERSHIP("incorporated_partnership"), - - @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_listed_corporation") - PUBLIC_LISTED_CORPORATION("public_listed_corporation"), - - @SerializedName("public_partnership") - PUBLIC_PARTNERSHIP("public_partnership"), - - @SerializedName("registered_charity") - REGISTERED_CHARITY("registered_charity"), - - @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("trust") - TRUST("trust"), - - @SerializedName("unincorporated_association") - UNINCORPORATED_ASSOCIATION("unincorporated_association"), - - @SerializedName("unincorporated_non_profit") - UNINCORPORATED_NON_PROFIT("unincorporated_non_profit"), - - @SerializedName("unincorporated_partnership") - UNINCORPORATED_PARTNERSHIP("unincorporated_partnership"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Structure(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Individual { - /** Additional addresses associated with the individual. */ - @SerializedName("additional_addresses") - List additionalAddresses; - - /** Additional names (e.g. aliases) associated with the individual. */ - @SerializedName("additional_names") - List additionalNames; - - /** The individual's residential address. */ - @SerializedName("address") - Address address; - - /** The individual's date of birth. */ - @SerializedName("date_of_birth") - DateOfBirth dateOfBirth; - - /** Documents that may be submitted to satisfy various informational requests. */ - @SerializedName("documents") - Documents documents; - - /** The individual's email address. */ - @SerializedName("email") - String email; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The individual's first name. */ - @SerializedName("given_name") - String givenName; - - /** The identification numbers (e.g., SSN) associated with the individual. */ - @SerializedName("id_numbers") - List idNumbers; - - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ - @SerializedName("legal_gender") - LegalGender legalGender; - - /** - * Set of key-value pairs that you can attach to an object. This can be useful for storing - * additional information about the object in a structured format. - */ - @SerializedName("metadata") - Map metadata; - - /** - * The countries where the individual is a national. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("nationalities") - List nationalities; - - /** The individual's phone number. */ - @SerializedName("phone") - String phone; - - /** The individual's political exposure. */ - @SerializedName("political_exposure") - PoliticalExposure politicalExposure; - - /** The relationship that this individual has with the account's identity. */ - @SerializedName("relationship") - Relationship relationship; - - /** The script addresses (e.g., non-Latin characters) associated with the individual. */ - @SerializedName("script_addresses") - ScriptAddresses scriptAddresses; - - /** The individuals primary name in non latin script. */ - @SerializedName("script_names") - ScriptNames scriptNames; - - /** The individual's last name. */ - @SerializedName("surname") - String surname; - - private Individual( - List additionalAddresses, - List additionalNames, - Address address, - DateOfBirth dateOfBirth, - Documents documents, - String email, - Map extraParams, - String givenName, - List idNumbers, - LegalGender legalGender, - Map metadata, - List nationalities, - String phone, - PoliticalExposure politicalExposure, - Relationship relationship, - ScriptAddresses scriptAddresses, - ScriptNames scriptNames, - String surname) { - this.additionalAddresses = additionalAddresses; - this.additionalNames = additionalNames; - this.address = address; - this.dateOfBirth = dateOfBirth; - this.documents = documents; - this.email = email; - this.extraParams = extraParams; - this.givenName = givenName; - this.idNumbers = idNumbers; - this.legalGender = legalGender; - this.metadata = metadata; - this.nationalities = nationalities; - this.phone = phone; - this.politicalExposure = politicalExposure; - this.relationship = relationship; - this.scriptAddresses = scriptAddresses; - this.scriptNames = scriptNames; - this.surname = surname; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List additionalAddresses; - - private List additionalNames; - - private Address address; - - private DateOfBirth dateOfBirth; - - private Documents documents; - - private String email; - - private Map extraParams; - - private String givenName; - - private List idNumbers; - - private LegalGender legalGender; - - private Map metadata; - - private List nationalities; - - private String phone; - - private PoliticalExposure politicalExposure; - - private Relationship relationship; - - private ScriptAddresses scriptAddresses; - - private ScriptNames scriptNames; - - private String surname; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual build() { - return new AccountCreateParams.Identity.Individual( - this.additionalAddresses, - this.additionalNames, - this.address, - this.dateOfBirth, - this.documents, - this.email, - this.extraParams, - this.givenName, - this.idNumbers, - this.legalGender, - this.metadata, - this.nationalities, - this.phone, - this.politicalExposure, - this.relationship, - this.scriptAddresses, - this.scriptNames, - this.surname); - } - - /** - * Add an element to `additionalAddresses` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Identity.Individual#additionalAddresses} for the field - * documentation. - */ - public Builder addAdditionalAddress( - AccountCreateParams.Identity.Individual.AdditionalAddress element) { - if (this.additionalAddresses == null) { - this.additionalAddresses = new ArrayList<>(); - } - this.additionalAddresses.add(element); - return this; - } - - /** - * Add all elements to `additionalAddresses` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Identity.Individual#additionalAddresses} for the field - * documentation. - */ - public Builder addAllAdditionalAddress( - List elements) { - if (this.additionalAddresses == null) { - this.additionalAddresses = new ArrayList<>(); - } - this.additionalAddresses.addAll(elements); - return this; - } - - /** - * Add an element to `additionalNames` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Identity.Individual#additionalNames} for the field - * documentation. - */ - public Builder addAdditionalName( - AccountCreateParams.Identity.Individual.AdditionalName element) { - if (this.additionalNames == null) { - this.additionalNames = new ArrayList<>(); - } - this.additionalNames.add(element); - return this; - } - - /** - * Add all elements to `additionalNames` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Identity.Individual#additionalNames} for the field - * documentation. - */ - public Builder addAllAdditionalName( - List elements) { - if (this.additionalNames == null) { - this.additionalNames = new ArrayList<>(); - } - this.additionalNames.addAll(elements); - return this; - } - - /** The individual's residential address. */ - public Builder setAddress(AccountCreateParams.Identity.Individual.Address address) { - this.address = address; - return this; - } - - /** The individual's date of birth. */ - public Builder setDateOfBirth( - AccountCreateParams.Identity.Individual.DateOfBirth dateOfBirth) { - this.dateOfBirth = dateOfBirth; - return this; - } - - /** Documents that may be submitted to satisfy various informational requests. */ - public Builder setDocuments(AccountCreateParams.Identity.Individual.Documents documents) { - this.documents = documents; - return this; - } - - /** The individual's email address. */ - public Builder setEmail(String email) { - this.email = email; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual#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 individual's first name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** - * Add an element to `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Identity.Individual#idNumbers} for the field documentation. - */ - public Builder addIdNumber(AccountCreateParams.Identity.Individual.IdNumber element) { - if (this.idNumbers == null) { - this.idNumbers = new ArrayList<>(); - } - this.idNumbers.add(element); - return this; - } - - /** - * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Identity.Individual#idNumbers} for the field documentation. - */ - public Builder addAllIdNumber( - List elements) { - if (this.idNumbers == null) { - this.idNumbers = new ArrayList<>(); - } - this.idNumbers.addAll(elements); - return this; - } - - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ - public Builder setLegalGender( - AccountCreateParams.Identity.Individual.LegalGender legalGender) { - this.legalGender = legalGender; - 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.Identity.Individual#metadata} for the field documentation. - */ - public Builder putMetadata(String key, String value) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `metadata` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual#metadata} for the field - * documentation. - */ - public Builder putAllMetadata(Map map) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.putAll(map); - return this; - } - - /** - * Add an element to `nationalities` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountCreateParams.Identity.Individual#nationalities} for the field documentation. - */ - public Builder addNationality(AccountCreateParams.Identity.Individual.Nationality element) { - if (this.nationalities == null) { - this.nationalities = new ArrayList<>(); - } - this.nationalities.add(element); - return this; - } - - /** - * Add all elements to `nationalities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Identity.Individual#nationalities} for the field - * documentation. - */ - public Builder addAllNationality( - List elements) { - if (this.nationalities == null) { - this.nationalities = new ArrayList<>(); - } - this.nationalities.addAll(elements); - return this; - } - - /** The individual's phone number. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } - - /** The individual's political exposure. */ - public Builder setPoliticalExposure( - AccountCreateParams.Identity.Individual.PoliticalExposure politicalExposure) { - this.politicalExposure = politicalExposure; - return this; - } - - /** The relationship that this individual has with the account's identity. */ - public Builder setRelationship( - AccountCreateParams.Identity.Individual.Relationship relationship) { - this.relationship = relationship; - return this; - } - - /** The script addresses (e.g., non-Latin characters) associated with the individual. */ - public Builder setScriptAddresses( - AccountCreateParams.Identity.Individual.ScriptAddresses scriptAddresses) { - this.scriptAddresses = scriptAddresses; - return this; - } - - /** The individuals primary name in non latin script. */ - public Builder setScriptNames( - AccountCreateParams.Identity.Individual.ScriptNames scriptNames) { - this.scriptNames = scriptNames; - return this; - } - - /** The individual's last name. */ - public Builder setSurname(String surname) { - this.surname = surname; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AdditionalAddress { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country 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; - - /** Required. Purpose of additional address. */ - @SerializedName("purpose") - Purpose purpose; - - /** State, county, province, or region. */ - @SerializedName("state") - String state; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private AdditionalAddress( - String city, - Country country, - Map extraParams, - String line1, - String line2, - String postalCode, - Purpose purpose, - String state, - String town) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.purpose = purpose; - this.state = state; - this.town = town; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private String city; - - private Country country; - - private Map extraParams; - - private String line1; - - private String line2; - - private String postalCode; - - private Purpose purpose; - - private String state; - - private String town; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.AdditionalAddress build() { - return new AccountCreateParams.Identity.Individual.AdditionalAddress( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.purpose, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Identity.Individual.AdditionalAddress.Country 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.Identity.Individual.AdditionalAddress#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.AdditionalAddress#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; - } - - /** Required. Purpose of additional address. */ - public Builder setPurpose( - AccountCreateParams.Identity.Individual.AdditionalAddress.Purpose purpose) { - this.purpose = purpose; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("registered") - REGISTERED("registered"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Purpose(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AdditionalName { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 person's full name. */ - @SerializedName("full_name") - String fullName; - - /** The person's first or given name. */ - @SerializedName("given_name") - String givenName; - - /** Required. The purpose or type of the additional name. */ - @SerializedName("purpose") - Purpose purpose; - - /** The person's last or family name. */ - @SerializedName("surname") - String surname; - - private AdditionalName( - Map extraParams, - String fullName, - String givenName, - Purpose purpose, - String surname) { - this.extraParams = extraParams; - this.fullName = fullName; - this.givenName = givenName; - this.purpose = purpose; - this.surname = surname; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private String fullName; - - private String givenName; - - private Purpose purpose; - - private String surname; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.AdditionalName build() { - return new AccountCreateParams.Identity.Individual.AdditionalName( - this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.AdditionalName#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.AdditionalName#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 person's full name. */ - public Builder setFullName(String fullName) { - this.fullName = fullName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** Required. The purpose or type of the additional name. */ - public Builder setPurpose( - AccountCreateParams.Identity.Individual.AdditionalName.Purpose purpose) { - this.purpose = purpose; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; - return this; - } - } - - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("alias") - ALIAS("alias"), - - @SerializedName("maiden") - MAIDEN("maiden"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Purpose(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country 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; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private Address( - String city, - Country 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 Country 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.Identity.Individual.Address build() { - return new AccountCreateParams.Identity.Individual.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Identity.Individual.Address.Country 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.Identity.Individual.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.Identity.Individual.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; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DateOfBirth { - /** Required. The day of birth. */ - @SerializedName("day") - Integer day; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The month of birth. */ - @SerializedName("month") - Integer month; - - /** Required. The year of birth. */ - @SerializedName("year") - Integer year; - - private DateOfBirth( - Integer day, Map extraParams, Integer month, Integer year) { - this.day = day; - this.extraParams = extraParams; - this.month = month; - this.year = year; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Integer day; - - private Map extraParams; - - private Integer month; - - private Integer year; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.DateOfBirth build() { - return new AccountCreateParams.Identity.Individual.DateOfBirth( - this.day, this.extraParams, this.month, this.year); - } - - /** Required. The day of birth. */ - public Builder setDay(Integer day) { - this.day = day; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.DateOfBirth#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.DateOfBirth#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The month of birth. */ - public Builder setMonth(Integer month) { - this.month = month; - return this; - } - - /** Required. The year of birth. */ - public Builder setYear(Integer year) { - this.year = year; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Documents { - /** - * One or more documents that demonstrate proof that this person is authorized to represent - * the company. - */ - @SerializedName("company_authorization") - CompanyAuthorization companyAuthorization; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 person’s passport page with photo and personal data. - */ - @SerializedName("passport") - Passport passport; - - /** - * An identifying document showing the person's name, either a passport or local ID card. - */ - @SerializedName("primary_verification") - PrimaryVerification primaryVerification; - - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - @SerializedName("secondary_verification") - SecondaryVerification secondaryVerification; - - /** - * One or more documents showing the person’s visa required for living in the country where - * they are residing. - */ - @SerializedName("visa") - Visa visa; - - private Documents( - CompanyAuthorization companyAuthorization, - Map extraParams, - Passport passport, - PrimaryVerification primaryVerification, - SecondaryVerification secondaryVerification, - Visa visa) { - this.companyAuthorization = companyAuthorization; - this.extraParams = extraParams; - this.passport = passport; - this.primaryVerification = primaryVerification; - this.secondaryVerification = secondaryVerification; - this.visa = visa; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private CompanyAuthorization companyAuthorization; - - private Map extraParams; - - private Passport passport; - - private PrimaryVerification primaryVerification; - - private SecondaryVerification secondaryVerification; - - private Visa visa; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.Documents build() { - return new AccountCreateParams.Identity.Individual.Documents( - this.companyAuthorization, - this.extraParams, - this.passport, - this.primaryVerification, - this.secondaryVerification, - this.visa); - } - - /** - * One or more documents that demonstrate proof that this person is authorized to - * represent the company. - */ - public Builder setCompanyAuthorization( - AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization - companyAuthorization) { - this.companyAuthorization = companyAuthorization; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.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.Identity.Individual.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 person’s passport page with photo and personal data. - */ - public Builder setPassport( - AccountCreateParams.Identity.Individual.Documents.Passport passport) { - this.passport = passport; - return this; - } - - /** - * An identifying document showing the person's name, either a passport or local ID card. - */ - public Builder setPrimaryVerification( - AccountCreateParams.Identity.Individual.Documents.PrimaryVerification - primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - public Builder setSecondaryVerification( - AccountCreateParams.Identity.Individual.Documents.SecondaryVerification - secondaryVerification) { - this.secondaryVerification = secondaryVerification; - return this; - } - - /** - * One or more documents showing the person’s visa required for living in the country - * where they are residing. - */ - public Builder setVisa(AccountCreateParams.Identity.Individual.Documents.Visa visa) { - this.visa = visa; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CompanyAuthorization { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyAuthorization( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization build() { - return new AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization#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.Identity.Individual.Documents.CompanyAuthorization#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.Identity.Individual.Documents.CompanyAuthorization#files} for the - * field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Passport { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private Passport(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.Documents.Passport build() { - return new AccountCreateParams.Identity.Individual.Documents.Passport( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.Passport#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.Passport#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.Identity.Individual.Documents.Passport#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.Identity.Individual.Documents.Passport#files} for the field - * documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.Individual.Documents.Passport.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PrimaryVerification { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - @SerializedName("type") - Type type; - - private PrimaryVerification( - Map extraParams, FrontBack frontBack, Type type) { - this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FrontBack frontBack; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.Documents.PrimaryVerification build() { - return new AccountCreateParams.Identity.Individual.Documents.PrimaryVerification( - this.extraParams, this.frontBack, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack - frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently - * supports {@code front_back} only. - */ - public Builder setType( - AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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; - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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 FrontBack(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.Identity.Individual.Documents.PrimaryVerification.FrontBack - build() { - return new AccountCreateParams.Identity.Individual.Documents.PrimaryVerification - .FrontBack(this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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.Identity.Individual.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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 Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SecondaryVerification { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - @SerializedName("type") - Type type; - - private SecondaryVerification( - Map extraParams, FrontBack frontBack, Type type) { - this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FrontBack frontBack; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.Documents.SecondaryVerification build() { - return new AccountCreateParams.Identity.Individual.Documents.SecondaryVerification( - this.extraParams, this.frontBack, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - AccountCreateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack - frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently - * supports {@code front_back} only. - */ - public Builder setType( - AccountCreateParams.Identity.Individual.Documents.SecondaryVerification.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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; - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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 FrontBack(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.Identity.Individual.Documents.SecondaryVerification - .FrontBack - build() { - return new AccountCreateParams.Identity.Individual.Documents.SecondaryVerification - .FrontBack(this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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 Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state, + String town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - Type(String value) { - this.value = value; - } - } + public static Builder builder() { + return new Builder(); } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Visa { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private String city; - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; + private String country; - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; + private Map extraParams; - private Visa(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } + private String line1; - public static Builder builder() { - return new Builder(); - } + private String line2; - public static class Builder { - private Map extraParams; + private String postalCode; - private List files; + private String state; - private Type type; + private String town; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.Documents.Visa build() { - return new AccountCreateParams.Identity.Individual.Documents.Visa( - this.extraParams, this.files, this.type); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Address build() { + return new AccountCreateParams.Identity.BusinessDetails.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.Visa#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Individual.Documents.Visa#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + 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.Identity.Individual.Documents.Visa#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 a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.BusinessDetails.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 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.Identity.Individual.Documents.Visa#files} for the field - * documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.BusinessDetails.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; + } - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountCreateParams.Identity.Individual.Documents.Visa.Type type) { - this.type = type; - return this; - } + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; } - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - Type(String value) { - this.value = value; - } + /** State, county, province, or region. */ + 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 @EqualsAndHashCode(callSuper = false) - public static class IdNumber { + public static class AnnualRevenue { + /** A non-negative integer representing the amount in the smallest currency unit. */ + @SerializedName("amount") + Amount amount; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -21968,18 +11019,18 @@ public static class IdNumber { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. The ID number type of an individual. */ - @SerializedName("type") - Type type; - - /** Required. The value of the ID number. */ - @SerializedName("value") - String value; + /** + * The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + * the 31st of December, 2023. + */ + @SerializedName("fiscal_year_end") + String fiscalYearEnd; - private IdNumber(Map extraParams, Type type, String value) { + private AnnualRevenue( + Amount amount, Map extraParams, String fiscalYearEnd) { + this.amount = amount; this.extraParams = extraParams; - this.type = type; - this.value = value; + this.fiscalYearEnd = fiscalYearEnd; } public static Builder builder() { @@ -21987,23 +11038,29 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private Amount amount; - private Type type; + private Map extraParams; - private String value; + private String fiscalYearEnd; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.IdNumber build() { - return new AccountCreateParams.Identity.Individual.IdNumber( - this.extraParams, this.type, this.value); + public AccountCreateParams.Identity.BusinessDetails.AnnualRevenue build() { + return new AccountCreateParams.Identity.BusinessDetails.AnnualRevenue( + this.amount, this.extraParams, this.fiscalYearEnd); + } + + /** A non-negative integer representing the amount in the smallest currency unit. */ + public Builder setAmount(Amount amount) { + this.amount = amount; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.IdNumber#extraParams} for the - * field documentation. + * map. See {@link AccountCreateParams.Identity.BusinessDetails.AnnualRevenue#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -22016,8 +11073,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.IdNumber#extraParams} for the - * field documentation. + * map. See {@link AccountCreateParams.Identity.BusinessDetails.AnnualRevenue#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -22027,139 +11084,53 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. The ID number type of an individual. */ - public Builder setType(AccountCreateParams.Identity.Individual.IdNumber.Type type) { - this.type = type; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(String value) { - this.value = value; + /** + * The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + * the 31st of December, 2023. + */ + public Builder setFiscalYearEnd(String fiscalYearEnd) { + this.fiscalYearEnd = fiscalYearEnd; return this; } } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ae_eid") - AE_EID("ae_eid"), - - @SerializedName("ao_nif") - AO_NIF("ao_nif"), - - @SerializedName("az_tin") - AZ_TIN("az_tin"), - - @SerializedName("bd_brc") - BD_BRC("bd_brc"), - - @SerializedName("bd_etin") - BD_ETIN("bd_etin"), - - @SerializedName("bd_nid") - BD_NID("bd_nid"), - - @SerializedName("br_cpf") - BR_CPF("br_cpf"), - - @SerializedName("cr_cpf") - CR_CPF("cr_cpf"), - - @SerializedName("cr_dimex") - CR_DIMEX("cr_dimex"), - - @SerializedName("cr_nite") - CR_NITE("cr_nite"), - - @SerializedName("de_stn") - DE_STN("de_stn"), - - @SerializedName("do_rcn") - DO_RCN("do_rcn"), - - @SerializedName("gt_nit") - GT_NIT("gt_nit"), - - @SerializedName("hk_id") - HK_ID("hk_id"), - - @SerializedName("kz_iin") - KZ_IIN("kz_iin"), - - @SerializedName("mx_rfc") - MX_RFC("mx_rfc"), - - @SerializedName("my_nric") - MY_NRIC("my_nric"), - - @SerializedName("mz_nuit") - MZ_NUIT("mz_nuit"), - - @SerializedName("nl_bsn") - NL_BSN("nl_bsn"), - - @SerializedName("pe_dni") - PE_DNI("pe_dni"), - - @SerializedName("pk_cnic") - PK_CNIC("pk_cnic"), - - @SerializedName("pk_snic") - PK_SNIC("pk_snic"), - - @SerializedName("sa_tin") - SA_TIN("sa_tin"), - - @SerializedName("sg_fin") - SG_FIN("sg_fin"), - - @SerializedName("sg_nric") - SG_NRIC("sg_nric"), - - @SerializedName("th_lc") - TH_LC("th_lc"), - - @SerializedName("th_pin") - TH_PIN("th_pin"), - - @SerializedName("us_itin") - US_ITIN("us_itin"), - - @SerializedName("us_itin_last_4") - US_ITIN_LAST_4("us_itin_last_4"), - - @SerializedName("us_ssn") - US_SSN("us_ssn"), - - @SerializedName("us_ssn_last_4") - US_SSN_LAST_4("us_ssn_last_4"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Relationship { + public static class Documents { /** - * Whether the person is a director of the account's identity. Directors are typically - * members of the governing board of the company, or responsible for ensuring the company - * meets its regulatory obligations. + * 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 check. */ - @SerializedName("director") - Boolean director; + @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; /** - * Whether the person has significant responsibility to control, manage, or direct the - * organization. + * Certain countries only: One or more documents showing the ministerial decree legalizing + * the company’s establishment. */ - @SerializedName("executive") - Boolean executive; + @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 @@ -22171,31 +11142,48 @@ public static class Relationship { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Whether the person is an owner of the account’s identity. */ - @SerializedName("owner") - Boolean owner; + /** A document verifying the business. */ + @SerializedName("primary_verification") + PrimaryVerification primaryVerification; - /** The percent owned by the person of the account's legal entity. */ - @SerializedName("percent_ownership") - String percentOwnership; + /** One or more documents that demonstrate proof of address. */ + @SerializedName("proof_of_address") + ProofOfAddress proofOfAddress; - /** The person's title (e.g., CEO, Support Engineer). */ - @SerializedName("title") - String title; + /** + * One or more documents showing the company’s proof of registration with the national + * business registry. + */ + @SerializedName("proof_of_registration") + ProofOfRegistration proofOfRegistration; - private Relationship( - Boolean director, - Boolean executive, + /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ + @SerializedName("proof_of_ultimate_beneficial_ownership") + ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; + + private Documents( + BankAccountOwnershipVerification bankAccountOwnershipVerification, + CompanyLicense companyLicense, + CompanyMemorandumOfAssociation companyMemorandumOfAssociation, + CompanyMinisterialDecree companyMinisterialDecree, + CompanyRegistrationVerification companyRegistrationVerification, + CompanyTaxIdVerification companyTaxIdVerification, Map extraParams, - Boolean owner, - String percentOwnership, - String title) { - this.director = director; - this.executive = executive; + PrimaryVerification primaryVerification, + ProofOfAddress proofOfAddress, + ProofOfRegistration proofOfRegistration, + ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership) { + this.bankAccountOwnershipVerification = bankAccountOwnershipVerification; + this.companyLicense = companyLicense; + this.companyMemorandumOfAssociation = companyMemorandumOfAssociation; + this.companyMinisterialDecree = companyMinisterialDecree; + this.companyRegistrationVerification = companyRegistrationVerification; + this.companyTaxIdVerification = companyTaxIdVerification; this.extraParams = extraParams; - this.owner = owner; - this.percentOwnership = percentOwnership; - this.title = title; + this.primaryVerification = primaryVerification; + this.proofOfAddress = proofOfAddress; + this.proofOfRegistration = proofOfRegistration; + this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; } public static Builder builder() { @@ -22203,52 +11191,107 @@ public static Builder builder() { } public static class Builder { - private Boolean director; + private BankAccountOwnershipVerification bankAccountOwnershipVerification; - private Boolean executive; + private CompanyLicense companyLicense; + + private CompanyMemorandumOfAssociation companyMemorandumOfAssociation; + + private CompanyMinisterialDecree companyMinisterialDecree; + + private CompanyRegistrationVerification companyRegistrationVerification; + + private CompanyTaxIdVerification companyTaxIdVerification; private Map extraParams; - private Boolean owner; + private PrimaryVerification primaryVerification; + + private ProofOfAddress proofOfAddress; + + private ProofOfRegistration proofOfRegistration; + + private ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents( + this.bankAccountOwnershipVerification, + this.companyLicense, + this.companyMemorandumOfAssociation, + this.companyMinisterialDecree, + this.companyRegistrationVerification, + this.companyTaxIdVerification, + this.extraParams, + this.primaryVerification, + this.proofOfAddress, + this.proofOfRegistration, + this.proofOfUltimateBeneficialOwnership); + } - private String percentOwnership; + /** + * 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 check. + */ + public Builder setBankAccountOwnershipVerification( + AccountCreateParams.Identity.BusinessDetails.Documents + .BankAccountOwnershipVerification + bankAccountOwnershipVerification) { + this.bankAccountOwnershipVerification = bankAccountOwnershipVerification; + return this; + } - private String title; + /** One or more documents that demonstrate proof of a company’s license to operate. */ + public Builder setCompanyLicense( + AccountCreateParams.Identity.BusinessDetails.Documents.CompanyLicense + companyLicense) { + this.companyLicense = companyLicense; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.Relationship build() { - return new AccountCreateParams.Identity.Individual.Relationship( - this.director, - this.executive, - this.extraParams, - this.owner, - this.percentOwnership, - this.title); + /** One or more documents showing the company’s Memorandum of Association. */ + public Builder setCompanyMemorandumOfAssociation( + AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMemorandumOfAssociation + companyMemorandumOfAssociation) { + this.companyMemorandumOfAssociation = companyMemorandumOfAssociation; + return this; } /** - * Whether the person is a director of the account's identity. Directors are typically - * members of the governing board of the company, or responsible for ensuring the company - * meets its regulatory obligations. + * Certain countries only: One or more documents showing the ministerial decree legalizing + * the company’s establishment. */ - public Builder setDirector(Boolean director) { - this.director = director; + public Builder setCompanyMinisterialDecree( + AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree + companyMinisterialDecree) { + this.companyMinisterialDecree = companyMinisterialDecree; return this; } /** - * Whether the person has significant responsibility to control, manage, or direct the - * organization. + * One or more documents that demonstrate proof of a company’s registration with the + * appropriate local authorities. */ - public Builder setExecutive(Boolean executive) { - this.executive = executive; + public Builder setCompanyRegistrationVerification( + AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.Individual.Relationship#extraParams} for + * map. See {@link AccountCreateParams.Identity.BusinessDetails.Documents#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22262,7 +11305,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.Relationship#extraParams} for + * map. See {@link AccountCreateParams.Identity.BusinessDetails.Documents#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22273,127 +11316,317 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Whether the person is an owner of the account’s identity. */ - public Builder setOwner(Boolean owner) { - this.owner = owner; - return this; - } + /** A document verifying the business. */ + public Builder setPrimaryVerification( + AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification + primaryVerification) { + this.primaryVerification = primaryVerification; + return this; + } + + /** One or more documents that demonstrate proof of address. */ + public Builder setProofOfAddress( + AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress + proofOfAddress) { + this.proofOfAddress = proofOfAddress; + return this; + } + + /** + * One or more documents showing the company’s proof of registration with the national + * business registry. + */ + public Builder setProofOfRegistration( + AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration + proofOfRegistration) { + this.proofOfRegistration = proofOfRegistration; + return this; + } + + /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ + public Builder setProofOfUltimateBeneficialOwnership( + AccountCreateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership + proofOfUltimateBeneficialOwnership) { + this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + 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; + + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; + + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; + + private BankAccountOwnershipVerification( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private List files; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents + .BankAccountOwnershipVerification + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents + .BankAccountOwnershipVerification(this.extraParams, this.files, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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.Identity.BusinessDetails.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; + } + + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents + .BankAccountOwnershipVerification.Type + type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + 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; + + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; + + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - /** The percent owned by the person of the account's legal entity. */ - public Builder setPercentOwnership(String percentOwnership) { - this.percentOwnership = percentOwnership; - return this; + private CompanyLicense(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; } - /** The person's title (e.g., CEO, Support Engineer). */ - public Builder setTitle(String title) { - this.title = title; - return this; + public static Builder builder() { + return new Builder(); } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptAddresses { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Kana Address. */ - @SerializedName("kana") - Kana kana; - /** Kanji Address. */ - @SerializedName("kanji") - Kanji kanji; + public static class Builder { + private Map extraParams; - private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } + private List files; - public static Builder builder() { - return new Builder(); - } + private Type type; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents.CompanyLicense build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents.CompanyLicense( + this.extraParams, this.files, this.type); + } - private Kana kana; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - private Kanji kanji; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.ScriptAddresses build() { - return new AccountCreateParams.Identity.Individual.ScriptAddresses( - this.extraParams, this.kana, this.kanji); - } + /** + * 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.Identity.BusinessDetails.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 a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.ScriptAddresses#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * 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.Identity.BusinessDetails.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; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.ScriptAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents.CompanyLicense.Type type) { + this.type = type; + return this; } - this.extraParams.putAll(map); - return this; } - /** Kana Address. */ - public Builder setKana( - AccountCreateParams.Identity.Individual.ScriptAddresses.Kana kana) { - this.kana = kana; - return this; - } + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - /** Kanji Address. */ - public Builder setKanji( - AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji kanji) { - this.kanji = kanji; - return this; + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country country; - + 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. @@ -22404,101 +11637,53 @@ public static class Kana { @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; + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - /** Town or cho-me. */ - @SerializedName("town") - String town; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - private Kana( - String city, - Country country, - Map extraParams, - String line1, - String line2, - String postalCode, - String state, - String town) { - this.city = city; - this.country = country; + private CompanyMemorandumOfAssociation( + Map extraParams, List files, Type type) { 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 Country country; - - private Map extraParams; - - private String line1; + this.files = files; + this.type = type; + } - private String line2; + public static Builder builder() { + return new Builder(); + } - private String postalCode; + public static class Builder { + private Map extraParams; - private String state; + private List files; - private String town; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.ScriptAddresses.Kana build() { - return new AccountCreateParams.Identity.Individual.ScriptAddresses.Kana( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Identity.Individual.ScriptAddresses.Kana.Country country) { - this.country = country; - return this; + public AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyMemorandumOfAssociation + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyMemorandumOfAssociation(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the - * field documentation. + * AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMemorandumOfAssociation#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -22512,8 +11697,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the - * field documentation. + * AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMemorandumOfAssociation#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -22523,795 +11708,969 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 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; + /** + * 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.Identity.BusinessDetails.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; } - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; + /** + * 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.Identity.BusinessDetails.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; } - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyMemorandumOfAssociation.Type + type) { + this.type = type; return this; } } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("mc") - MC("mc"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("md") - MD("md"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("me") - ME("me"), + @Getter + @EqualsAndHashCode(callSuper = false) + 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; - @SerializedName("mf") - MF("mf"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("mg") - MG("mg"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("mh") - MH("mh"), + private CompanyMinisterialDecree( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("mk") - MK("mk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ml") - ML("ml"), + public static class Builder { + private Map extraParams; - @SerializedName("mm") - MM("mm"), + private List files; - @SerializedName("mn") - MN("mn"), + private Type type; - @SerializedName("mo") - MO("mo"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyMinisterialDecree(this.extraParams, this.files, this.type); + } - @SerializedName("mp") - MP("mp"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - @SerializedName("mq") - MQ("mq"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - @SerializedName("mr") - MR("mr"), + /** + * 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.Identity.BusinessDetails.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; + } - @SerializedName("ms") - MS("ms"), + /** + * 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.Identity.BusinessDetails.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; + } - @SerializedName("mt") - MT("mt"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("mu") - MU("mu"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("mv") - MV("mv"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("mw") - MW("mw"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("mx") - MX("mx"), + @Getter + @EqualsAndHashCode(callSuper = false) + 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; - @SerializedName("my") - MY("my"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("mz") - MZ("mz"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("na") - NA("na"), + private CompanyRegistrationVerification( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("nc") - NC("nc"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ne") - NE("ne"), + public static class Builder { + private Map extraParams; - @SerializedName("nf") - NF("nf"), + private List files; - @SerializedName("ng") - NG("ng"), + private Type type; - @SerializedName("ni") - NI("ni"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyRegistrationVerification + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyRegistrationVerification(this.extraParams, this.files, this.type); + } - @SerializedName("nl") - NL("nl"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - @SerializedName("no") - NO("no"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - @SerializedName("np") - NP("np"), + /** + * 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.Identity.BusinessDetails.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; + } - @SerializedName("nr") - NR("nr"), + /** + * 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.Identity.BusinessDetails.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; + } - @SerializedName("nu") - NU("nu"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyRegistrationVerification.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("nz") - NZ("nz"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("om") - OM("om"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("pa") - PA("pa"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("pe") - PE("pe"), + @Getter + @EqualsAndHashCode(callSuper = false) + 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; - @SerializedName("pf") - PF("pf"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("pg") - PG("pg"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("ph") - PH("ph"), + private CompanyTaxIdVerification( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("pk") - PK("pk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pl") - PL("pl"), + public static class Builder { + private Map extraParams; - @SerializedName("pm") - PM("pm"), + private List files; - @SerializedName("pn") - PN("pn"), + private Type type; - @SerializedName("pr") - PR("pr"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents + .CompanyTaxIdVerification(this.extraParams, this.files, this.type); + } - @SerializedName("ps") - PS("ps"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - @SerializedName("pt") - PT("pt"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.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; + } - @SerializedName("pw") - PW("pw"), + /** + * 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.Identity.BusinessDetails.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; + } - @SerializedName("py") - PY("py"), + /** + * 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.Identity.BusinessDetails.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; + } - @SerializedName("qa") - QA("qa"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("qz") - QZ("qz"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("re") - RE("re"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("ro") - RO("ro"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("rs") - RS("rs"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrimaryVerification { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ru") - RU("ru"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - @SerializedName("rw") - RW("rw"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - @SerializedName("sa") - SA("sa"), + private PrimaryVerification( + Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } - @SerializedName("sb") - SB("sb"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sc") - SC("sc"), + public static class Builder { + private Map extraParams; - @SerializedName("sd") - SD("sd"), + private FrontBack frontBack; - @SerializedName("se") - SE("se"), + private Type type; - @SerializedName("sg") - SG("sg"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification( + this.extraParams, this.frontBack, this.type); + } - @SerializedName("sh") - SH("sh"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("si") - SI("si"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sj") - SJ("sj"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack + frontBack) { + this.frontBack = frontBack; + return this; + } - @SerializedName("sk") - SK("sk"), + /** + * Required. The format of the verification document. Currently + * supports {@code front_back} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("sl") - SL("sl"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; - @SerializedName("sm") - SM("sm"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sn") - SN("sn"), + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; - @SerializedName("so") - SO("so"), + private FrontBack(String back, Map extraParams, String front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; + } - @SerializedName("sr") - SR("sr"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ss") - SS("ss"), + public static class Builder { + private String back; - @SerializedName("st") - ST("st"), + private Map extraParams; - @SerializedName("sv") - SV("sv"), + private String front; - @SerializedName("sx") - SX("sx"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification + .FrontBack + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents + .PrimaryVerification.FrontBack(this.back, this.extraParams, this.front); + } - @SerializedName("sy") - SY("sy"), + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - @SerializedName("sz") - SZ("sz"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tc") - TC("tc"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("td") - TD("td"), + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } + } + } - @SerializedName("tf") - TF("tf"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - @SerializedName("tg") - TG("tg"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("th") - TH("th"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("tj") - TJ("tj"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ProofOfAddress { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tk") - TK("tk"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("tl") - TL("tl"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("tm") - TM("tm"), + private ProofOfAddress(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("tn") - TN("tn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("to") - TO("to"), + public static class Builder { + private Map extraParams; - @SerializedName("tr") - TR("tr"), + private List files; - @SerializedName("tt") - TT("tt"), + private Type type; - @SerializedName("tv") - TV("tv"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress( + this.extraParams, this.files, this.type); + } - @SerializedName("tw") - TW("tw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tz") - TZ("tz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ua") - UA("ua"), + /** + * 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.Identity.BusinessDetails.Documents.ProofOfAddress#files} for the + * field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("ug") - UG("ug"), + /** + * 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.Identity.BusinessDetails.Documents.ProofOfAddress#files} for the + * field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("um") - UM("um"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfAddress.Type type) { + this.type = type; + return this; + } + } - @SerializedName("us") - US("us"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("uy") - UY("uy"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("uz") - UZ("uz"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("va") - VA("va"), + @Getter + @EqualsAndHashCode(callSuper = false) + 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 extraParams; - @SerializedName("vc") - VC("vc"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("ve") - VE("ve"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("vg") - VG("vg"), + private ProofOfRegistration( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("vi") - VI("vi"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vn") - VN("vn"), + public static class Builder { + private Map extraParams; - @SerializedName("vu") - VU("vu"), + private List files; - @SerializedName("wf") - WF("wf"), + private Type type; - @SerializedName("ws") - WS("ws"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration( + this.extraParams, this.files, this.type); + } - @SerializedName("xx") - XX("xx"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ye") - YE("ye"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("yt") - YT("yt"), + /** + * 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.Identity.BusinessDetails.Documents.ProofOfRegistration#files} for + * the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("za") - ZA("za"), + /** + * 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.Identity.BusinessDetails.Documents.ProofOfRegistration#files} for + * the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("zm") - ZM("zm"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfRegistration.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("zw") - ZW("zw"); + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); @Getter(onMethod_ = {@Override}) private final String value; - Country(String value) { + Type(String value) { this.value = value; } } @@ -23319,18 +12678,7 @@ public enum Country implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country country; - + public static class ProofOfUltimateBeneficialOwnership { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -23341,43 +12689,26 @@ public static class Kanji { @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; + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - /** Town or cho-me. */ - @SerializedName("town") - String town; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - private Kanji( - String city, - Country country, - Map extraParams, - String line1, - String line2, - String postalCode, - String state, - String town) { - this.city = city; - this.country = country; + private ProofOfUltimateBeneficialOwnership( + Map extraParams, List files, Type type) { this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.files = files; + this.type = type; } public static Builder builder() { @@ -23385,57 +12716,26 @@ public static Builder builder() { } public static class Builder { - private String city; - - private Country country; - private Map extraParams; - private String line1; - - private String line2; - - private String postalCode; - - private String state; + private List files; - private String town; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji build() { - return new AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji.Country country) { - this.country = country; - return this; + public AccountCreateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership + build() { + return new AccountCreateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the - * field documentation. + * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -23449,8 +12749,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the - * field documentation. + * AccountCreateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -23460,796 +12760,894 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; + /** + * 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.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#files} + * for the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); return this; } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), + /** + * 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.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#files} + * for the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("gg") - GG("gg"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("gh") - GH("gh"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("gi") - GI("gi"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("gl") - GL("gl"), + Type(String value) { + this.value = value; + } + } + } + } - @SerializedName("gm") - GM("gm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdNumber { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("gn") - GN("gn"), + /** The registrar of the ID number (Only valid for DE ID number types). */ + @SerializedName("registrar") + String registrar; - @SerializedName("gp") - GP("gp"), + /** Required. Open Enum. The ID number type of a business entity. */ + @SerializedName("type") + Type type; - @SerializedName("gq") - GQ("gq"), + /** Required. The value of the ID number. */ + @SerializedName("value") + String value; - @SerializedName("gr") - GR("gr"), + private IdNumber( + Map extraParams, String registrar, Type type, String value) { + this.extraParams = extraParams; + this.registrar = registrar; + this.type = type; + this.value = value; + } - @SerializedName("gs") - GS("gs"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("gt") - GT("gt"), + public static class Builder { + private Map extraParams; - @SerializedName("gu") - GU("gu"), + private String registrar; - @SerializedName("gw") - GW("gw"), + private Type type; - @SerializedName("gy") - GY("gy"), + private String value; - @SerializedName("hk") - HK("hk"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.IdNumber build() { + return new AccountCreateParams.Identity.BusinessDetails.IdNumber( + this.extraParams, this.registrar, this.type, this.value); + } - @SerializedName("hm") - HM("hm"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.BusinessDetails.IdNumber#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("hn") - HN("hn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.BusinessDetails.IdNumber#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("hr") - HR("hr"), + /** The registrar of the ID number (Only valid for DE ID number types). */ + public Builder setRegistrar(String registrar) { + this.registrar = registrar; + return this; + } - @SerializedName("ht") - HT("ht"), + /** Required. Open Enum. The ID number type of a business entity. */ + public Builder setType(AccountCreateParams.Identity.BusinessDetails.IdNumber.Type type) { + this.type = type; + return this; + } - @SerializedName("hu") - HU("hu"), + /** Required. The value of the ID number. */ + public Builder setValue(String value) { + this.value = value; + return this; + } + } - @SerializedName("id") - ID("id"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ae_crn") + AE_CRN("ae_crn"), - @SerializedName("ie") - IE("ie"), + @SerializedName("ae_vat") + AE_VAT("ae_vat"), - @SerializedName("il") - IL("il"), + @SerializedName("ao_nif") + AO_NIF("ao_nif"), - @SerializedName("im") - IM("im"), + @SerializedName("at_fn") + AT_FN("at_fn"), - @SerializedName("in") - IN("in"), + @SerializedName("au_abn") + AU_ABN("au_abn"), - @SerializedName("io") - IO("io"), + @SerializedName("au_acn") + AU_ACN("au_acn"), - @SerializedName("iq") - IQ("iq"), + @SerializedName("au_in") + AU_IN("au_in"), - @SerializedName("ir") - IR("ir"), + @SerializedName("az_tin") + AZ_TIN("az_tin"), - @SerializedName("is") - IS("is"), + @SerializedName("bd_etin") + BD_ETIN("bd_etin"), - @SerializedName("it") - IT("it"), + @SerializedName("be_cbe") + BE_CBE("be_cbe"), - @SerializedName("je") - JE("je"), + @SerializedName("bg_uic") + BG_UIC("bg_uic"), - @SerializedName("jm") - JM("jm"), + @SerializedName("br_cnpj") + BR_CNPJ("br_cnpj"), - @SerializedName("jo") - JO("jo"), + @SerializedName("ca_cn") + CA_CN("ca_cn"), - @SerializedName("jp") - JP("jp"), + @SerializedName("ca_crarr") + CA_CRARR("ca_crarr"), - @SerializedName("ke") - KE("ke"), + @SerializedName("ca_neq") + CA_NEQ("ca_neq"), - @SerializedName("kg") - KG("kg"), + @SerializedName("ca_rid") + CA_RID("ca_rid"), - @SerializedName("kh") - KH("kh"), + @SerializedName("ch_chid") + CH_CHID("ch_chid"), - @SerializedName("ki") - KI("ki"), + @SerializedName("ch_uid") + CH_UID("ch_uid"), - @SerializedName("km") - KM("km"), + @SerializedName("cr_cpj") + CR_CPJ("cr_cpj"), - @SerializedName("kn") - KN("kn"), + @SerializedName("cr_nite") + CR_NITE("cr_nite"), - @SerializedName("kp") - KP("kp"), + @SerializedName("cy_tic") + CY_TIC("cy_tic"), - @SerializedName("kr") - KR("kr"), + @SerializedName("cz_ico") + CZ_ICO("cz_ico"), - @SerializedName("kw") - KW("kw"), + @SerializedName("de_hrn") + DE_HRN("de_hrn"), - @SerializedName("ky") - KY("ky"), + @SerializedName("de_vat") + DE_VAT("de_vat"), - @SerializedName("kz") - KZ("kz"), + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), - @SerializedName("la") - LA("la"), + @SerializedName("do_rcn") + DO_RCN("do_rcn"), - @SerializedName("lb") - LB("lb"), + @SerializedName("ee_rk") + EE_RK("ee_rk"), - @SerializedName("lc") - LC("lc"), + @SerializedName("es_cif") + ES_CIF("es_cif"), - @SerializedName("li") - LI("li"), + @SerializedName("fi_yt") + FI_YT("fi_yt"), - @SerializedName("lk") - LK("lk"), + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), - @SerializedName("lr") - LR("lr"), + @SerializedName("fr_vat") + FR_VAT("fr_vat"), - @SerializedName("ls") - LS("ls"), + @SerializedName("gb_crn") + GB_CRN("gb_crn"), - @SerializedName("lt") - LT("lt"), + @SerializedName("gi_crn") + GI_CRN("gi_crn"), - @SerializedName("lu") - LU("lu"), + @SerializedName("gr_gemi") + GR_GEMI("gr_gemi"), - @SerializedName("lv") - LV("lv"), + @SerializedName("gt_nit") + GT_NIT("gt_nit"), - @SerializedName("ly") - LY("ly"), + @SerializedName("hk_br") + HK_BR("hk_br"), - @SerializedName("ma") - MA("ma"), + @SerializedName("hk_cr") + HK_CR("hk_cr"), - @SerializedName("mc") - MC("mc"), + @SerializedName("hk_mbs") + HK_MBS("hk_mbs"), - @SerializedName("md") - MD("md"), + @SerializedName("hu_cjs") + HU_CJS("hu_cjs"), - @SerializedName("me") - ME("me"), + @SerializedName("ie_crn") + IE_CRN("ie_crn"), - @SerializedName("mf") - MF("mf"), + @SerializedName("it_rea") + IT_REA("it_rea"), - @SerializedName("mg") - MG("mg"), + @SerializedName("it_vat") + IT_VAT("it_vat"), - @SerializedName("mh") - MH("mh"), + @SerializedName("jp_cn") + JP_CN("jp_cn"), - @SerializedName("mk") - MK("mk"), + @SerializedName("kz_bin") + KZ_BIN("kz_bin"), - @SerializedName("ml") - ML("ml"), + @SerializedName("li_uid") + LI_UID("li_uid"), - @SerializedName("mm") - MM("mm"), + @SerializedName("lt_ccrn") + LT_CCRN("lt_ccrn"), - @SerializedName("mn") - MN("mn"), + @SerializedName("lu_rcs") + LU_RCS("lu_rcs"), - @SerializedName("mo") - MO("mo"), + @SerializedName("lv_urn") + LV_URN("lv_urn"), - @SerializedName("mp") - MP("mp"), + @SerializedName("mt_crn") + MT_CRN("mt_crn"), - @SerializedName("mq") - MQ("mq"), + @SerializedName("mx_rfc") + MX_RFC("mx_rfc"), - @SerializedName("mr") - MR("mr"), + @SerializedName("my_brn") + MY_BRN("my_brn"), - @SerializedName("ms") - MS("ms"), + @SerializedName("my_coid") + MY_COID("my_coid"), - @SerializedName("mt") - MT("mt"), + @SerializedName("my_sst") + MY_SST("my_sst"), - @SerializedName("mu") - MU("mu"), + @SerializedName("mz_nuit") + MZ_NUIT("mz_nuit"), - @SerializedName("mv") - MV("mv"), + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), - @SerializedName("mw") - MW("mw"), + @SerializedName("no_orgnr") + NO_ORGNR("no_orgnr"), - @SerializedName("mx") - MX("mx"), + @SerializedName("nz_bn") + NZ_BN("nz_bn"), - @SerializedName("my") - MY("my"), + @SerializedName("pe_ruc") + PE_RUC("pe_ruc"), - @SerializedName("mz") - MZ("mz"), + @SerializedName("pk_ntn") + PK_NTN("pk_ntn"), - @SerializedName("na") - NA("na"), + @SerializedName("pl_regon") + PL_REGON("pl_regon"), - @SerializedName("nc") - NC("nc"), + @SerializedName("pt_vat") + PT_VAT("pt_vat"), - @SerializedName("ne") - NE("ne"), + @SerializedName("ro_cui") + RO_CUI("ro_cui"), - @SerializedName("nf") - NF("nf"), + @SerializedName("sa_crn") + SA_CRN("sa_crn"), - @SerializedName("ng") - NG("ng"), + @SerializedName("sa_tin") + SA_TIN("sa_tin"), - @SerializedName("ni") - NI("ni"), + @SerializedName("se_orgnr") + SE_ORGNR("se_orgnr"), - @SerializedName("nl") - NL("nl"), + @SerializedName("sg_uen") + SG_UEN("sg_uen"), - @SerializedName("no") - NO("no"), + @SerializedName("si_msp") + SI_MSP("si_msp"), - @SerializedName("np") - NP("np"), + @SerializedName("sk_ico") + SK_ICO("sk_ico"), - @SerializedName("nr") - NR("nr"), + @SerializedName("th_crn") + TH_CRN("th_crn"), - @SerializedName("nu") - NU("nu"), + @SerializedName("th_prn") + TH_PRN("th_prn"), - @SerializedName("nz") - NZ("nz"), + @SerializedName("th_tin") + TH_TIN("th_tin"), - @SerializedName("om") - OM("om"), + @SerializedName("us_ein") + US_EIN("us_ein"); - @SerializedName("pa") - PA("pa"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("pe") - PE("pe"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("pf") - PF("pf"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MonthlyEstimatedRevenue { + /** A non-negative integer representing the amount in the smallest currency unit. */ + @SerializedName("amount") + Amount amount; - @SerializedName("pg") - PG("pg"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ph") - PH("ph"), + private MonthlyEstimatedRevenue(Amount amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } - @SerializedName("pk") - PK("pk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pl") - PL("pl"), + public static class Builder { + private Amount amount; - @SerializedName("pm") - PM("pm"), + private Map extraParams; - @SerializedName("pn") - PN("pn"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue build() { + return new AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue( + this.amount, this.extraParams); + } - @SerializedName("pr") - PR("pr"), + /** A non-negative integer representing the amount in the smallest currency unit. */ + public Builder setAmount(Amount amount) { + this.amount = amount; + return this; + } - @SerializedName("ps") - PS("ps"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("pt") - PT("pt"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } - @SerializedName("pw") - PW("pw"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptAddresses { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("py") - PY("py"), + /** Kana Address. */ + @SerializedName("kana") + Kana kana; - @SerializedName("qa") - QA("qa"), + /** Kanji Address. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("qz") - QZ("qz"), + private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("re") - RE("re"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ro") - RO("ro"), + public static class Builder { + private Map extraParams; - @SerializedName("rs") - RS("rs"), + private Kana kana; - @SerializedName("ru") - RU("ru"), + private Kanji kanji; - @SerializedName("rw") - RW("rw"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.ScriptAddresses build() { + return new AccountCreateParams.Identity.BusinessDetails.ScriptAddresses( + this.extraParams, this.kana, this.kanji); + } - @SerializedName("sa") - SA("sa"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sb") - SB("sb"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sc") - SC("sc"), + /** Kana Address. */ + public Builder setKana( + AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("sd") - SD("sd"), + /** Kanji Address. */ + public Builder setKanji( + AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("se") - SE("se"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("sg") - SG("sg"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("sh") - SH("sh"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("si") - SI("si"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("sj") - SJ("sj"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("sk") - SK("sk"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("sl") - SL("sl"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("sm") - SM("sm"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("sn") - SN("sn"), + private Kana( + 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; + } - @SerializedName("so") - SO("so"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sr") - SR("sr"), + public static class Builder { + private String city; - @SerializedName("ss") - SS("ss"), + private String country; - @SerializedName("st") - ST("st"), + private Map extraParams; - @SerializedName("sv") - SV("sv"), + private String line1; - @SerializedName("sx") - SX("sx"), + private String line2; - @SerializedName("sy") - SY("sy"), + private String postalCode; - @SerializedName("sz") - SZ("sz"), + private String state; - @SerializedName("tc") - TC("tc"), + private String town; - @SerializedName("td") - TD("td"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana build() { + return new AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("tf") - TF("tf"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("tg") - TG("tg"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("th") - TH("th"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tj") - TJ("tj"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tk") - TK("tk"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("tl") - TL("tl"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("tm") - TM("tm"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("tn") - TN("tn"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("to") - TO("to"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } - @SerializedName("tr") - TR("tr"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("tt") - TT("tt"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("tv") - TV("tv"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tw") - TW("tw"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("tz") - TZ("tz"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("ua") - UA("ua"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("ug") - UG("ug"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("um") - UM("um"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("us") - US("us"), + private Kanji( + 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; + } - @SerializedName("uy") - UY("uy"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("uz") - UZ("uz"), + public static class Builder { + private String city; - @SerializedName("va") - VA("va"), + private String country; - @SerializedName("vc") - VC("vc"), + private Map extraParams; - @SerializedName("ve") - VE("ve"), + private String line1; - @SerializedName("vg") - VG("vg"), + private String line2; - @SerializedName("vi") - VI("vi"), + private String postalCode; - @SerializedName("vn") - VN("vn"), + private String state; - @SerializedName("vu") - VU("vu"), + private String town; - @SerializedName("wf") - WF("wf"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji build() { + return new AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("ws") - WS("ws"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("xx") - XX("xx"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("ye") - YE("ye"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("yt") - YT("yt"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.BusinessDetails.ScriptAddresses.Kanji#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("za") - ZA("za"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("zm") - ZM("zm"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("zw") - ZW("zw"); + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - Country(String value) { - this.value = value; + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; } } } @@ -24268,11 +13666,11 @@ public static class ScriptNames { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Persons name in kana script. */ + /** Kana name. */ @SerializedName("kana") Kana kana; - /** Persons name in kanji script. */ + /** Kanji name. */ @SerializedName("kanji") Kanji kanji; @@ -24294,16 +13692,16 @@ public static class Builder { private Kanji kanji; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.ScriptNames build() { - return new AccountCreateParams.Identity.Individual.ScriptNames( + public AccountCreateParams.Identity.BusinessDetails.ScriptNames build() { + return new AccountCreateParams.Identity.BusinessDetails.ScriptNames( this.extraParams, this.kana, this.kanji); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.ScriptNames#extraParams} for - * the field documentation. + * map. See {@link AccountCreateParams.Identity.BusinessDetails.ScriptNames#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -24316,8 +13714,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Individual.ScriptNames#extraParams} for - * the field documentation. + * map. See {@link AccountCreateParams.Identity.BusinessDetails.ScriptNames#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -24327,14 +13725,16 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Persons name in kana script. */ - public Builder setKana(AccountCreateParams.Identity.Individual.ScriptNames.Kana kana) { + /** Kana name. */ + public Builder setKana( + AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana kana) { this.kana = kana; return this; } - /** Persons name in kanji script. */ - public Builder setKanji(AccountCreateParams.Identity.Individual.ScriptNames.Kanji kanji) { + /** Kanji name. */ + public Builder setKanji( + AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji kanji) { this.kanji = kanji; return this; } @@ -24353,18 +13753,13 @@ public static class Kana { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - String givenName; - - /** The person's last or family name. */ - @SerializedName("surname") - String surname; + /** Registered name of the business. */ + @SerializedName("registered_name") + String registeredName; - private Kana(Map extraParams, String givenName, String surname) { + private Kana(Map extraParams, String registeredName) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.registeredName = registeredName; } public static Builder builder() { @@ -24374,22 +13769,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String givenName; - - private String surname; + private String registeredName; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.ScriptNames.Kana build() { - return new AccountCreateParams.Identity.Individual.ScriptNames.Kana( - this.extraParams, this.givenName, this.surname); + public AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana build() { + return new AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana( + this.extraParams, this.registeredName); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field - * documentation. + * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -24403,8 +13796,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field - * documentation. + * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -24414,15 +13807,9 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** Registered name of the business. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; return this; } } @@ -24441,18 +13828,13 @@ public static class Kanji { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - String givenName; - - /** The person's last or family name. */ - @SerializedName("surname") - String surname; + /** Registered name of the business. */ + @SerializedName("registered_name") + String registeredName; - private Kanji(Map extraParams, String givenName, String surname) { + private Kanji(Map extraParams, String registeredName) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.registeredName = registeredName; } public static Builder builder() { @@ -24462,22 +13844,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String givenName; - - private String surname; + private String registeredName; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Individual.ScriptNames.Kanji build() { - return new AccountCreateParams.Identity.Individual.ScriptNames.Kanji( - this.extraParams, this.givenName, this.surname); + public AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji build() { + return new AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji( + this.extraParams, this.registeredName); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field - * documentation. + * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -24491,8 +13871,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field - * documentation. + * AccountCreateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -24502,1573 +13882,3251 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** Registered name of the business. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; return this; } } } } - public enum LegalGender implements ApiRequestParams.EnumParam { - @SerializedName("female") - FEMALE("female"), - - @SerializedName("male") - MALE("male"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - LegalGender(String value) { - this.value = value; - } - } - - public enum Nationality implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), + public enum Structure implements ApiRequestParams.EnumParam { + @SerializedName("cooperative") + COOPERATIVE("cooperative"), - @SerializedName("ag") - AG("ag"), + @SerializedName("free_zone_establishment") + FREE_ZONE_ESTABLISHMENT("free_zone_establishment"), - @SerializedName("ai") - AI("ai"), + @SerializedName("free_zone_llc") + FREE_ZONE_LLC("free_zone_llc"), - @SerializedName("al") - AL("al"), + @SerializedName("governmental_unit") + GOVERNMENTAL_UNIT("governmental_unit"), - @SerializedName("am") - AM("am"), + @SerializedName("government_instrumentality") + GOVERNMENT_INSTRUMENTALITY("government_instrumentality"), - @SerializedName("ao") - AO("ao"), + @SerializedName("incorporated_association") + INCORPORATED_ASSOCIATION("incorporated_association"), - @SerializedName("aq") - AQ("aq"), + @SerializedName("incorporated_non_profit") + INCORPORATED_NON_PROFIT("incorporated_non_profit"), - @SerializedName("ar") - AR("ar"), + @SerializedName("incorporated_partnership") + INCORPORATED_PARTNERSHIP("incorporated_partnership"), - @SerializedName("as") - AS("as"), + @SerializedName("limited_liability_partnership") + LIMITED_LIABILITY_PARTNERSHIP("limited_liability_partnership"), - @SerializedName("at") - AT("at"), + @SerializedName("llc") + LLC("llc"), - @SerializedName("au") - AU("au"), + @SerializedName("multi_member_llc") + MULTI_MEMBER_LLC("multi_member_llc"), - @SerializedName("aw") - AW("aw"), + @SerializedName("private_company") + PRIVATE_COMPANY("private_company"), - @SerializedName("ax") - AX("ax"), + @SerializedName("private_corporation") + PRIVATE_CORPORATION("private_corporation"), - @SerializedName("az") - AZ("az"), + @SerializedName("private_partnership") + PRIVATE_PARTNERSHIP("private_partnership"), - @SerializedName("ba") - BA("ba"), + @SerializedName("public_company") + PUBLIC_COMPANY("public_company"), - @SerializedName("bb") - BB("bb"), + @SerializedName("public_corporation") + PUBLIC_CORPORATION("public_corporation"), - @SerializedName("bd") - BD("bd"), + @SerializedName("public_listed_corporation") + PUBLIC_LISTED_CORPORATION("public_listed_corporation"), - @SerializedName("be") - BE("be"), + @SerializedName("public_partnership") + PUBLIC_PARTNERSHIP("public_partnership"), - @SerializedName("bf") - BF("bf"), + @SerializedName("registered_charity") + REGISTERED_CHARITY("registered_charity"), - @SerializedName("bg") - BG("bg"), + @SerializedName("single_member_llc") + SINGLE_MEMBER_LLC("single_member_llc"), - @SerializedName("bh") - BH("bh"), + @SerializedName("sole_establishment") + SOLE_ESTABLISHMENT("sole_establishment"), - @SerializedName("bi") - BI("bi"), + @SerializedName("sole_proprietorship") + SOLE_PROPRIETORSHIP("sole_proprietorship"), - @SerializedName("bj") - BJ("bj"), + @SerializedName("tax_exempt_government_instrumentality") + TAX_EXEMPT_GOVERNMENT_INSTRUMENTALITY("tax_exempt_government_instrumentality"), - @SerializedName("bl") - BL("bl"), + @SerializedName("trust") + TRUST("trust"), - @SerializedName("bm") - BM("bm"), + @SerializedName("unincorporated_association") + UNINCORPORATED_ASSOCIATION("unincorporated_association"), - @SerializedName("bn") - BN("bn"), + @SerializedName("unincorporated_non_profit") + UNINCORPORATED_NON_PROFIT("unincorporated_non_profit"), - @SerializedName("bo") - BO("bo"), + @SerializedName("unincorporated_partnership") + UNINCORPORATED_PARTNERSHIP("unincorporated_partnership"); - @SerializedName("bq") - BQ("bq"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("br") - BR("br"), + Structure(String value) { + this.value = value; + } + } + } - @SerializedName("bs") - BS("bs"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Individual { + /** Additional addresses associated with the individual. */ + @SerializedName("additional_addresses") + List additionalAddresses; - @SerializedName("bt") - BT("bt"), + /** Additional names (e.g. aliases) associated with the individual. */ + @SerializedName("additional_names") + List additionalNames; - @SerializedName("bv") - BV("bv"), + /** The individual's residential address. */ + @SerializedName("address") + Address address; - @SerializedName("bw") - BW("bw"), + /** The individual's date of birth. */ + @SerializedName("date_of_birth") + DateOfBirth dateOfBirth; - @SerializedName("by") - BY("by"), + /** Documents that may be submitted to satisfy various informational requests. */ + @SerializedName("documents") + Documents documents; - @SerializedName("bz") - BZ("bz"), + /** The individual's email address. */ + @SerializedName("email") + String email; - @SerializedName("ca") - CA("ca"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cc") - CC("cc"), + /** The individual's first name. */ + @SerializedName("given_name") + String givenName; - @SerializedName("cd") - CD("cd"), + /** The identification numbers (e.g., SSN) associated with the individual. */ + @SerializedName("id_numbers") + List idNumbers; - @SerializedName("cf") - CF("cf"), + /** + * The individual's gender (International regulations require either "male" or + * "female"). + */ + @SerializedName("legal_gender") + LegalGender legalGender; - @SerializedName("cg") - CG("cg"), + /** + * Set of key-value pairs that you can attach to an object. This can be useful for storing + * additional information about the object in a structured format. + */ + @SerializedName("metadata") + Map metadata; - @SerializedName("ch") - CH("ch"), + /** + * The countries where the individual is a national. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("nationalities") + List nationalities; - @SerializedName("ci") - CI("ci"), + /** The individual's phone number. */ + @SerializedName("phone") + String phone; - @SerializedName("ck") - CK("ck"), + /** The individual's political exposure. */ + @SerializedName("political_exposure") + PoliticalExposure politicalExposure; - @SerializedName("cl") - CL("cl"), + /** The relationship that this individual has with the account's identity. */ + @SerializedName("relationship") + Relationship relationship; - @SerializedName("cm") - CM("cm"), + /** The script addresses (e.g., non-Latin characters) associated with the individual. */ + @SerializedName("script_addresses") + ScriptAddresses scriptAddresses; - @SerializedName("cn") - CN("cn"), + /** The individuals primary name in non latin script. */ + @SerializedName("script_names") + ScriptNames scriptNames; - @SerializedName("co") - CO("co"), + /** The individual's last name. */ + @SerializedName("surname") + String surname; - @SerializedName("cr") - CR("cr"), + private Individual( + List additionalAddresses, + List additionalNames, + Address address, + DateOfBirth dateOfBirth, + Documents documents, + String email, + Map extraParams, + String givenName, + List idNumbers, + LegalGender legalGender, + Map metadata, + List nationalities, + String phone, + PoliticalExposure politicalExposure, + Relationship relationship, + ScriptAddresses scriptAddresses, + ScriptNames scriptNames, + String surname) { + this.additionalAddresses = additionalAddresses; + this.additionalNames = additionalNames; + this.address = address; + this.dateOfBirth = dateOfBirth; + this.documents = documents; + this.email = email; + this.extraParams = extraParams; + this.givenName = givenName; + this.idNumbers = idNumbers; + this.legalGender = legalGender; + this.metadata = metadata; + this.nationalities = nationalities; + this.phone = phone; + this.politicalExposure = politicalExposure; + this.relationship = relationship; + this.scriptAddresses = scriptAddresses; + this.scriptNames = scriptNames; + this.surname = surname; + } - @SerializedName("cu") - CU("cu"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cv") - CV("cv"), + public static class Builder { + private List additionalAddresses; - @SerializedName("cw") - CW("cw"), + private List additionalNames; - @SerializedName("cx") - CX("cx"), + private Address address; - @SerializedName("cy") - CY("cy"), + private DateOfBirth dateOfBirth; - @SerializedName("cz") - CZ("cz"), + private Documents documents; - @SerializedName("de") - DE("de"), + private String email; - @SerializedName("dj") - DJ("dj"), + private Map extraParams; - @SerializedName("dk") - DK("dk"), + private String givenName; - @SerializedName("dm") - DM("dm"), + private List idNumbers; - @SerializedName("do") - DO("do"), + private LegalGender legalGender; - @SerializedName("dz") - DZ("dz"), + private Map metadata; - @SerializedName("ec") - EC("ec"), + private List nationalities; - @SerializedName("ee") - EE("ee"), + private String phone; - @SerializedName("eg") - EG("eg"), + private PoliticalExposure politicalExposure; - @SerializedName("eh") - EH("eh"), + private Relationship relationship; - @SerializedName("er") - ER("er"), + private ScriptAddresses scriptAddresses; - @SerializedName("es") - ES("es"), + private ScriptNames scriptNames; - @SerializedName("et") - ET("et"), + private String surname; - @SerializedName("fi") - FI("fi"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual build() { + return new AccountCreateParams.Identity.Individual( + this.additionalAddresses, + this.additionalNames, + this.address, + this.dateOfBirth, + this.documents, + this.email, + this.extraParams, + this.givenName, + this.idNumbers, + this.legalGender, + this.metadata, + this.nationalities, + this.phone, + this.politicalExposure, + this.relationship, + this.scriptAddresses, + this.scriptNames, + this.surname); + } - @SerializedName("fj") - FJ("fj"), + /** + * Add an element to `additionalAddresses` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Identity.Individual#additionalAddresses} for the field + * documentation. + */ + public Builder addAdditionalAddress( + AccountCreateParams.Identity.Individual.AdditionalAddress element) { + if (this.additionalAddresses == null) { + this.additionalAddresses = new ArrayList<>(); + } + this.additionalAddresses.add(element); + return this; + } - @SerializedName("fk") - FK("fk"), + /** + * Add all elements to `additionalAddresses` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Identity.Individual#additionalAddresses} for the field + * documentation. + */ + public Builder addAllAdditionalAddress( + List elements) { + if (this.additionalAddresses == null) { + this.additionalAddresses = new ArrayList<>(); + } + this.additionalAddresses.addAll(elements); + return this; + } - @SerializedName("fm") - FM("fm"), + /** + * Add an element to `additionalNames` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Identity.Individual#additionalNames} for the field + * documentation. + */ + public Builder addAdditionalName( + AccountCreateParams.Identity.Individual.AdditionalName element) { + if (this.additionalNames == null) { + this.additionalNames = new ArrayList<>(); + } + this.additionalNames.add(element); + return this; + } - @SerializedName("fo") - FO("fo"), + /** + * Add all elements to `additionalNames` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Identity.Individual#additionalNames} for the field + * documentation. + */ + public Builder addAllAdditionalName( + List elements) { + if (this.additionalNames == null) { + this.additionalNames = new ArrayList<>(); + } + this.additionalNames.addAll(elements); + return this; + } - @SerializedName("fr") - FR("fr"), + /** The individual's residential address. */ + public Builder setAddress(AccountCreateParams.Identity.Individual.Address address) { + this.address = address; + return this; + } - @SerializedName("ga") - GA("ga"), + /** The individual's date of birth. */ + public Builder setDateOfBirth( + AccountCreateParams.Identity.Individual.DateOfBirth dateOfBirth) { + this.dateOfBirth = dateOfBirth; + return this; + } - @SerializedName("gb") - GB("gb"), + /** Documents that may be submitted to satisfy various informational requests. */ + public Builder setDocuments(AccountCreateParams.Identity.Individual.Documents documents) { + this.documents = documents; + return this; + } - @SerializedName("gd") - GD("gd"), + /** The individual's email address. */ + public Builder setEmail(String email) { + this.email = email; + return this; + } - @SerializedName("ge") - GE("ge"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("gf") - GF("gf"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("gg") - GG("gg"), + /** The individual's first name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("gh") - GH("gh"), + /** + * Add an element to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Identity.Individual#idNumbers} for the field documentation. + */ + public Builder addIdNumber(AccountCreateParams.Identity.Individual.IdNumber element) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.add(element); + return this; + } - @SerializedName("gi") - GI("gi"), + /** + * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Identity.Individual#idNumbers} for the field documentation. + */ + public Builder addAllIdNumber( + List elements) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.addAll(elements); + return this; + } - @SerializedName("gl") - GL("gl"), + /** + * The individual's gender (International regulations require either "male" or + * "female"). + */ + public Builder setLegalGender( + AccountCreateParams.Identity.Individual.LegalGender legalGender) { + this.legalGender = legalGender; + return this; + } - @SerializedName("gm") - GM("gm"), + /** + * 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.Identity.Individual#metadata} for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } - @SerializedName("gn") - GN("gn"), + /** + * 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.Identity.Individual#metadata} for the field + * documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } - @SerializedName("gp") - GP("gp"), + /** + * Add an element to `nationalities` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountCreateParams.Identity.Individual#nationalities} for the field documentation. + */ + public Builder addNationality(String element) { + if (this.nationalities == null) { + this.nationalities = new ArrayList<>(); + } + this.nationalities.add(element); + return this; + } - @SerializedName("gq") - GQ("gq"), + /** + * Add all elements to `nationalities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Identity.Individual#nationalities} for the field + * documentation. + */ + public Builder addAllNationality(List elements) { + if (this.nationalities == null) { + this.nationalities = new ArrayList<>(); + } + this.nationalities.addAll(elements); + return this; + } - @SerializedName("gr") - GR("gr"), + /** The individual's phone number. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } - @SerializedName("gs") - GS("gs"), + /** The individual's political exposure. */ + public Builder setPoliticalExposure( + AccountCreateParams.Identity.Individual.PoliticalExposure politicalExposure) { + this.politicalExposure = politicalExposure; + return this; + } - @SerializedName("gt") - GT("gt"), + /** The relationship that this individual has with the account's identity. */ + public Builder setRelationship( + AccountCreateParams.Identity.Individual.Relationship relationship) { + this.relationship = relationship; + return this; + } - @SerializedName("gu") - GU("gu"), + /** The script addresses (e.g., non-Latin characters) associated with the individual. */ + public Builder setScriptAddresses( + AccountCreateParams.Identity.Individual.ScriptAddresses scriptAddresses) { + this.scriptAddresses = scriptAddresses; + return this; + } - @SerializedName("gw") - GW("gw"), + /** The individuals primary name in non latin script. */ + public Builder setScriptNames( + AccountCreateParams.Identity.Individual.ScriptNames scriptNames) { + this.scriptNames = scriptNames; + return this; + } - @SerializedName("gy") - GY("gy"), + /** The individual's last name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } + } - @SerializedName("hk") - HK("hk"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("hm") - HM("hm"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("hn") - HN("hn"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("hr") - HR("hr"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("ht") - HT("ht"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("hu") - HU("hu"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("id") - ID("id"), + /** Required. Purpose of additional address. */ + @SerializedName("purpose") + Purpose purpose; - @SerializedName("ie") - IE("ie"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("il") - IL("il"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("im") - IM("im"), + private AdditionalAddress( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + Purpose purpose, + String state, + String town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.purpose = purpose; + this.state = state; + this.town = town; + } - @SerializedName("in") - IN("in"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("io") - IO("io"), + public static class Builder { + private String city; - @SerializedName("iq") - IQ("iq"), + private String country; - @SerializedName("ir") - IR("ir"), + private Map extraParams; - @SerializedName("is") - IS("is"), + private String line1; - @SerializedName("it") - IT("it"), + private String line2; - @SerializedName("je") - JE("je"), + private String postalCode; - @SerializedName("jm") - JM("jm"), + private Purpose purpose; - @SerializedName("jo") - JO("jo"), + private String state; - @SerializedName("jp") - JP("jp"), + private String town; - @SerializedName("ke") - KE("ke"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.AdditionalAddress build() { + return new AccountCreateParams.Identity.Individual.AdditionalAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.purpose, + this.state, + this.town); + } - @SerializedName("kg") - KG("kg"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("kh") - KH("kh"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("ki") - KI("ki"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.AdditionalAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("km") - KM("km"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.AdditionalAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("kn") - KN("kn"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("kp") - KP("kp"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("kr") - KR("kr"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("kw") - KW("kw"), + /** Required. Purpose of additional address. */ + public Builder setPurpose( + AccountCreateParams.Identity.Individual.AdditionalAddress.Purpose purpose) { + this.purpose = purpose; + return this; + } - @SerializedName("ky") - KY("ky"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("kz") - KZ("kz"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } - @SerializedName("la") - LA("la"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("registered") + REGISTERED("registered"); - @SerializedName("lb") - LB("lb"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("lc") - LC("lc"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("li") - LI("li"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalName { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("lk") - LK("lk"), + /** The person's full name. */ + @SerializedName("full_name") + String fullName; - @SerializedName("lr") - LR("lr"), + /** The person's first or given name. */ + @SerializedName("given_name") + String givenName; - @SerializedName("ls") - LS("ls"), + /** Required. The purpose or type of the additional name. */ + @SerializedName("purpose") + Purpose purpose; - @SerializedName("lt") - LT("lt"), + /** The person's last or family name. */ + @SerializedName("surname") + String surname; - @SerializedName("lu") - LU("lu"), + private AdditionalName( + Map extraParams, + String fullName, + String givenName, + Purpose purpose, + String surname) { + this.extraParams = extraParams; + this.fullName = fullName; + this.givenName = givenName; + this.purpose = purpose; + this.surname = surname; + } - @SerializedName("lv") - LV("lv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ly") - LY("ly"), + public static class Builder { + private Map extraParams; - @SerializedName("ma") - MA("ma"), + private String fullName; - @SerializedName("mc") - MC("mc"), + private String givenName; - @SerializedName("md") - MD("md"), + private Purpose purpose; - @SerializedName("me") - ME("me"), + private String surname; - @SerializedName("mf") - MF("mf"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.AdditionalName build() { + return new AccountCreateParams.Identity.Individual.AdditionalName( + this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); + } - @SerializedName("mg") - MG("mg"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.AdditionalName#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mh") - MH("mh"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.AdditionalName#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mk") - MK("mk"), + /** The person's full name. */ + public Builder setFullName(String fullName) { + this.fullName = fullName; + return this; + } - @SerializedName("ml") - ML("ml"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("mm") - MM("mm"), + /** Required. The purpose or type of the additional name. */ + public Builder setPurpose( + AccountCreateParams.Identity.Individual.AdditionalName.Purpose purpose) { + this.purpose = purpose; + return this; + } - @SerializedName("mn") - MN("mn"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } + } - @SerializedName("mo") - MO("mo"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("alias") + ALIAS("alias"), - @SerializedName("mp") - MP("mp"), + @SerializedName("maiden") + MAIDEN("maiden"); - @SerializedName("mq") - MQ("mq"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("mr") - MR("mr"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("ms") - MS("ms"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("mt") - MT("mt"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("mu") - MU("mu"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mv") - MV("mv"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("mw") - MW("mw"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("mx") - MX("mx"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("my") - MY("my"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("mz") - MZ("mz"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("na") - NA("na"), + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state, + String town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("nc") - NC("nc"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ne") - NE("ne"), + public static class Builder { + private String city; - @SerializedName("nf") - NF("nf"), + private String country; - @SerializedName("ng") - NG("ng"), + private Map extraParams; - @SerializedName("ni") - NI("ni"), + private String line1; - @SerializedName("nl") - NL("nl"), + private String line2; - @SerializedName("no") - NO("no"), + private String postalCode; - @SerializedName("np") - NP("np"), + private String state; - @SerializedName("nr") - NR("nr"), + private String town; - @SerializedName("nu") - NU("nu"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Address build() { + return new AccountCreateParams.Identity.Individual.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("nz") - NZ("nz"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("om") - OM("om"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("pa") - PA("pa"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.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; + } - @SerializedName("pe") - PE("pe"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.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; + } - @SerializedName("pf") - PF("pf"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("pg") - PG("pg"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("ph") - PH("ph"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("pk") - PK("pk"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("pl") - PL("pl"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } - @SerializedName("pm") - PM("pm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DateOfBirth { + /** Required. The day of birth. */ + @SerializedName("day") + Long day; - @SerializedName("pn") - PN("pn"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("pr") - PR("pr"), + /** Required. The month of birth. */ + @SerializedName("month") + Long month; - @SerializedName("ps") - PS("ps"), + /** Required. The year of birth. */ + @SerializedName("year") + Long year; - @SerializedName("pt") - PT("pt"), + private DateOfBirth(Long day, Map extraParams, Long month, Long year) { + this.day = day; + this.extraParams = extraParams; + this.month = month; + this.year = year; + } - @SerializedName("pw") - PW("pw"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("py") - PY("py"), + public static class Builder { + private Long day; - @SerializedName("qa") - QA("qa"), + private Map extraParams; - @SerializedName("qz") - QZ("qz"), + private Long month; - @SerializedName("re") - RE("re"), + private Long year; - @SerializedName("ro") - RO("ro"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.DateOfBirth build() { + return new AccountCreateParams.Identity.Individual.DateOfBirth( + this.day, this.extraParams, this.month, this.year); + } - @SerializedName("rs") - RS("rs"), + /** Required. The day of birth. */ + public Builder setDay(Long day) { + this.day = day; + return this; + } - @SerializedName("ru") - RU("ru"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.DateOfBirth#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("rw") - RW("rw"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.DateOfBirth#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sa") - SA("sa"), + /** Required. The month of birth. */ + public Builder setMonth(Long month) { + this.month = month; + return this; + } - @SerializedName("sb") - SB("sb"), + /** Required. The year of birth. */ + public Builder setYear(Long year) { + this.year = year; + return this; + } + } + } - @SerializedName("sc") - SC("sc"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Documents { + /** + * One or more documents that demonstrate proof that this person is authorized to represent + * the company. + */ + @SerializedName("company_authorization") + CompanyAuthorization companyAuthorization; - @SerializedName("sd") - SD("sd"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("se") - SE("se"), + /** + * One or more documents showing the person’s passport page with photo and personal data. + */ + @SerializedName("passport") + Passport passport; - @SerializedName("sg") - SG("sg"), + /** + * An identifying document showing the person's name, either a passport or local ID card. + */ + @SerializedName("primary_verification") + PrimaryVerification primaryVerification; - @SerializedName("sh") - SH("sh"), + /** + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. + */ + @SerializedName("secondary_verification") + SecondaryVerification secondaryVerification; - @SerializedName("si") - SI("si"), + /** + * One or more documents showing the person’s visa required for living in the country where + * they are residing. + */ + @SerializedName("visa") + Visa visa; - @SerializedName("sj") - SJ("sj"), + private Documents( + CompanyAuthorization companyAuthorization, + Map extraParams, + Passport passport, + PrimaryVerification primaryVerification, + SecondaryVerification secondaryVerification, + Visa visa) { + this.companyAuthorization = companyAuthorization; + this.extraParams = extraParams; + this.passport = passport; + this.primaryVerification = primaryVerification; + this.secondaryVerification = secondaryVerification; + this.visa = visa; + } - @SerializedName("sk") - SK("sk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sl") - SL("sl"), + public static class Builder { + private CompanyAuthorization companyAuthorization; - @SerializedName("sm") - SM("sm"), + private Map extraParams; - @SerializedName("sn") - SN("sn"), + private Passport passport; - @SerializedName("so") - SO("so"), + private PrimaryVerification primaryVerification; - @SerializedName("sr") - SR("sr"), + private SecondaryVerification secondaryVerification; - @SerializedName("ss") - SS("ss"), + private Visa visa; - @SerializedName("st") - ST("st"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents build() { + return new AccountCreateParams.Identity.Individual.Documents( + this.companyAuthorization, + this.extraParams, + this.passport, + this.primaryVerification, + this.secondaryVerification, + this.visa); + } - @SerializedName("sv") - SV("sv"), + /** + * One or more documents that demonstrate proof that this person is authorized to + * represent the company. + */ + public Builder setCompanyAuthorization( + AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization + companyAuthorization) { + this.companyAuthorization = companyAuthorization; + return this; + } - @SerializedName("sx") - SX("sx"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.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; + } - @SerializedName("sy") - SY("sy"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.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; + } - @SerializedName("sz") - SZ("sz"), + /** + * One or more documents showing the person’s passport page with photo and personal data. + */ + public Builder setPassport( + AccountCreateParams.Identity.Individual.Documents.Passport passport) { + this.passport = passport; + return this; + } - @SerializedName("tc") - TC("tc"), + /** + * An identifying document showing the person's name, either a passport or local ID card. + */ + public Builder setPrimaryVerification( + AccountCreateParams.Identity.Individual.Documents.PrimaryVerification + primaryVerification) { + this.primaryVerification = primaryVerification; + return this; + } - @SerializedName("td") - TD("td"), + /** + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. + */ + public Builder setSecondaryVerification( + AccountCreateParams.Identity.Individual.Documents.SecondaryVerification + secondaryVerification) { + this.secondaryVerification = secondaryVerification; + return this; + } - @SerializedName("tf") - TF("tf"), + /** + * One or more documents showing the person’s visa required for living in the country + * where they are residing. + */ + public Builder setVisa(AccountCreateParams.Identity.Individual.Documents.Visa visa) { + this.visa = visa; + return this; + } + } - @SerializedName("tg") - TG("tg"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyAuthorization { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("th") - TH("th"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("tj") - TJ("tj"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("tk") - TK("tk"), + private CompanyAuthorization( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("tl") - TL("tl"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tm") - TM("tm"), + public static class Builder { + private Map extraParams; - @SerializedName("tn") - TN("tn"), + private List files; - @SerializedName("to") - TO("to"), + private Type type; - @SerializedName("tr") - TR("tr"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization build() { + return new AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization( + this.extraParams, this.files, this.type); + } - @SerializedName("tt") - TT("tt"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tv") - TV("tv"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tw") - TW("tw"), + /** + * 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.Identity.Individual.Documents.CompanyAuthorization#files} for the + * field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("tz") - TZ("tz"), + /** + * 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.Identity.Individual.Documents.CompanyAuthorization#files} for the + * field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("ua") - UA("ua"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.Individual.Documents.CompanyAuthorization.Type type) { + this.type = type; + return this; + } + } - @SerializedName("ug") - UG("ug"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("um") - UM("um"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("us") - US("us"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("uy") - UY("uy"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Passport { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("uz") - UZ("uz"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("va") - VA("va"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("vc") - VC("vc"), + private Passport(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("ve") - VE("ve"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vg") - VG("vg"), + public static class Builder { + private Map extraParams; - @SerializedName("vi") - VI("vi"), + private List files; - @SerializedName("vn") - VN("vn"), + private Type type; - @SerializedName("vu") - VU("vu"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents.Passport build() { + return new AccountCreateParams.Identity.Individual.Documents.Passport( + this.extraParams, this.files, this.type); + } - @SerializedName("wf") - WF("wf"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ws") - WS("ws"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("xx") - XX("xx"), + /** + * 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.Identity.Individual.Documents.Passport#files} for the field + * documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("ye") - YE("ye"), + /** + * 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.Identity.Individual.Documents.Passport#files} for the field + * documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("yt") - YT("yt"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.Individual.Documents.Passport.Type type) { + this.type = type; + return this; + } + } - @SerializedName("za") - ZA("za"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("zm") - ZM("zm"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("zw") - ZW("zw"); + Type(String value) { + this.value = value; + } + } + } - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrimaryVerification { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - Nationality(String value) { - this.value = value; - } - } + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - public enum PoliticalExposure implements ApiRequestParams.EnumParam { - @SerializedName("existing") - EXISTING("existing"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - @SerializedName("none") - NONE("none"); + private PrimaryVerification( + Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } - @Getter(onMethod_ = {@Override}) - private final String value; + public static Builder builder() { + return new Builder(); + } - PoliticalExposure(String value) { - this.value = value; - } - } - } + public static class Builder { + private Map extraParams; - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), + private FrontBack frontBack; - @SerializedName("ae") - AE("ae"), + private Type type; - @SerializedName("af") - AF("af"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents.PrimaryVerification build() { + return new AccountCreateParams.Identity.Individual.Documents.PrimaryVerification( + this.extraParams, this.frontBack, this.type); + } - @SerializedName("ag") - AG("ag"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ai") - AI("ai"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("al") - AL("al"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack + frontBack) { + this.frontBack = frontBack; + return this; + } - @SerializedName("am") - AM("am"), + /** + * Required. The format of the verification document. Currently + * supports {@code front_back} only. + */ + public Builder setType( + AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.Type type) { + this.type = type; + return this; + } + } - @SerializedName("ao") - AO("ao"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; - @SerializedName("aq") - AQ("aq"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ar") - AR("ar"), + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; - @SerializedName("as") - AS("as"), + private FrontBack(String back, Map extraParams, String front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; + } - @SerializedName("at") - AT("at"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("au") - AU("au"), + public static class Builder { + private String back; - @SerializedName("aw") - AW("aw"), + private Map extraParams; - @SerializedName("ax") - AX("ax"), + private String front; - @SerializedName("az") - AZ("az"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack + build() { + return new AccountCreateParams.Identity.Individual.Documents.PrimaryVerification + .FrontBack(this.back, this.extraParams, this.front); + } - @SerializedName("ba") - BA("ba"), + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - @SerializedName("bb") - BB("bb"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bd") - BD("bd"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("be") - BE("be"), + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } + } + } - @SerializedName("bf") - BF("bf"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - @SerializedName("bg") - BG("bg"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("bh") - BH("bh"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("bi") - BI("bi"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SecondaryVerification { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("bj") - BJ("bj"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - @SerializedName("bl") - BL("bl"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - @SerializedName("bm") - BM("bm"), + private SecondaryVerification( + Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } - @SerializedName("bn") - BN("bn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bo") - BO("bo"), + public static class Builder { + private Map extraParams; - @SerializedName("bq") - BQ("bq"), + private FrontBack frontBack; - @SerializedName("br") - BR("br"), + private Type type; - @SerializedName("bs") - BS("bs"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents.SecondaryVerification build() { + return new AccountCreateParams.Identity.Individual.Documents.SecondaryVerification( + this.extraParams, this.frontBack, this.type); + } - @SerializedName("bt") - BT("bt"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bv") - BV("bv"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("bw") - BW("bw"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + AccountCreateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack + frontBack) { + this.frontBack = frontBack; + return this; + } - @SerializedName("by") - BY("by"), + /** + * Required. The format of the verification document. Currently + * supports {@code front_back} only. + */ + public Builder setType( + AccountCreateParams.Identity.Individual.Documents.SecondaryVerification.Type type) { + this.type = type; + return this; + } + } - @SerializedName("bz") - BZ("bz"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; - @SerializedName("ca") - CA("ca"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cc") - CC("cc"), + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; - @SerializedName("cd") - CD("cd"), + private FrontBack(String back, Map extraParams, String front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; + } - @SerializedName("cf") - CF("cf"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cg") - CG("cg"), + public static class Builder { + private String back; - @SerializedName("ch") - CH("ch"), + private Map extraParams; - @SerializedName("ci") - CI("ci"), + private String front; - @SerializedName("ck") - CK("ck"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents.SecondaryVerification + .FrontBack + build() { + return new AccountCreateParams.Identity.Individual.Documents.SecondaryVerification + .FrontBack(this.back, this.extraParams, this.front); + } - @SerializedName("cl") - CL("cl"), + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - @SerializedName("cm") - CM("cm"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cn") - CN("cn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("co") - CO("co"), + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } + } + } - @SerializedName("cr") - CR("cr"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - @SerializedName("cu") - CU("cu"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("cv") - CV("cv"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("cw") - CW("cw"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Visa { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cx") - CX("cx"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("cy") - CY("cy"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("cz") - CZ("cz"), + private Visa(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("de") - DE("de"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("dj") - DJ("dj"), + public static class Builder { + private Map extraParams; - @SerializedName("dk") - DK("dk"), + private List files; - @SerializedName("dm") - DM("dm"), + private Type type; - @SerializedName("do") - DO("do"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Documents.Visa build() { + return new AccountCreateParams.Identity.Individual.Documents.Visa( + this.extraParams, this.files, this.type); + } - @SerializedName("dz") - DZ("dz"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.Visa#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ec") - EC("ec"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.Documents.Visa#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ee") - EE("ee"), + /** + * 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.Identity.Individual.Documents.Visa#files} for the field + * documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("eg") - EG("eg"), + /** + * 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.Identity.Individual.Documents.Visa#files} for the field + * documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("eh") - EH("eh"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountCreateParams.Identity.Individual.Documents.Visa.Type type) { + this.type = type; + return this; + } + } - @SerializedName("er") - ER("er"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("es") - ES("es"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("et") - ET("et"), + Type(String value) { + this.value = value; + } + } + } + } - @SerializedName("fi") - FI("fi"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdNumber { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("fj") - FJ("fj"), + /** Required. The ID number type of an individual. */ + @SerializedName("type") + Type type; - @SerializedName("fk") - FK("fk"), + /** Required. The value of the ID number. */ + @SerializedName("value") + String value; - @SerializedName("fm") - FM("fm"), + private IdNumber(Map extraParams, Type type, String value) { + this.extraParams = extraParams; + this.type = type; + this.value = value; + } - @SerializedName("fo") - FO("fo"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("fr") - FR("fr"), + public static class Builder { + private Map extraParams; - @SerializedName("ga") - GA("ga"), + private Type type; - @SerializedName("gb") - GB("gb"), + private String value; - @SerializedName("gd") - GD("gd"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.IdNumber build() { + return new AccountCreateParams.Identity.Individual.IdNumber( + this.extraParams, this.type, this.value); + } - @SerializedName("ge") - GE("ge"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.IdNumber#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("gf") - GF("gf"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.IdNumber#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("gg") - GG("gg"), + /** Required. The ID number type of an individual. */ + public Builder setType(AccountCreateParams.Identity.Individual.IdNumber.Type type) { + this.type = type; + return this; + } - @SerializedName("gh") - GH("gh"), + /** Required. The value of the ID number. */ + public Builder setValue(String value) { + this.value = value; + return this; + } + } - @SerializedName("gi") - GI("gi"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ae_eid") + AE_EID("ae_eid"), - @SerializedName("gl") - GL("gl"), + @SerializedName("ao_nif") + AO_NIF("ao_nif"), - @SerializedName("gm") - GM("gm"), + @SerializedName("az_tin") + AZ_TIN("az_tin"), - @SerializedName("gn") - GN("gn"), + @SerializedName("bd_brc") + BD_BRC("bd_brc"), - @SerializedName("gp") - GP("gp"), + @SerializedName("bd_etin") + BD_ETIN("bd_etin"), - @SerializedName("gq") - GQ("gq"), + @SerializedName("bd_nid") + BD_NID("bd_nid"), - @SerializedName("gr") - GR("gr"), + @SerializedName("br_cpf") + BR_CPF("br_cpf"), - @SerializedName("gs") - GS("gs"), + @SerializedName("cr_cpf") + CR_CPF("cr_cpf"), - @SerializedName("gt") - GT("gt"), + @SerializedName("cr_dimex") + CR_DIMEX("cr_dimex"), - @SerializedName("gu") - GU("gu"), + @SerializedName("cr_nite") + CR_NITE("cr_nite"), - @SerializedName("gw") - GW("gw"), + @SerializedName("de_stn") + DE_STN("de_stn"), - @SerializedName("gy") - GY("gy"), + @SerializedName("do_rcn") + DO_RCN("do_rcn"), - @SerializedName("hk") - HK("hk"), + @SerializedName("gt_nit") + GT_NIT("gt_nit"), - @SerializedName("hm") - HM("hm"), + @SerializedName("hk_id") + HK_ID("hk_id"), - @SerializedName("hn") - HN("hn"), + @SerializedName("kz_iin") + KZ_IIN("kz_iin"), - @SerializedName("hr") - HR("hr"), + @SerializedName("mx_rfc") + MX_RFC("mx_rfc"), - @SerializedName("ht") - HT("ht"), + @SerializedName("my_nric") + MY_NRIC("my_nric"), - @SerializedName("hu") - HU("hu"), + @SerializedName("mz_nuit") + MZ_NUIT("mz_nuit"), - @SerializedName("id") - ID("id"), + @SerializedName("nl_bsn") + NL_BSN("nl_bsn"), - @SerializedName("ie") - IE("ie"), + @SerializedName("pe_dni") + PE_DNI("pe_dni"), - @SerializedName("il") - IL("il"), + @SerializedName("pk_cnic") + PK_CNIC("pk_cnic"), - @SerializedName("im") - IM("im"), + @SerializedName("pk_snic") + PK_SNIC("pk_snic"), - @SerializedName("in") - IN("in"), + @SerializedName("sa_tin") + SA_TIN("sa_tin"), - @SerializedName("io") - IO("io"), + @SerializedName("sg_fin") + SG_FIN("sg_fin"), - @SerializedName("iq") - IQ("iq"), + @SerializedName("sg_nric") + SG_NRIC("sg_nric"), - @SerializedName("ir") - IR("ir"), + @SerializedName("th_lc") + TH_LC("th_lc"), - @SerializedName("is") - IS("is"), + @SerializedName("th_pin") + TH_PIN("th_pin"), - @SerializedName("it") - IT("it"), + @SerializedName("us_itin") + US_ITIN("us_itin"), - @SerializedName("je") - JE("je"), + @SerializedName("us_itin_last_4") + US_ITIN_LAST_4("us_itin_last_4"), - @SerializedName("jm") - JM("jm"), + @SerializedName("us_ssn") + US_SSN("us_ssn"), - @SerializedName("jo") - JO("jo"), + @SerializedName("us_ssn_last_4") + US_SSN_LAST_4("us_ssn_last_4"); - @SerializedName("jp") - JP("jp"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("ke") - KE("ke"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("kg") - KG("kg"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Relationship { + /** + * Whether the person is a director of the account's identity. Directors are typically + * members of the governing board of the company, or responsible for ensuring the company + * meets its regulatory obligations. + */ + @SerializedName("director") + Boolean director; - @SerializedName("kh") - KH("kh"), + /** + * Whether the person has significant responsibility to control, manage, or direct the + * organization. + */ + @SerializedName("executive") + Boolean executive; - @SerializedName("ki") - KI("ki"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("km") - KM("km"), + /** Whether the person is an owner of the account’s identity. */ + @SerializedName("owner") + Boolean owner; - @SerializedName("kn") - KN("kn"), + /** The percent owned by the person of the account's legal entity. */ + @SerializedName("percent_ownership") + BigDecimal percentOwnership; - @SerializedName("kp") - KP("kp"), + /** The person's title (e.g., CEO, Support Engineer). */ + @SerializedName("title") + String title; - @SerializedName("kr") - KR("kr"), + private Relationship( + Boolean director, + Boolean executive, + Map extraParams, + Boolean owner, + BigDecimal percentOwnership, + String title) { + this.director = director; + this.executive = executive; + this.extraParams = extraParams; + this.owner = owner; + this.percentOwnership = percentOwnership; + this.title = title; + } - @SerializedName("kw") - KW("kw"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ky") - KY("ky"), + public static class Builder { + private Boolean director; - @SerializedName("kz") - KZ("kz"), + private Boolean executive; - @SerializedName("la") - LA("la"), + private Map extraParams; - @SerializedName("lb") - LB("lb"), + private Boolean owner; - @SerializedName("lc") - LC("lc"), + private BigDecimal percentOwnership; - @SerializedName("li") - LI("li"), + private String title; - @SerializedName("lk") - LK("lk"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.Relationship build() { + return new AccountCreateParams.Identity.Individual.Relationship( + this.director, + this.executive, + this.extraParams, + this.owner, + this.percentOwnership, + this.title); + } - @SerializedName("lr") - LR("lr"), + /** + * Whether the person is a director of the account's identity. Directors are typically + * members of the governing board of the company, or responsible for ensuring the company + * meets its regulatory obligations. + */ + public Builder setDirector(Boolean director) { + this.director = director; + return this; + } - @SerializedName("ls") - LS("ls"), + /** + * Whether the person has significant responsibility to control, manage, or direct the + * organization. + */ + public Builder setExecutive(Boolean executive) { + this.executive = executive; + return this; + } - @SerializedName("lt") - LT("lt"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.Relationship#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("lu") - LU("lu"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.Relationship#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("lv") - LV("lv"), + /** Whether the person is an owner of the account’s identity. */ + public Builder setOwner(Boolean owner) { + this.owner = owner; + return this; + } - @SerializedName("ly") - LY("ly"), + /** The percent owned by the person of the account's legal entity. */ + public Builder setPercentOwnership(BigDecimal percentOwnership) { + this.percentOwnership = percentOwnership; + return this; + } - @SerializedName("ma") - MA("ma"), + /** The person's title (e.g., CEO, Support Engineer). */ + public Builder setTitle(String title) { + this.title = title; + return this; + } + } + } - @SerializedName("mc") - MC("mc"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptAddresses { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("md") - MD("md"), + /** Kana Address. */ + @SerializedName("kana") + Kana kana; - @SerializedName("me") - ME("me"), + /** Kanji Address. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("mf") - MF("mf"), + private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("mg") - MG("mg"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mh") - MH("mh"), + public static class Builder { + private Map extraParams; - @SerializedName("mk") - MK("mk"), + private Kana kana; - @SerializedName("ml") - ML("ml"), + private Kanji kanji; - @SerializedName("mm") - MM("mm"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.ScriptAddresses build() { + return new AccountCreateParams.Identity.Individual.ScriptAddresses( + this.extraParams, this.kana, this.kanji); + } - @SerializedName("mn") - MN("mn"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.ScriptAddresses#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mo") - MO("mo"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.ScriptAddresses#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mp") - MP("mp"), + /** Kana Address. */ + public Builder setKana( + AccountCreateParams.Identity.Individual.ScriptAddresses.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("mq") - MQ("mq"), + /** Kanji Address. */ + public Builder setKanji( + AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("mr") - MR("mr"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("ms") - MS("ms"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("mt") - MT("mt"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mu") - MU("mu"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("mv") - MV("mv"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("mw") - MW("mw"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("mx") - MX("mx"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("my") - MY("my"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("mz") - MZ("mz"), + private Kana( + 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; + } - @SerializedName("na") - NA("na"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("nc") - NC("nc"), + public static class Builder { + private String city; - @SerializedName("ne") - NE("ne"), + private String country; - @SerializedName("nf") - NF("nf"), + private Map extraParams; - @SerializedName("ng") - NG("ng"), + private String line1; - @SerializedName("ni") - NI("ni"), + private String line2; - @SerializedName("nl") - NL("nl"), + private String postalCode; - @SerializedName("no") - NO("no"), + private String state; - @SerializedName("np") - NP("np"), + private String town; - @SerializedName("nr") - NR("nr"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.ScriptAddresses.Kana build() { + return new AccountCreateParams.Identity.Individual.ScriptAddresses.Kana( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("nu") - NU("nu"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("nz") - NZ("nz"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("om") - OM("om"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("pa") - PA("pa"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("pe") - PE("pe"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("pf") - PF("pf"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("pg") - PG("pg"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("ph") - PH("ph"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("pk") - PK("pk"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } - @SerializedName("pl") - PL("pl"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("pm") - PM("pm"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("pn") - PN("pn"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("pr") - PR("pr"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("ps") - PS("ps"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("pt") - PT("pt"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("pw") - PW("pw"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("py") - PY("py"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("qa") - QA("qa"), + private Kanji( + 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; + } - @SerializedName("qz") - QZ("qz"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("re") - RE("re"), + public static class Builder { + private String city; - @SerializedName("ro") - RO("ro"), + private String country; - @SerializedName("rs") - RS("rs"), + private Map extraParams; - @SerializedName("ru") - RU("ru"), + private String line1; - @SerializedName("rw") - RW("rw"), + private String line2; - @SerializedName("sa") - SA("sa"), + private String postalCode; - @SerializedName("sb") - SB("sb"), + private String state; - @SerializedName("sc") - SC("sc"), + private String town; - @SerializedName("sd") - SD("sd"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji build() { + return new AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("se") - SE("se"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("sg") - SG("sg"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("sh") - SH("sh"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("si") - SI("si"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sj") - SJ("sj"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("sk") - SK("sk"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("sl") - SL("sl"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("sm") - SM("sm"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("sn") - SN("sn"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } + } - @SerializedName("so") - SO("so"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptNames { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sr") - SR("sr"), + /** Persons name in kana script. */ + @SerializedName("kana") + Kana kana; - @SerializedName("ss") - SS("ss"), + /** Persons name in kanji script. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("st") - ST("st"), + private ScriptNames(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("sv") - SV("sv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sx") - SX("sx"), + public static class Builder { + private Map extraParams; - @SerializedName("sy") - SY("sy"), + private Kana kana; - @SerializedName("sz") - SZ("sz"), + private Kanji kanji; - @SerializedName("tc") - TC("tc"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.ScriptNames build() { + return new AccountCreateParams.Identity.Individual.ScriptNames( + this.extraParams, this.kana, this.kanji); + } - @SerializedName("td") - TD("td"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.ScriptNames#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tf") - TF("tf"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Individual.ScriptNames#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tg") - TG("tg"), + /** Persons name in kana script. */ + public Builder setKana(AccountCreateParams.Identity.Individual.ScriptNames.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("th") - TH("th"), + /** Persons name in kanji script. */ + public Builder setKanji(AccountCreateParams.Identity.Individual.ScriptNames.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("tj") - TJ("tj"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tk") - TK("tk"), + /** The person's first or given name. */ + @SerializedName("given_name") + String givenName; - @SerializedName("tl") - TL("tl"), + /** The person's last or family name. */ + @SerializedName("surname") + String surname; - @SerializedName("tm") - TM("tm"), + private Kana(Map extraParams, String givenName, String surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("tn") - TN("tn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("to") - TO("to"), + public static class Builder { + private Map extraParams; - @SerializedName("tr") - TR("tr"), + private String givenName; - @SerializedName("tt") - TT("tt"), + private String surname; - @SerializedName("tv") - TV("tv"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.ScriptNames.Kana build() { + return new AccountCreateParams.Identity.Individual.ScriptNames.Kana( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("tw") - TW("tw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tz") - TZ("tz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ua") - UA("ua"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("ug") - UG("ug"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } + } + } - @SerializedName("um") - UM("um"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("us") - US("us"), + /** The person's first or given name. */ + @SerializedName("given_name") + String givenName; - @SerializedName("uy") - UY("uy"), + /** The person's last or family name. */ + @SerializedName("surname") + String surname; - @SerializedName("uz") - UZ("uz"), + private Kanji(Map extraParams, String givenName, String surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("va") - VA("va"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vc") - VC("vc"), + public static class Builder { + private Map extraParams; - @SerializedName("ve") - VE("ve"), + private String givenName; - @SerializedName("vg") - VG("vg"), + private String surname; - @SerializedName("vi") - VI("vi"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Individual.ScriptNames.Kanji build() { + return new AccountCreateParams.Identity.Individual.ScriptNames.Kanji( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("vn") - VN("vn"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("vu") - VU("vu"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("wf") - WF("wf"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("ws") - WS("ws"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } + } + } + } - @SerializedName("xx") - XX("xx"), + public enum LegalGender implements ApiRequestParams.EnumParam { + @SerializedName("female") + FEMALE("female"), - @SerializedName("ye") - YE("ye"), + @SerializedName("male") + MALE("male"); - @SerializedName("yt") - YT("yt"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("za") - ZA("za"), + LegalGender(String value) { + this.value = value; + } + } - @SerializedName("zm") - ZM("zm"), + public enum PoliticalExposure implements ApiRequestParams.EnumParam { + @SerializedName("existing") + EXISTING("existing"), - @SerializedName("zw") - ZW("zw"); + @SerializedName("none") + NONE("none"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - Country(String value) { - this.value = value; + PoliticalExposure(String value) { + this.value = value; + } } } diff --git a/src/main/java/com/stripe/param/v2/core/AccountListParams.java b/src/main/java/com/stripe/param/v2/core/AccountListParams.java index 2fff5b18cad..a80c11fec53 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountListParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountListParams.java @@ -31,10 +31,10 @@ public class AccountListParams extends ApiRequestParams { /** The upper limit on the number of accounts returned by the List Account request. */ @SerializedName("limit") - Integer limit; + Long limit; private AccountListParams( - List appliedConfigurations, Map extraParams, Integer limit) { + List appliedConfigurations, Map extraParams, Long limit) { this.appliedConfigurations = appliedConfigurations; this.extraParams = extraParams; this.limit = limit; @@ -49,7 +49,7 @@ public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public AccountListParams build() { @@ -109,7 +109,7 @@ public Builder putAllExtraParam(Map map) { } /** The upper limit on the number of accounts returned by the List Account request. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java index 0e2a52d5c5a..c79aadb314c 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java @@ -5,6 +5,7 @@ import com.stripe.net.ApiRequestParams; import com.stripe.param.common.EmptyParam; import com.stripe.v2.Amount; +import java.math.BigDecimal; import java.time.Instant; import java.util.ArrayList; import java.util.HashMap; @@ -950,7 +951,7 @@ public static class Invoice { /** The sequence to be used on the customer's next invoice. Defaults to 1. */ @SerializedName("next_sequence") - Integer nextSequence; + Long nextSequence; /** * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 @@ -968,7 +969,7 @@ private Invoice( customFields, Map extraParams, Object footer, - Integer nextSequence, + Long nextSequence, Object prefix, Rendering rendering) { this.customFields = customFields; @@ -991,7 +992,7 @@ public static class Builder { private Object footer; - private Integer nextSequence; + private Long nextSequence; private Object prefix; @@ -1084,7 +1085,7 @@ public Builder setFooter(EmptyParam footer) { } /** The sequence to be used on the customer's next invoice. Defaults to 1. */ - public Builder setNextSequence(Integer nextSequence) { + public Builder setNextSequence(Long nextSequence) { this.nextSequence = nextSequence; return this; } @@ -1656,7 +1657,7 @@ public static class Address { * 3166-1 alpha-2). */ @SerializedName("country") - Country country; + Object country; /** * Map of extra parameters for custom features not available in this client library. The @@ -1686,7 +1687,7 @@ public static class Address { private Address( Object city, - Country country, + Object country, Map extraParams, Object line1, Object line2, @@ -1708,7 +1709,7 @@ public static Builder builder() { public static class Builder { private Object city; - private Country country; + private Object country; private Map extraParams; @@ -1748,8 +1749,16 @@ public Builder setCity(EmptyParam city) { * Two-letter country code (ISO 3166-1 alpha-2). */ - public Builder setCountry( - AccountUpdateParams.Configuration.Customer.Shipping.Address.Country country) { + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { this.country = country; return this; } @@ -1832,13929 +1841,2158 @@ public Builder setState(EmptyParam state) { return this; } } + } + } + } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Merchant { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - @SerializedName("aw") - AW("aw"), + /** Settings used for Bacs debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - @SerializedName("ax") - AX("ax"), + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + @SerializedName("branding") + Branding branding; - @SerializedName("az") - AZ("az"), + /** Capabilities to request on the Merchant Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - @SerializedName("ba") - BA("ba"), + /** Card payments settings. */ + @SerializedName("card_payments") + CardPayments cardPayments; - @SerializedName("bb") - BB("bb"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("bd") - BD("bd"), + /** + * The merchant category code for the merchant. MCCs are used to classify businesses based on + * the goods or services they provide. + */ + @SerializedName("mcc") + Object mcc; - @SerializedName("be") - BE("be"), + /** Statement descriptor. */ + @SerializedName("statement_descriptor") + StatementDescriptor statementDescriptor; - @SerializedName("bf") - BF("bf"), + /** Publicly available contact information for sending support issues to. */ + @SerializedName("support") + Support support; - @SerializedName("bg") - BG("bg"), + private Merchant( + Boolean applied, + BacsDebitPayments bacsDebitPayments, + Branding branding, + Capabilities capabilities, + CardPayments cardPayments, + Map extraParams, + Object mcc, + StatementDescriptor statementDescriptor, + Support support) { + this.applied = applied; + this.bacsDebitPayments = bacsDebitPayments; + this.branding = branding; + this.capabilities = capabilities; + this.cardPayments = cardPayments; + this.extraParams = extraParams; + this.mcc = mcc; + this.statementDescriptor = statementDescriptor; + this.support = support; + } - @SerializedName("bh") - BH("bh"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bi") - BI("bi"), + public static class Builder { + private Boolean applied; - @SerializedName("bj") - BJ("bj"), + private BacsDebitPayments bacsDebitPayments; - @SerializedName("bl") - BL("bl"), + private Branding branding; - @SerializedName("bm") - BM("bm"), + private Capabilities capabilities; - @SerializedName("bn") - BN("bn"), + private CardPayments cardPayments; - @SerializedName("bo") - BO("bo"), + private Map extraParams; - @SerializedName("bq") - BQ("bq"), + private Object mcc; - @SerializedName("br") - BR("br"), + private StatementDescriptor statementDescriptor; - @SerializedName("bs") - BS("bs"), + private Support support; - @SerializedName("bt") - BT("bt"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant build() { + return new AccountUpdateParams.Configuration.Merchant( + this.applied, + this.bacsDebitPayments, + this.branding, + this.capabilities, + this.cardPayments, + this.extraParams, + this.mcc, + this.statementDescriptor, + this.support); + } - @SerializedName("bv") - BV("bv"), + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } - @SerializedName("bw") - BW("bw"), + /** Settings used for Bacs debit payments. */ + public Builder setBacsDebitPayments( + AccountUpdateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } - @SerializedName("by") - BY("by"), + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + public Builder setBranding(AccountUpdateParams.Configuration.Merchant.Branding branding) { + this.branding = branding; + return this; + } - @SerializedName("bz") - BZ("bz"), + /** Capabilities to request on the Merchant Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Merchant.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - @SerializedName("ca") - CA("ca"), + /** Card payments settings. */ + public Builder setCardPayments( + AccountUpdateParams.Configuration.Merchant.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } - @SerializedName("cc") - CC("cc"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cd") - CD("cd"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("cf") - CF("cf"), + /** + * The merchant category code for the merchant. MCCs are used to classify businesses based + * on the goods or services they provide. + */ + public Builder setMcc(String mcc) { + this.mcc = mcc; + return this; + } - @SerializedName("cg") - CG("cg"), + /** + * The merchant category code for the merchant. MCCs are used to classify businesses based + * on the goods or services they provide. + */ + public Builder setMcc(EmptyParam mcc) { + this.mcc = mcc; + return this; + } - @SerializedName("ch") - CH("ch"), + /** Statement descriptor. */ + public Builder setStatementDescriptor( + AccountUpdateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } - @SerializedName("ci") - CI("ci"), + /** Publicly available contact information for sending support issues to. */ + public Builder setSupport(AccountUpdateParams.Configuration.Merchant.Support support) { + this.support = support; + return this; + } + } - @SerializedName("ck") - CK("ck"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** Display name for Bacs debit payments. */ + @SerializedName("display_name") + Object displayName; - @SerializedName("cl") - CL("cl"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cm") - CM("cm"), + private BacsDebitPayments(Object displayName, Map extraParams) { + this.displayName = displayName; + this.extraParams = extraParams; + } - @SerializedName("cn") - CN("cn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("co") - CO("co"), + public static class Builder { + private Object displayName; - @SerializedName("cr") - CR("cr"), + private Map extraParams; - @SerializedName("cu") - CU("cu"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.BacsDebitPayments build() { + return new AccountUpdateParams.Configuration.Merchant.BacsDebitPayments( + this.displayName, this.extraParams); + } - @SerializedName("cv") - CV("cv"), + /** Display name for Bacs debit payments. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } - @SerializedName("cw") - CW("cw"), + /** Display name for Bacs debit payments. */ + public Builder setDisplayName(EmptyParam displayName) { + this.displayName = displayName; + return this; + } - @SerializedName("cx") - CX("cx"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } - @SerializedName("dj") - DJ("dj"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Branding { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("dk") - DK("dk"), + /** + * ID of a file upload: + * An icon for the merchant. Must be square and at least 128px x 128px. + */ + @SerializedName("icon") + Object icon; - @SerializedName("dm") - DM("dm"), + /** + * ID of a file upload: + * A logo for the merchant that will be used in Checkout instead of the icon and without the + * merchant's name next to it if provided. Must be at least 128px x 128px. + */ + @SerializedName("logo") + Object logo; - @SerializedName("do") - DO("do"), + /** A CSS hex color value representing the primary branding color for the merchant. */ + @SerializedName("primary_color") + Object primaryColor; - @SerializedName("dz") - DZ("dz"), + /** A CSS hex color value representing the secondary branding color for the merchant. */ + @SerializedName("secondary_color") + Object secondaryColor; - @SerializedName("ec") - EC("ec"), + private Branding( + Map extraParams, + Object icon, + Object logo, + Object primaryColor, + Object secondaryColor) { + this.extraParams = extraParams; + this.icon = icon; + this.logo = logo; + this.primaryColor = primaryColor; + this.secondaryColor = secondaryColor; + } - @SerializedName("ee") - EE("ee"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("eg") - EG("eg"), + public static class Builder { + private Map extraParams; - @SerializedName("eh") - EH("eh"), + private Object icon; - @SerializedName("er") - ER("er"), + private Object logo; - @SerializedName("es") - ES("es"), + private Object primaryColor; - @SerializedName("et") - ET("et"), + private Object secondaryColor; - @SerializedName("fi") - FI("fi"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Branding build() { + return new AccountUpdateParams.Configuration.Merchant.Branding( + this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); + } - @SerializedName("fj") - FJ("fj"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("fk") - FK("fk"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("fm") - FM("fm"), + /** + * ID of a file + * upload: An icon for the merchant. Must be square and at least 128px x 128px. + */ + public Builder setIcon(String icon) { + this.icon = icon; + return this; + } - @SerializedName("fo") - FO("fo"), + /** + * ID of a file + * upload: An icon for the merchant. Must be square and at least 128px x 128px. + */ + public Builder setIcon(EmptyParam icon) { + this.icon = icon; + return this; + } - @SerializedName("fr") - FR("fr"), + /** + * ID of a file + * upload: A logo for the merchant that will be used in Checkout instead of the icon + * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + */ + public Builder setLogo(String logo) { + this.logo = logo; + return this; + } - @SerializedName("ga") - GA("ga"), + /** + * ID of a file + * upload: A logo for the merchant that will be used in Checkout instead of the icon + * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + */ + public Builder setLogo(EmptyParam logo) { + this.logo = logo; + return this; + } - @SerializedName("gb") - GB("gb"), + /** A CSS hex color value representing the primary branding color for the merchant. */ + public Builder setPrimaryColor(String primaryColor) { + this.primaryColor = primaryColor; + return this; + } - @SerializedName("gd") - GD("gd"), + /** A CSS hex color value representing the primary branding color for the merchant. */ + public Builder setPrimaryColor(EmptyParam primaryColor) { + this.primaryColor = primaryColor; + return this; + } - @SerializedName("ge") - GE("ge"), + /** A CSS hex color value representing the secondary branding color for the merchant. */ + public Builder setSecondaryColor(String secondaryColor) { + this.secondaryColor = secondaryColor; + return this; + } - @SerializedName("gf") - GF("gf"), + /** A CSS hex color value representing the secondary branding color for the merchant. */ + public Builder setSecondaryColor(EmptyParam secondaryColor) { + this.secondaryColor = secondaryColor; + return this; + } + } + } - @SerializedName("gg") - GG("gg"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Allow the merchant to process ACH debit payments. */ + @SerializedName("ach_debit_payments") + AchDebitPayments achDebitPayments; - @SerializedName("gh") - GH("gh"), + /** Allow the merchant to process ACSS debit payments. */ + @SerializedName("acss_debit_payments") + AcssDebitPayments acssDebitPayments; - @SerializedName("gi") - GI("gi"), + /** Allow the merchant to process Affirm payments. */ + @SerializedName("affirm_payments") + AffirmPayments affirmPayments; - @SerializedName("gl") - GL("gl"), + /** Allow the merchant to process Afterpay/Clearpay payments. */ + @SerializedName("afterpay_clearpay_payments") + AfterpayClearpayPayments afterpayClearpayPayments; - @SerializedName("gm") - GM("gm"), + /** Allow the merchant to process Alma payments. */ + @SerializedName("alma_payments") + AlmaPayments almaPayments; - @SerializedName("gn") - GN("gn"), + /** Allow the merchant to process Amazon Pay payments. */ + @SerializedName("amazon_pay_payments") + AmazonPayPayments amazonPayPayments; - @SerializedName("gp") - GP("gp"), + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + @SerializedName("au_becs_debit_payments") + AuBecsDebitPayments auBecsDebitPayments; - @SerializedName("gq") - GQ("gq"), + /** Allow the merchant to process BACS Direct Debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; - @SerializedName("gr") - GR("gr"), + /** Allow the merchant to process Bancontact payments. */ + @SerializedName("bancontact_payments") + BancontactPayments bancontactPayments; - @SerializedName("gs") - GS("gs"), + /** Allow the merchant to process BLIK payments. */ + @SerializedName("blik_payments") + BlikPayments blikPayments; - @SerializedName("gt") - GT("gt"), + /** Allow the merchant to process Boleto payments. */ + @SerializedName("boleto_payments") + BoletoPayments boletoPayments; - @SerializedName("gu") - GU("gu"), + /** Allow the merchant to collect card payments. */ + @SerializedName("card_payments") + CardPayments cardPayments; - @SerializedName("gw") - GW("gw"), + /** Allow the merchant to process Cartes Bancaires payments. */ + @SerializedName("cartes_bancaires_payments") + CartesBancairesPayments cartesBancairesPayments; - @SerializedName("gy") - GY("gy"), + /** Allow the merchant to process Cash App payments. */ + @SerializedName("cashapp_payments") + CashappPayments cashappPayments; - @SerializedName("hk") - HK("hk"), + /** Allow the merchant to process EPS payments. */ + @SerializedName("eps_payments") + EpsPayments epsPayments; - @SerializedName("hm") - HM("hm"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("hn") - HN("hn"), + /** Allow the merchant to process FPX payments. */ + @SerializedName("fpx_payments") + FpxPayments fpxPayments; - @SerializedName("hr") - HR("hr"), + /** Allow the merchant to process UK bank transfer payments. */ + @SerializedName("gb_bank_transfer_payments") + GbBankTransferPayments gbBankTransferPayments; - @SerializedName("ht") - HT("ht"), + /** Allow the merchant to process GrabPay payments. */ + @SerializedName("grabpay_payments") + GrabpayPayments grabpayPayments; - @SerializedName("hu") - HU("hu"), + /** Allow the merchant to process iDEAL payments. */ + @SerializedName("ideal_payments") + IdealPayments idealPayments; - @SerializedName("id") - ID("id"), + /** Allow the merchant to process JCB card payments. */ + @SerializedName("jcb_payments") + JcbPayments jcbPayments; - @SerializedName("ie") - IE("ie"), + /** Allow the merchant to process Japanese bank transfer payments. */ + @SerializedName("jp_bank_transfer_payments") + JpBankTransferPayments jpBankTransferPayments; - @SerializedName("il") - IL("il"), + /** Allow the merchant to process Kakao Pay payments. */ + @SerializedName("kakao_pay_payments") + KakaoPayPayments kakaoPayPayments; - @SerializedName("im") - IM("im"), + /** Allow the merchant to process Klarna payments. */ + @SerializedName("klarna_payments") + KlarnaPayments klarnaPayments; - @SerializedName("in") - IN("in"), + /** Allow the merchant to process Konbini convenience store payments. */ + @SerializedName("konbini_payments") + KonbiniPayments konbiniPayments; - @SerializedName("io") - IO("io"), + /** Allow the merchant to process Korean card payments. */ + @SerializedName("kr_card_payments") + KrCardPayments krCardPayments; - @SerializedName("iq") - IQ("iq"), + /** Allow the merchant to process Link payments. */ + @SerializedName("link_payments") + LinkPayments linkPayments; - @SerializedName("ir") - IR("ir"), + /** Allow the merchant to process MobilePay payments. */ + @SerializedName("mobilepay_payments") + MobilepayPayments mobilepayPayments; - @SerializedName("is") - IS("is"), + /** Allow the merchant to process Multibanco payments. */ + @SerializedName("multibanco_payments") + MultibancoPayments multibancoPayments; - @SerializedName("it") - IT("it"), + /** Allow the merchant to process Mexican bank transfer payments. */ + @SerializedName("mx_bank_transfer_payments") + MxBankTransferPayments mxBankTransferPayments; - @SerializedName("je") - JE("je"), + /** Allow the merchant to process Naver Pay payments. */ + @SerializedName("naver_pay_payments") + NaverPayPayments naverPayPayments; - @SerializedName("jm") - JM("jm"), + /** Allow the merchant to process OXXO payments. */ + @SerializedName("oxxo_payments") + OxxoPayments oxxoPayments; - @SerializedName("jo") - JO("jo"), + /** Allow the merchant to process Przelewy24 (P24) payments. */ + @SerializedName("p24_payments") + P24Payments p24Payments; - @SerializedName("jp") - JP("jp"), + /** Allow the merchant to process Pay by Bank payments. */ + @SerializedName("pay_by_bank_payments") + PayByBankPayments payByBankPayments; - @SerializedName("ke") - KE("ke"), + /** Allow the merchant to process PAYCO payments. */ + @SerializedName("payco_payments") + PaycoPayments paycoPayments; - @SerializedName("kg") - KG("kg"), + /** Allow the merchant to process PayNow payments. */ + @SerializedName("paynow_payments") + PaynowPayments paynowPayments; - @SerializedName("kh") - KH("kh"), + /** Allow the merchant to process PromptPay payments. */ + @SerializedName("promptpay_payments") + PromptpayPayments promptpayPayments; - @SerializedName("ki") - KI("ki"), + /** Allow the merchant to process Revolut Pay payments. */ + @SerializedName("revolut_pay_payments") + RevolutPayPayments revolutPayPayments; - @SerializedName("km") - KM("km"), + /** Allow the merchant to process Samsung Pay payments. */ + @SerializedName("samsung_pay_payments") + SamsungPayPayments samsungPayPayments; - @SerializedName("kn") - KN("kn"), + /** Allow the merchant to process SEPA bank transfer payments. */ + @SerializedName("sepa_bank_transfer_payments") + SepaBankTransferPayments sepaBankTransferPayments; - @SerializedName("kp") - KP("kp"), + /** Allow the merchant to process SEPA Direct Debit payments. */ + @SerializedName("sepa_debit_payments") + SepaDebitPayments sepaDebitPayments; - @SerializedName("kr") - KR("kr"), + /** Allow the merchant to process Swish payments. */ + @SerializedName("swish_payments") + SwishPayments swishPayments; - @SerializedName("kw") - KW("kw"), + /** Allow the merchant to process TWINT payments. */ + @SerializedName("twint_payments") + TwintPayments twintPayments; - @SerializedName("ky") - KY("ky"), + /** Allow the merchant to process US bank transfer payments. */ + @SerializedName("us_bank_transfer_payments") + UsBankTransferPayments usBankTransferPayments; - @SerializedName("kz") - KZ("kz"), + /** Allow the merchant to process Zip payments. */ + @SerializedName("zip_payments") + ZipPayments zipPayments; - @SerializedName("la") - LA("la"), + private Capabilities( + AchDebitPayments achDebitPayments, + AcssDebitPayments acssDebitPayments, + AffirmPayments affirmPayments, + AfterpayClearpayPayments afterpayClearpayPayments, + AlmaPayments almaPayments, + AmazonPayPayments amazonPayPayments, + AuBecsDebitPayments auBecsDebitPayments, + BacsDebitPayments bacsDebitPayments, + BancontactPayments bancontactPayments, + BlikPayments blikPayments, + BoletoPayments boletoPayments, + CardPayments cardPayments, + CartesBancairesPayments cartesBancairesPayments, + CashappPayments cashappPayments, + EpsPayments epsPayments, + Map extraParams, + FpxPayments fpxPayments, + GbBankTransferPayments gbBankTransferPayments, + GrabpayPayments grabpayPayments, + IdealPayments idealPayments, + JcbPayments jcbPayments, + JpBankTransferPayments jpBankTransferPayments, + KakaoPayPayments kakaoPayPayments, + KlarnaPayments klarnaPayments, + KonbiniPayments konbiniPayments, + KrCardPayments krCardPayments, + LinkPayments linkPayments, + MobilepayPayments mobilepayPayments, + MultibancoPayments multibancoPayments, + MxBankTransferPayments mxBankTransferPayments, + NaverPayPayments naverPayPayments, + OxxoPayments oxxoPayments, + P24Payments p24Payments, + PayByBankPayments payByBankPayments, + PaycoPayments paycoPayments, + PaynowPayments paynowPayments, + PromptpayPayments promptpayPayments, + RevolutPayPayments revolutPayPayments, + SamsungPayPayments samsungPayPayments, + SepaBankTransferPayments sepaBankTransferPayments, + SepaDebitPayments sepaDebitPayments, + SwishPayments swishPayments, + TwintPayments twintPayments, + UsBankTransferPayments usBankTransferPayments, + ZipPayments zipPayments) { + this.achDebitPayments = achDebitPayments; + this.acssDebitPayments = acssDebitPayments; + this.affirmPayments = affirmPayments; + this.afterpayClearpayPayments = afterpayClearpayPayments; + this.almaPayments = almaPayments; + this.amazonPayPayments = amazonPayPayments; + this.auBecsDebitPayments = auBecsDebitPayments; + this.bacsDebitPayments = bacsDebitPayments; + this.bancontactPayments = bancontactPayments; + this.blikPayments = blikPayments; + this.boletoPayments = boletoPayments; + this.cardPayments = cardPayments; + this.cartesBancairesPayments = cartesBancairesPayments; + this.cashappPayments = cashappPayments; + this.epsPayments = epsPayments; + this.extraParams = extraParams; + this.fpxPayments = fpxPayments; + this.gbBankTransferPayments = gbBankTransferPayments; + this.grabpayPayments = grabpayPayments; + this.idealPayments = idealPayments; + this.jcbPayments = jcbPayments; + this.jpBankTransferPayments = jpBankTransferPayments; + this.kakaoPayPayments = kakaoPayPayments; + this.klarnaPayments = klarnaPayments; + this.konbiniPayments = konbiniPayments; + this.krCardPayments = krCardPayments; + this.linkPayments = linkPayments; + this.mobilepayPayments = mobilepayPayments; + this.multibancoPayments = multibancoPayments; + this.mxBankTransferPayments = mxBankTransferPayments; + this.naverPayPayments = naverPayPayments; + this.oxxoPayments = oxxoPayments; + this.p24Payments = p24Payments; + this.payByBankPayments = payByBankPayments; + this.paycoPayments = paycoPayments; + this.paynowPayments = paynowPayments; + this.promptpayPayments = promptpayPayments; + this.revolutPayPayments = revolutPayPayments; + this.samsungPayPayments = samsungPayPayments; + this.sepaBankTransferPayments = sepaBankTransferPayments; + this.sepaDebitPayments = sepaDebitPayments; + this.swishPayments = swishPayments; + this.twintPayments = twintPayments; + this.usBankTransferPayments = usBankTransferPayments; + this.zipPayments = zipPayments; + } - @SerializedName("lb") - LB("lb"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("lc") - LC("lc"), + public static class Builder { + private AchDebitPayments achDebitPayments; - @SerializedName("li") - LI("li"), + private AcssDebitPayments acssDebitPayments; - @SerializedName("lk") - LK("lk"), + private AffirmPayments affirmPayments; - @SerializedName("lr") - LR("lr"), + private AfterpayClearpayPayments afterpayClearpayPayments; - @SerializedName("ls") - LS("ls"), + private AlmaPayments almaPayments; - @SerializedName("lt") - LT("lt"), + private AmazonPayPayments amazonPayPayments; - @SerializedName("lu") - LU("lu"), + private AuBecsDebitPayments auBecsDebitPayments; - @SerializedName("lv") - LV("lv"), + private BacsDebitPayments bacsDebitPayments; - @SerializedName("ly") - LY("ly"), + private BancontactPayments bancontactPayments; - @SerializedName("ma") - MA("ma"), + private BlikPayments blikPayments; - @SerializedName("mc") - MC("mc"), + private BoletoPayments boletoPayments; - @SerializedName("md") - MD("md"), + private CardPayments cardPayments; - @SerializedName("me") - ME("me"), + private CartesBancairesPayments cartesBancairesPayments; - @SerializedName("mf") - MF("mf"), + private CashappPayments cashappPayments; - @SerializedName("mg") - MG("mg"), + private EpsPayments epsPayments; - @SerializedName("mh") - MH("mh"), + private Map extraParams; - @SerializedName("mk") - MK("mk"), + private FpxPayments fpxPayments; - @SerializedName("ml") - ML("ml"), + private GbBankTransferPayments gbBankTransferPayments; - @SerializedName("mm") - MM("mm"), + private GrabpayPayments grabpayPayments; - @SerializedName("mn") - MN("mn"), + private IdealPayments idealPayments; - @SerializedName("mo") - MO("mo"), + private JcbPayments jcbPayments; - @SerializedName("mp") - MP("mp"), + private JpBankTransferPayments jpBankTransferPayments; - @SerializedName("mq") - MQ("mq"), + private KakaoPayPayments kakaoPayPayments; - @SerializedName("mr") - MR("mr"), + private KlarnaPayments klarnaPayments; - @SerializedName("ms") - MS("ms"), + private KonbiniPayments konbiniPayments; - @SerializedName("mt") - MT("mt"), + private KrCardPayments krCardPayments; - @SerializedName("mu") - MU("mu"), + private LinkPayments linkPayments; - @SerializedName("mv") - MV("mv"), + private MobilepayPayments mobilepayPayments; - @SerializedName("mw") - MW("mw"), + private MultibancoPayments multibancoPayments; - @SerializedName("mx") - MX("mx"), + private MxBankTransferPayments mxBankTransferPayments; - @SerializedName("my") - MY("my"), + private NaverPayPayments naverPayPayments; - @SerializedName("mz") - MZ("mz"), + private OxxoPayments oxxoPayments; - @SerializedName("na") - NA("na"), + private P24Payments p24Payments; - @SerializedName("nc") - NC("nc"), + private PayByBankPayments payByBankPayments; - @SerializedName("ne") - NE("ne"), + private PaycoPayments paycoPayments; - @SerializedName("nf") - NF("nf"), + private PaynowPayments paynowPayments; - @SerializedName("ng") - NG("ng"), + private PromptpayPayments promptpayPayments; - @SerializedName("ni") - NI("ni"), + private RevolutPayPayments revolutPayPayments; - @SerializedName("nl") - NL("nl"), + private SamsungPayPayments samsungPayPayments; - @SerializedName("no") - NO("no"), + private SepaBankTransferPayments sepaBankTransferPayments; - @SerializedName("np") - NP("np"), + private SepaDebitPayments sepaDebitPayments; - @SerializedName("nr") - NR("nr"), + private SwishPayments swishPayments; - @SerializedName("nu") - NU("nu"), + private TwintPayments twintPayments; - @SerializedName("nz") - NZ("nz"), + private UsBankTransferPayments usBankTransferPayments; - @SerializedName("om") - OM("om"), + private ZipPayments zipPayments; - @SerializedName("pa") - PA("pa"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities( + this.achDebitPayments, + this.acssDebitPayments, + this.affirmPayments, + this.afterpayClearpayPayments, + this.almaPayments, + this.amazonPayPayments, + this.auBecsDebitPayments, + this.bacsDebitPayments, + this.bancontactPayments, + this.blikPayments, + this.boletoPayments, + this.cardPayments, + this.cartesBancairesPayments, + this.cashappPayments, + this.epsPayments, + this.extraParams, + this.fpxPayments, + this.gbBankTransferPayments, + this.grabpayPayments, + this.idealPayments, + this.jcbPayments, + this.jpBankTransferPayments, + this.kakaoPayPayments, + this.klarnaPayments, + this.konbiniPayments, + this.krCardPayments, + this.linkPayments, + this.mobilepayPayments, + this.multibancoPayments, + this.mxBankTransferPayments, + this.naverPayPayments, + this.oxxoPayments, + this.p24Payments, + this.payByBankPayments, + this.paycoPayments, + this.paynowPayments, + this.promptpayPayments, + this.revolutPayPayments, + this.samsungPayPayments, + this.sepaBankTransferPayments, + this.sepaDebitPayments, + this.swishPayments, + this.twintPayments, + this.usBankTransferPayments, + this.zipPayments); + } - @SerializedName("pe") - PE("pe"), + /** Allow the merchant to process ACH debit payments. */ + public Builder setAchDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments + achDebitPayments) { + this.achDebitPayments = achDebitPayments; + return this; + } - @SerializedName("pf") - PF("pf"), + /** Allow the merchant to process ACSS debit payments. */ + public Builder setAcssDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + acssDebitPayments) { + this.acssDebitPayments = acssDebitPayments; + return this; + } - @SerializedName("pg") - PG("pg"), + /** Allow the merchant to process Affirm payments. */ + public Builder setAffirmPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments + affirmPayments) { + this.affirmPayments = affirmPayments; + return this; + } - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), + /** Allow the merchant to process Afterpay/Clearpay payments. */ + public Builder setAfterpayClearpayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + afterpayClearpayPayments) { + this.afterpayClearpayPayments = afterpayClearpayPayments; + return this; + } - @SerializedName("pn") - PN("pn"), + /** Allow the merchant to process Alma payments. */ + public Builder setAlmaPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { + this.almaPayments = almaPayments; + return this; + } - @SerializedName("pr") - PR("pr"), + /** Allow the merchant to process Amazon Pay payments. */ + public Builder setAmazonPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + amazonPayPayments) { + this.amazonPayPayments = amazonPayPayments; + return this; + } - @SerializedName("ps") - PS("ps"), + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + public Builder setAuBecsDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments + auBecsDebitPayments) { + this.auBecsDebitPayments = auBecsDebitPayments; + return this; + } - @SerializedName("pt") - PT("pt"), + /** Allow the merchant to process BACS Direct Debit payments. */ + public Builder setBacsDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } - @SerializedName("pw") - PW("pw"), + /** Allow the merchant to process Bancontact payments. */ + public Builder setBancontactPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments + bancontactPayments) { + this.bancontactPayments = bancontactPayments; + return this; + } - @SerializedName("py") - PY("py"), + /** Allow the merchant to process BLIK payments. */ + public Builder setBlikPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { + this.blikPayments = blikPayments; + return this; + } - @SerializedName("qa") - QA("qa"), + /** Allow the merchant to process Boleto payments. */ + public Builder setBoletoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments + boletoPayments) { + this.boletoPayments = boletoPayments; + return this; + } - @SerializedName("qz") - QZ("qz"), + /** Allow the merchant to collect card payments. */ + public Builder setCardPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } - @SerializedName("re") - RE("re"), + /** Allow the merchant to process Cartes Bancaires payments. */ + public Builder setCartesBancairesPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + cartesBancairesPayments) { + this.cartesBancairesPayments = cartesBancairesPayments; + return this; + } - @SerializedName("ro") - RO("ro"), + /** Allow the merchant to process Cash App payments. */ + public Builder setCashappPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments + cashappPayments) { + this.cashappPayments = cashappPayments; + return this; + } - @SerializedName("rs") - RS("rs"), + /** Allow the merchant to process EPS payments. */ + public Builder setEpsPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { + this.epsPayments = epsPayments; + return this; + } - @SerializedName("ru") - RU("ru"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("rw") - RW("rw"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sa") - SA("sa"), + /** Allow the merchant to process FPX payments. */ + public Builder setFpxPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { + this.fpxPayments = fpxPayments; + return this; + } - @SerializedName("sb") - SB("sb"), + /** Allow the merchant to process UK bank transfer payments. */ + public Builder setGbBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + gbBankTransferPayments) { + this.gbBankTransferPayments = gbBankTransferPayments; + return this; + } - @SerializedName("sc") - SC("sc"), + /** Allow the merchant to process GrabPay payments. */ + public Builder setGrabpayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments + grabpayPayments) { + this.grabpayPayments = grabpayPayments; + return this; + } - @SerializedName("sd") - SD("sd"), + /** Allow the merchant to process iDEAL payments. */ + public Builder setIdealPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { + this.idealPayments = idealPayments; + return this; + } - @SerializedName("se") - SE("se"), + /** Allow the merchant to process JCB card payments. */ + public Builder setJcbPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { + this.jcbPayments = jcbPayments; + return this; + } - @SerializedName("sg") - SG("sg"), + /** Allow the merchant to process Japanese bank transfer payments. */ + public Builder setJpBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + jpBankTransferPayments) { + this.jpBankTransferPayments = jpBankTransferPayments; + return this; + } - @SerializedName("sh") - SH("sh"), + /** Allow the merchant to process Kakao Pay payments. */ + public Builder setKakaoPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + kakaoPayPayments) { + this.kakaoPayPayments = kakaoPayPayments; + return this; + } - @SerializedName("si") - SI("si"), + /** Allow the merchant to process Klarna payments. */ + public Builder setKlarnaPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments + klarnaPayments) { + this.klarnaPayments = klarnaPayments; + return this; + } - @SerializedName("sj") - SJ("sj"), + /** Allow the merchant to process Konbini convenience store payments. */ + public Builder setKonbiniPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments + konbiniPayments) { + this.konbiniPayments = konbiniPayments; + return this; + } - @SerializedName("sk") - SK("sk"), + /** Allow the merchant to process Korean card payments. */ + public Builder setKrCardPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments + krCardPayments) { + this.krCardPayments = krCardPayments; + return this; + } - @SerializedName("sl") - SL("sl"), + /** Allow the merchant to process Link payments. */ + public Builder setLinkPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { + this.linkPayments = linkPayments; + return this; + } - @SerializedName("sm") - SM("sm"), + /** Allow the merchant to process MobilePay payments. */ + public Builder setMobilepayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments + mobilepayPayments) { + this.mobilepayPayments = mobilepayPayments; + return this; + } - @SerializedName("sn") - SN("sn"), + /** Allow the merchant to process Multibanco payments. */ + public Builder setMultibancoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments + multibancoPayments) { + this.multibancoPayments = multibancoPayments; + return this; + } - @SerializedName("so") - SO("so"), + /** Allow the merchant to process Mexican bank transfer payments. */ + public Builder setMxBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + mxBankTransferPayments) { + this.mxBankTransferPayments = mxBankTransferPayments; + return this; + } - @SerializedName("sr") - SR("sr"), + /** Allow the merchant to process Naver Pay payments. */ + public Builder setNaverPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments + naverPayPayments) { + this.naverPayPayments = naverPayPayments; + return this; + } - @SerializedName("ss") - SS("ss"), + /** Allow the merchant to process OXXO payments. */ + public Builder setOxxoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { + this.oxxoPayments = oxxoPayments; + return this; + } - @SerializedName("st") - ST("st"), + /** Allow the merchant to process Przelewy24 (P24) payments. */ + public Builder setP24Payments( + AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { + this.p24Payments = p24Payments; + return this; + } - @SerializedName("sv") - SV("sv"), + /** Allow the merchant to process Pay by Bank payments. */ + public Builder setPayByBankPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments + payByBankPayments) { + this.payByBankPayments = payByBankPayments; + return this; + } - @SerializedName("sx") - SX("sx"), + /** Allow the merchant to process PAYCO payments. */ + public Builder setPaycoPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { + this.paycoPayments = paycoPayments; + return this; + } - @SerializedName("sy") - SY("sy"), + /** Allow the merchant to process PayNow payments. */ + public Builder setPaynowPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments + paynowPayments) { + this.paynowPayments = paynowPayments; + return this; + } - @SerializedName("sz") - SZ("sz"), + /** Allow the merchant to process PromptPay payments. */ + public Builder setPromptpayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments + promptpayPayments) { + this.promptpayPayments = promptpayPayments; + return this; + } - @SerializedName("tc") - TC("tc"), + /** Allow the merchant to process Revolut Pay payments. */ + public Builder setRevolutPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + revolutPayPayments) { + this.revolutPayPayments = revolutPayPayments; + return this; + } - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), + /** Allow the merchant to process Samsung Pay payments. */ + public Builder setSamsungPayPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + samsungPayPayments) { + this.samsungPayPayments = samsungPayPayments; + return this; + } - @SerializedName("tj") - TJ("tj"), + /** Allow the merchant to process SEPA bank transfer payments. */ + public Builder setSepaBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + sepaBankTransferPayments) { + this.sepaBankTransferPayments = sepaBankTransferPayments; + return this; + } - @SerializedName("tk") - TK("tk"), + /** Allow the merchant to process SEPA Direct Debit payments. */ + public Builder setSepaDebitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + sepaDebitPayments) { + this.sepaDebitPayments = sepaDebitPayments; + return this; + } - @SerializedName("tl") - TL("tl"), + /** Allow the merchant to process Swish payments. */ + public Builder setSwishPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { + this.swishPayments = swishPayments; + return this; + } - @SerializedName("tm") - TM("tm"), + /** Allow the merchant to process TWINT payments. */ + public Builder setTwintPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { + this.twintPayments = twintPayments; + return this; + } - @SerializedName("tn") - TN("tn"), + /** Allow the merchant to process US bank transfer payments. */ + public Builder setUsBankTransferPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + usBankTransferPayments) { + this.usBankTransferPayments = usBankTransferPayments; + return this; + } - @SerializedName("to") - TO("to"), + /** Allow the merchant to process Zip payments. */ + public Builder setZipPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { + this.zipPayments = zipPayments; + return this; + } + } - @SerializedName("tr") - TR("tr"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AchDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tt") - TT("tt"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("tv") - TV("tv"), + private AchDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("tw") - TW("tw"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tz") - TZ("tz"), + public static class Builder { + private Map extraParams; - @SerializedName("ua") - UA("ua"), + private Boolean requested; - @SerializedName("ug") - UG("ug"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments( + this.extraParams, this.requested); + } - @SerializedName("um") - UM("um"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("us") - US("us"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("uy") - UY("uy"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("uz") - UZ("uz"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AcssDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("va") - VA("va"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("vc") - VC("vc"), + private AcssDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("ve") - VE("ve"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vg") - VG("vg"), + public static class Builder { + private Map extraParams; - @SerializedName("vi") - VI("vi"), + private Boolean requested; - @SerializedName("vn") - VN("vn"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( + this.extraParams, this.requested); + } - @SerializedName("vu") - VU("vu"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("wf") - WF("wf"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ws") - WS("ws"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("xx") - XX("xx"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AffirmPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ye") - YE("ye"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("yt") - YT("yt"), + private AffirmPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("za") - ZA("za"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("zm") - ZM("zm"), + public static class Builder { + private Map extraParams; - @SerializedName("zw") - ZW("zw"); + private Boolean requested; - @Getter(onMethod_ = {@Override}) - private final String value; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments( + this.extraParams, this.requested); + } - Country(String value) { - this.value = value; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Merchant { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Settings used for Bacs debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - @SerializedName("branding") - Branding branding; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AfterpayClearpayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Capabilities to request on the Merchant Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Card payments settings. */ - @SerializedName("card_payments") - CardPayments cardPayments; + private AfterpayClearpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** - * The merchant category code for the merchant. MCCs are used to classify businesses based on - * the goods or services they provide. - */ - @SerializedName("mcc") - Object mcc; + public static class Builder { + private Map extraParams; - /** Statement descriptor. */ - @SerializedName("statement_descriptor") - StatementDescriptor statementDescriptor; + private Boolean requested; - /** Publicly available contact information for sending support issues to. */ - @SerializedName("support") - Support support; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .AfterpayClearpayPayments(this.extraParams, this.requested); + } - private Merchant( - Boolean applied, - BacsDebitPayments bacsDebitPayments, - Branding branding, - Capabilities capabilities, - CardPayments cardPayments, - Map extraParams, - Object mcc, - StatementDescriptor statementDescriptor, - Support support) { - this.applied = applied; - this.bacsDebitPayments = bacsDebitPayments; - this.branding = branding; - this.capabilities = capabilities; - this.cardPayments = cardPayments; - this.extraParams = extraParams; - this.mcc = mcc; - this.statementDescriptor = statementDescriptor; - this.support = support; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.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; + } - public static class Builder { - private Boolean applied; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private BacsDebitPayments bacsDebitPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AlmaPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Branding branding; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Capabilities capabilities; + private AlmaPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private CardPayments cardPayments; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Map extraParams; - private Object mcc; + private Boolean requested; - private StatementDescriptor statementDescriptor; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments( + this.extraParams, this.requested); + } - private Support support; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant build() { - return new AccountUpdateParams.Configuration.Merchant( - this.applied, - this.bacsDebitPayments, - this.branding, - this.capabilities, - this.cardPayments, - this.extraParams, - this.mcc, - this.statementDescriptor, - this.support); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - /** Settings used for Bacs debit payments. */ - public Builder setBacsDebitPayments( - AccountUpdateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; - } - - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - public Builder setBranding(AccountUpdateParams.Configuration.Merchant.Branding branding) { - this.branding = branding; - return this; - } - - /** Capabilities to request on the Merchant Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Merchant.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AmazonPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Card payments settings. */ - public Builder setCardPayments( - AccountUpdateParams.Configuration.Merchant.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private AmazonPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - - /** - * The merchant category code for the merchant. 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 merchant category code for the merchant. MCCs are used to classify businesses based - * on the goods or services they provide. - */ - public Builder setMcc(EmptyParam mcc) { - this.mcc = mcc; - return this; - } - /** Statement descriptor. */ - public Builder setStatementDescriptor( - AccountUpdateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { - this.statementDescriptor = statementDescriptor; - return this; - } + public static class Builder { + private Map extraParams; - /** Publicly available contact information for sending support issues to. */ - public Builder setSupport(AccountUpdateParams.Configuration.Merchant.Support support) { - this.support = support; - return this; - } - } + private Boolean requested; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** Display name for Bacs debit payments. */ - @SerializedName("display_name") - Object displayName; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( + this.extraParams, this.requested); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private BacsDebitPayments(Object displayName, Map extraParams) { - this.displayName = displayName; - this.extraParams = extraParams; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - public static class Builder { - private Object displayName; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AuBecsDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.BacsDebitPayments build() { - return new AccountUpdateParams.Configuration.Merchant.BacsDebitPayments( - this.displayName, this.extraParams); + private AuBecsDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Display name for Bacs debit payments. */ - public Builder setDisplayName(String displayName) { - this.displayName = displayName; - return this; + public static Builder builder() { + return new Builder(); } - /** Display name for Bacs debit payments. */ - public Builder setDisplayName(EmptyParam displayName) { - this.displayName = displayName; - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Boolean requested; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .AuBecsDebitPayments(this.extraParams, this.requested); } - this.extraParams.putAll(map); - return this; - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Branding { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * ID of a file upload: - * An icon for the merchant. Must be square and at least 128px x 128px. - */ - @SerializedName("icon") - Object icon; - - /** - * ID of a file upload: - * A logo for the merchant that will be used in Checkout instead of the icon and without the - * merchant's name next to it if provided. Must be at least 128px x 128px. - */ - @SerializedName("logo") - Object logo; - - /** A CSS hex color value representing the primary branding color for the merchant. */ - @SerializedName("primary_color") - Object primaryColor; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** A CSS hex color value representing the secondary branding color for the merchant. */ - @SerializedName("secondary_color") - Object secondaryColor; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Branding( - Map extraParams, - Object icon, - Object logo, - Object primaryColor, - Object secondaryColor) { - this.extraParams = extraParams; - this.icon = icon; - this.logo = logo; - this.primaryColor = primaryColor; - this.secondaryColor = secondaryColor; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static class Builder { - private Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Object icon; + private BacsDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Object logo; + public static Builder builder() { + return new Builder(); + } - private Object primaryColor; + public static class Builder { + private Map extraParams; - private Object secondaryColor; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Branding build() { - return new AccountUpdateParams.Configuration.Merchant.Branding( - this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( + this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.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; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } - this.extraParams.putAll(map); - return this; - } - /** - * ID of a file - * upload: An icon for the merchant. Must be square and at least 128px x 128px. - */ - public Builder setIcon(String icon) { - this.icon = icon; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BancontactPayments { /** - * ID of a file - * upload: An icon for the merchant. Must be square and at least 128px x 128px. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setIcon(EmptyParam icon) { - this.icon = icon; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * ID of a file - * upload: A logo for the merchant that will be used in Checkout instead of the icon - * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - public Builder setLogo(String logo) { - this.logo = logo; - return this; - } + @SerializedName("requested") + Boolean requested; - /** - * ID of a file - * upload: A logo for the merchant that will be used in Checkout instead of the icon - * and without the merchant's name next to it if provided. Must be at least 128px x 128px. - */ - public Builder setLogo(EmptyParam logo) { - this.logo = logo; - return this; + private BancontactPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** A CSS hex color value representing the primary branding color for the merchant. */ - public Builder setPrimaryColor(String primaryColor) { - this.primaryColor = primaryColor; - return this; + public static Builder builder() { + return new Builder(); } - /** A CSS hex color value representing the primary branding color for the merchant. */ - public Builder setPrimaryColor(EmptyParam primaryColor) { - this.primaryColor = primaryColor; - return this; - } + public static class Builder { + private Map extraParams; - /** A CSS hex color value representing the secondary branding color for the merchant. */ - public Builder setSecondaryColor(String secondaryColor) { - this.secondaryColor = secondaryColor; - return this; - } + private Boolean requested; - /** A CSS hex color value representing the secondary branding color for the merchant. */ - public Builder setSecondaryColor(EmptyParam secondaryColor) { - this.secondaryColor = secondaryColor; - return this; - } - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments( + this.extraParams, this.requested); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Allow the merchant to process ACH debit payments. */ - @SerializedName("ach_debit_payments") - AchDebitPayments achDebitPayments; - - /** Allow the merchant to process ACSS debit payments. */ - @SerializedName("acss_debit_payments") - AcssDebitPayments acssDebitPayments; - - /** Allow the merchant to process Affirm payments. */ - @SerializedName("affirm_payments") - AffirmPayments affirmPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Afterpay/Clearpay payments. */ - @SerializedName("afterpay_clearpay_payments") - AfterpayClearpayPayments afterpayClearpayPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process Alma payments. */ - @SerializedName("alma_payments") - AlmaPayments almaPayments; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** Allow the merchant to process Amazon Pay payments. */ - @SerializedName("amazon_pay_payments") - AmazonPayPayments amazonPayPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BlikPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - @SerializedName("au_becs_debit_payments") - AuBecsDebitPayments auBecsDebitPayments; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process BACS Direct Debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + private BlikPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Allow the merchant to process Bancontact payments. */ - @SerializedName("bancontact_payments") - BancontactPayments bancontactPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process BLIK payments. */ - @SerializedName("blik_payments") - BlikPayments blikPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Boleto payments. */ - @SerializedName("boleto_payments") - BoletoPayments boletoPayments; + private Boolean requested; - /** Allow the merchant to collect card payments. */ - @SerializedName("card_payments") - CardPayments cardPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments( + this.extraParams, this.requested); + } - /** Allow the merchant to process Cartes Bancaires payments. */ - @SerializedName("cartes_bancaires_payments") - CartesBancairesPayments cartesBancairesPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Cash App payments. */ - @SerializedName("cashapp_payments") - CashappPayments cashappPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process EPS payments. */ - @SerializedName("eps_payments") - EpsPayments epsPayments; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BoletoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process FPX payments. */ - @SerializedName("fpx_payments") - FpxPayments fpxPayments; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process UK bank transfer payments. */ - @SerializedName("gb_bank_transfer_payments") - GbBankTransferPayments gbBankTransferPayments; + private BoletoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Allow the merchant to process GrabPay payments. */ - @SerializedName("grabpay_payments") - GrabpayPayments grabpayPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process iDEAL payments. */ - @SerializedName("ideal_payments") - IdealPayments idealPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process JCB card payments. */ - @SerializedName("jcb_payments") - JcbPayments jcbPayments; + private Boolean requested; - /** Allow the merchant to process Japanese bank transfer payments. */ - @SerializedName("jp_bank_transfer_payments") - JpBankTransferPayments jpBankTransferPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments( + this.extraParams, this.requested); + } - /** Allow the merchant to process Kakao Pay payments. */ - @SerializedName("kakao_pay_payments") - KakaoPayPayments kakaoPayPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Klarna payments. */ - @SerializedName("klarna_payments") - KlarnaPayments klarnaPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process Konbini convenience store payments. */ - @SerializedName("konbini_payments") - KonbiniPayments konbiniPayments; - - /** Allow the merchant to process Korean card payments. */ - @SerializedName("kr_card_payments") - KrCardPayments krCardPayments; - - /** Allow the merchant to process Link payments. */ - @SerializedName("link_payments") - LinkPayments linkPayments; - - /** Allow the merchant to process MobilePay payments. */ - @SerializedName("mobilepay_payments") - MobilepayPayments mobilepayPayments; - - /** Allow the merchant to process Multibanco payments. */ - @SerializedName("multibanco_payments") - MultibancoPayments multibancoPayments; - - /** Allow the merchant to process Mexican bank transfer payments. */ - @SerializedName("mx_bank_transfer_payments") - MxBankTransferPayments mxBankTransferPayments; - - /** Allow the merchant to process Naver Pay payments. */ - @SerializedName("naver_pay_payments") - NaverPayPayments naverPayPayments; - - /** Allow the merchant to process OXXO payments. */ - @SerializedName("oxxo_payments") - OxxoPayments oxxoPayments; - - /** Allow the merchant to process Przelewy24 (P24) payments. */ - @SerializedName("p24_payments") - P24Payments p24Payments; - - /** Allow the merchant to process Pay by Bank payments. */ - @SerializedName("pay_by_bank_payments") - PayByBankPayments payByBankPayments; - - /** Allow the merchant to process PAYCO payments. */ - @SerializedName("payco_payments") - PaycoPayments paycoPayments; - - /** Allow the merchant to process PayNow payments. */ - @SerializedName("paynow_payments") - PaynowPayments paynowPayments; - - /** Allow the merchant to process PromptPay payments. */ - @SerializedName("promptpay_payments") - PromptpayPayments promptpayPayments; - - /** Allow the merchant to process Revolut Pay payments. */ - @SerializedName("revolut_pay_payments") - RevolutPayPayments revolutPayPayments; - - /** Allow the merchant to process Samsung Pay payments. */ - @SerializedName("samsung_pay_payments") - SamsungPayPayments samsungPayPayments; - - /** Allow the merchant to process SEPA bank transfer payments. */ - @SerializedName("sepa_bank_transfer_payments") - SepaBankTransferPayments sepaBankTransferPayments; - - /** Allow the merchant to process SEPA Direct Debit payments. */ - @SerializedName("sepa_debit_payments") - SepaDebitPayments sepaDebitPayments; - - /** Allow the merchant to process Swish payments. */ - @SerializedName("swish_payments") - SwishPayments swishPayments; - - /** Allow the merchant to process TWINT payments. */ - @SerializedName("twint_payments") - TwintPayments twintPayments; - - /** Allow the merchant to process US bank transfer payments. */ - @SerializedName("us_bank_transfer_payments") - UsBankTransferPayments usBankTransferPayments; - - /** Allow the merchant to process Zip payments. */ - @SerializedName("zip_payments") - ZipPayments zipPayments; - - private Capabilities( - AchDebitPayments achDebitPayments, - AcssDebitPayments acssDebitPayments, - AffirmPayments affirmPayments, - AfterpayClearpayPayments afterpayClearpayPayments, - AlmaPayments almaPayments, - AmazonPayPayments amazonPayPayments, - AuBecsDebitPayments auBecsDebitPayments, - BacsDebitPayments bacsDebitPayments, - BancontactPayments bancontactPayments, - BlikPayments blikPayments, - BoletoPayments boletoPayments, - CardPayments cardPayments, - CartesBancairesPayments cartesBancairesPayments, - CashappPayments cashappPayments, - EpsPayments epsPayments, - Map extraParams, - FpxPayments fpxPayments, - GbBankTransferPayments gbBankTransferPayments, - GrabpayPayments grabpayPayments, - IdealPayments idealPayments, - JcbPayments jcbPayments, - JpBankTransferPayments jpBankTransferPayments, - KakaoPayPayments kakaoPayPayments, - KlarnaPayments klarnaPayments, - KonbiniPayments konbiniPayments, - KrCardPayments krCardPayments, - LinkPayments linkPayments, - MobilepayPayments mobilepayPayments, - MultibancoPayments multibancoPayments, - MxBankTransferPayments mxBankTransferPayments, - NaverPayPayments naverPayPayments, - OxxoPayments oxxoPayments, - P24Payments p24Payments, - PayByBankPayments payByBankPayments, - PaycoPayments paycoPayments, - PaynowPayments paynowPayments, - PromptpayPayments promptpayPayments, - RevolutPayPayments revolutPayPayments, - SamsungPayPayments samsungPayPayments, - SepaBankTransferPayments sepaBankTransferPayments, - SepaDebitPayments sepaDebitPayments, - SwishPayments swishPayments, - TwintPayments twintPayments, - UsBankTransferPayments usBankTransferPayments, - ZipPayments zipPayments) { - this.achDebitPayments = achDebitPayments; - this.acssDebitPayments = acssDebitPayments; - this.affirmPayments = affirmPayments; - this.afterpayClearpayPayments = afterpayClearpayPayments; - this.almaPayments = almaPayments; - this.amazonPayPayments = amazonPayPayments; - this.auBecsDebitPayments = auBecsDebitPayments; - this.bacsDebitPayments = bacsDebitPayments; - this.bancontactPayments = bancontactPayments; - this.blikPayments = blikPayments; - this.boletoPayments = boletoPayments; - this.cardPayments = cardPayments; - this.cartesBancairesPayments = cartesBancairesPayments; - this.cashappPayments = cashappPayments; - this.epsPayments = epsPayments; - this.extraParams = extraParams; - this.fpxPayments = fpxPayments; - this.gbBankTransferPayments = gbBankTransferPayments; - this.grabpayPayments = grabpayPayments; - this.idealPayments = idealPayments; - this.jcbPayments = jcbPayments; - this.jpBankTransferPayments = jpBankTransferPayments; - this.kakaoPayPayments = kakaoPayPayments; - this.klarnaPayments = klarnaPayments; - this.konbiniPayments = konbiniPayments; - this.krCardPayments = krCardPayments; - this.linkPayments = linkPayments; - this.mobilepayPayments = mobilepayPayments; - this.multibancoPayments = multibancoPayments; - this.mxBankTransferPayments = mxBankTransferPayments; - this.naverPayPayments = naverPayPayments; - this.oxxoPayments = oxxoPayments; - this.p24Payments = p24Payments; - this.payByBankPayments = payByBankPayments; - this.paycoPayments = paycoPayments; - this.paynowPayments = paynowPayments; - this.promptpayPayments = promptpayPayments; - this.revolutPayPayments = revolutPayPayments; - this.samsungPayPayments = samsungPayPayments; - this.sepaBankTransferPayments = sepaBankTransferPayments; - this.sepaDebitPayments = sepaDebitPayments; - this.swishPayments = swishPayments; - this.twintPayments = twintPayments; - this.usBankTransferPayments = usBankTransferPayments; - this.zipPayments = zipPayments; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private AchDebitPayments achDebitPayments; - - private AcssDebitPayments acssDebitPayments; - - private AffirmPayments affirmPayments; - - private AfterpayClearpayPayments afterpayClearpayPayments; - - private AlmaPayments almaPayments; - - private AmazonPayPayments amazonPayPayments; - - private AuBecsDebitPayments auBecsDebitPayments; - - private BacsDebitPayments bacsDebitPayments; - - private BancontactPayments bancontactPayments; - - private BlikPayments blikPayments; - - private BoletoPayments boletoPayments; - - private CardPayments cardPayments; - - private CartesBancairesPayments cartesBancairesPayments; - - private CashappPayments cashappPayments; - - private EpsPayments epsPayments; - - private Map extraParams; - - private FpxPayments fpxPayments; - - private GbBankTransferPayments gbBankTransferPayments; - - private GrabpayPayments grabpayPayments; - - private IdealPayments idealPayments; - - private JcbPayments jcbPayments; - - private JpBankTransferPayments jpBankTransferPayments; - - private KakaoPayPayments kakaoPayPayments; - - private KlarnaPayments klarnaPayments; - - private KonbiniPayments konbiniPayments; - - private KrCardPayments krCardPayments; - - private LinkPayments linkPayments; - - private MobilepayPayments mobilepayPayments; - - private MultibancoPayments multibancoPayments; - - private MxBankTransferPayments mxBankTransferPayments; - - private NaverPayPayments naverPayPayments; - - private OxxoPayments oxxoPayments; - - private P24Payments p24Payments; - - private PayByBankPayments payByBankPayments; - - private PaycoPayments paycoPayments; - - private PaynowPayments paynowPayments; - - private PromptpayPayments promptpayPayments; - - private RevolutPayPayments revolutPayPayments; - - private SamsungPayPayments samsungPayPayments; - - private SepaBankTransferPayments sepaBankTransferPayments; - - private SepaDebitPayments sepaDebitPayments; - - private SwishPayments swishPayments; - - private TwintPayments twintPayments; - - private UsBankTransferPayments usBankTransferPayments; - - private ZipPayments zipPayments; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities( - this.achDebitPayments, - this.acssDebitPayments, - this.affirmPayments, - this.afterpayClearpayPayments, - this.almaPayments, - this.amazonPayPayments, - this.auBecsDebitPayments, - this.bacsDebitPayments, - this.bancontactPayments, - this.blikPayments, - this.boletoPayments, - this.cardPayments, - this.cartesBancairesPayments, - this.cashappPayments, - this.epsPayments, - this.extraParams, - this.fpxPayments, - this.gbBankTransferPayments, - this.grabpayPayments, - this.idealPayments, - this.jcbPayments, - this.jpBankTransferPayments, - this.kakaoPayPayments, - this.klarnaPayments, - this.konbiniPayments, - this.krCardPayments, - this.linkPayments, - this.mobilepayPayments, - this.multibancoPayments, - this.mxBankTransferPayments, - this.naverPayPayments, - this.oxxoPayments, - this.p24Payments, - this.payByBankPayments, - this.paycoPayments, - this.paynowPayments, - this.promptpayPayments, - this.revolutPayPayments, - this.samsungPayPayments, - this.sepaBankTransferPayments, - this.sepaDebitPayments, - this.swishPayments, - this.twintPayments, - this.usBankTransferPayments, - this.zipPayments); - } - - /** Allow the merchant to process ACH debit payments. */ - public Builder setAchDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments - achDebitPayments) { - this.achDebitPayments = achDebitPayments; - return this; - } - - /** Allow the merchant to process ACSS debit payments. */ - public Builder setAcssDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - acssDebitPayments) { - this.acssDebitPayments = acssDebitPayments; - return this; - } - - /** Allow the merchant to process Affirm payments. */ - public Builder setAffirmPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments - affirmPayments) { - this.affirmPayments = affirmPayments; - return this; - } - - /** Allow the merchant to process Afterpay/Clearpay payments. */ - public Builder setAfterpayClearpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments - afterpayClearpayPayments) { - this.afterpayClearpayPayments = afterpayClearpayPayments; - return this; - } - - /** Allow the merchant to process Alma payments. */ - public Builder setAlmaPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments almaPayments) { - this.almaPayments = almaPayments; - return this; - } - - /** Allow the merchant to process Amazon Pay payments. */ - public Builder setAmazonPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - amazonPayPayments) { - this.amazonPayPayments = amazonPayPayments; - return this; - } - - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - public Builder setAuBecsDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - auBecsDebitPayments) { - this.auBecsDebitPayments = auBecsDebitPayments; - return this; - } - - /** Allow the merchant to process BACS Direct Debit payments. */ - public Builder setBacsDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; - } - - /** Allow the merchant to process Bancontact payments. */ - public Builder setBancontactPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments - bancontactPayments) { - this.bancontactPayments = bancontactPayments; - return this; - } - - /** Allow the merchant to process BLIK payments. */ - public Builder setBlikPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { - this.blikPayments = blikPayments; - return this; - } - - /** Allow the merchant to process Boleto payments. */ - public Builder setBoletoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments - boletoPayments) { - this.boletoPayments = boletoPayments; - return this; - } - - /** Allow the merchant to collect card payments. */ - public Builder setCardPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } - - /** Allow the merchant to process Cartes Bancaires payments. */ - public Builder setCartesBancairesPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - cartesBancairesPayments) { - this.cartesBancairesPayments = cartesBancairesPayments; - return this; - } - - /** Allow the merchant to process Cash App payments. */ - public Builder setCashappPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments - cashappPayments) { - this.cashappPayments = cashappPayments; - return this; - } - - /** Allow the merchant to process EPS payments. */ - public Builder setEpsPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { - this.epsPayments = epsPayments; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Allow the merchant to process FPX payments. */ - public Builder setFpxPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { - this.fpxPayments = fpxPayments; - return this; - } - - /** Allow the merchant to process UK bank transfer payments. */ - public Builder setGbBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments - gbBankTransferPayments) { - this.gbBankTransferPayments = gbBankTransferPayments; - return this; - } - - /** Allow the merchant to process GrabPay payments. */ - public Builder setGrabpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments - grabpayPayments) { - this.grabpayPayments = grabpayPayments; - return this; - } - - /** Allow the merchant to process iDEAL payments. */ - public Builder setIdealPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { - this.idealPayments = idealPayments; - return this; - } - - /** Allow the merchant to process JCB card payments. */ - public Builder setJcbPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { - this.jcbPayments = jcbPayments; - return this; - } - - /** Allow the merchant to process Japanese bank transfer payments. */ - public Builder setJpBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - jpBankTransferPayments) { - this.jpBankTransferPayments = jpBankTransferPayments; - return this; - } - - /** Allow the merchant to process Kakao Pay payments. */ - public Builder setKakaoPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - kakaoPayPayments) { - this.kakaoPayPayments = kakaoPayPayments; - return this; - } - - /** Allow the merchant to process Klarna payments. */ - public Builder setKlarnaPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments - klarnaPayments) { - this.klarnaPayments = klarnaPayments; - return this; - } - - /** Allow the merchant to process Konbini convenience store payments. */ - public Builder setKonbiniPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments - konbiniPayments) { - this.konbiniPayments = konbiniPayments; - return this; - } - - /** Allow the merchant to process Korean card payments. */ - public Builder setKrCardPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments - krCardPayments) { - this.krCardPayments = krCardPayments; - return this; - } - - /** Allow the merchant to process Link payments. */ - public Builder setLinkPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { - this.linkPayments = linkPayments; - return this; - } - - /** Allow the merchant to process MobilePay payments. */ - public Builder setMobilepayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments - mobilepayPayments) { - this.mobilepayPayments = mobilepayPayments; - return this; - } - - /** Allow the merchant to process Multibanco payments. */ - public Builder setMultibancoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments - multibancoPayments) { - this.multibancoPayments = multibancoPayments; - return this; - } - - /** Allow the merchant to process Mexican bank transfer payments. */ - public Builder setMxBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - mxBankTransferPayments) { - this.mxBankTransferPayments = mxBankTransferPayments; - return this; - } - - /** Allow the merchant to process Naver Pay payments. */ - public Builder setNaverPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments - naverPayPayments) { - this.naverPayPayments = naverPayPayments; - return this; - } - - /** Allow the merchant to process OXXO payments. */ - public Builder setOxxoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { - this.oxxoPayments = oxxoPayments; - return this; - } - - /** Allow the merchant to process Przelewy24 (P24) payments. */ - public Builder setP24Payments( - AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { - this.p24Payments = p24Payments; - return this; - } - - /** Allow the merchant to process Pay by Bank payments. */ - public Builder setPayByBankPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments - payByBankPayments) { - this.payByBankPayments = payByBankPayments; - return this; - } - - /** Allow the merchant to process PAYCO payments. */ - public Builder setPaycoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { - this.paycoPayments = paycoPayments; - return this; - } - - /** Allow the merchant to process PayNow payments. */ - public Builder setPaynowPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments - paynowPayments) { - this.paynowPayments = paynowPayments; - return this; - } - - /** Allow the merchant to process PromptPay payments. */ - public Builder setPromptpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments - promptpayPayments) { - this.promptpayPayments = promptpayPayments; - return this; - } - - /** Allow the merchant to process Revolut Pay payments. */ - public Builder setRevolutPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - revolutPayPayments) { - this.revolutPayPayments = revolutPayPayments; - return this; - } - - /** Allow the merchant to process Samsung Pay payments. */ - public Builder setSamsungPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - samsungPayPayments) { - this.samsungPayPayments = samsungPayPayments; - return this; - } - - /** Allow the merchant to process SEPA bank transfer payments. */ - public Builder setSepaBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments - sepaBankTransferPayments) { - this.sepaBankTransferPayments = sepaBankTransferPayments; - return this; - } - - /** Allow the merchant to process SEPA Direct Debit payments. */ - public Builder setSepaDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - sepaDebitPayments) { - this.sepaDebitPayments = sepaDebitPayments; - return this; - } - - /** Allow the merchant to process Swish payments. */ - public Builder setSwishPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { - this.swishPayments = swishPayments; - return this; - } - - /** Allow the merchant to process TWINT payments. */ - public Builder setTwintPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { - this.twintPayments = twintPayments; - return this; - } - - /** Allow the merchant to process US bank transfer payments. */ - public Builder setUsBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - usBankTransferPayments) { - this.usBankTransferPayments = usBankTransferPayments; - return this; - } - - /** Allow the merchant to process Zip payments. */ - public Builder setZipPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { - this.zipPayments = zipPayments; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AchDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AchDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AcssDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AcssDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AffirmPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AffirmPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AfterpayClearpayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AfterpayClearpayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .AfterpayClearpayPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AlmaPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AlmaPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AmazonPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AmazonPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AuBecsDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private AuBecsDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .AuBecsDebitPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BacsDebitPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BancontactPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BancontactPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BlikPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BlikPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BoletoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BoletoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private CardPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CartesBancairesPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private CartesBancairesPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .CartesBancairesPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CashappPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private CashappPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EpsPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private EpsPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FpxPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private FpxPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class GbBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private GbBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .GbBankTransferPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class GrabpayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private GrabpayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class IdealPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private IdealPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class JcbPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private JcbPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class JpBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private JpBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .JpBankTransferPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class KakaoPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private KakaoPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class KlarnaPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private KlarnaPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class KonbiniPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private KonbiniPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class KrCardPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private KrCardPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class LinkPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private LinkPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MobilepayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private MobilepayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MultibancoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private MultibancoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MxBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private MxBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .MxBankTransferPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class NaverPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private NaverPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OxxoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private OxxoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class P24Payments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private P24Payments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PayByBankPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private PayByBankPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PaycoPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private PaycoPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PaynowPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private PaynowPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.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 - * AccountUpdateParams.Configuration.Merchant.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; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private 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 AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RevolutPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private RevolutPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SamsungPayPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private SamsungPayPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SepaBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private SepaBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .SepaBankTransferPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class 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; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private 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 AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SwishPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private SwishPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TwintPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private TwintPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class UsBankTransferPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private UsBankTransferPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .UsBankTransferPayments(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ZipPayments { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private ZipPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.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 - * AccountUpdateParams.Configuration.Merchant.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; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardPayments { - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - @SerializedName("decline_on") - DeclineOn declineOn; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private CardPayments(DeclineOn declineOn, Map extraParams) { - this.declineOn = declineOn; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private DeclineOn declineOn; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.CardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.CardPayments( - this.declineOn, this.extraParams); - } - - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - public Builder setDeclineOn( - AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { - this.declineOn = declineOn; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DeclineOn { - /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. - */ - @SerializedName("avs_failure") - Boolean avsFailure; - - /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting only - * applies when a CVC is provided and it fails bank verification. - */ - @SerializedName("cvc_failure") - Boolean cvcFailure; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private DeclineOn( - Boolean avsFailure, Boolean cvcFailure, Map extraParams) { - this.avsFailure = avsFailure; - this.cvcFailure = cvcFailure; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean avsFailure; - - private Boolean cvcFailure; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn build() { - return new AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn( - this.avsFailure, this.cvcFailure, this.extraParams); - } - - /** - * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. - * This setting only applies when a ZIP or postal code is provided and they fail bank - * verification. - */ - public Builder setAvsFailure(Boolean avsFailure) { - this.avsFailure = avsFailure; - return this; - } - - /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting - * only applies when a CVC is provided and it fails bank verification. - */ - public Builder setCvcFailure(Boolean cvcFailure) { - this.cvcFailure = cvcFailure; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StatementDescriptor { - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement descriptor - * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the - * statement_descriptor text to limit the full descriptor to 22 characters. For more - * information about statement descriptors and their requirements, see the Merchant - * Configuration settings documentation. - */ - @SerializedName("descriptor") - Object descriptor; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Default text that appears on statements for card charges outside of Japan, prefixing any - * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the - * dynamic part of the descriptor, keep this text short. If you don’t specify this value, - * statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - @SerializedName("prefix") - Object prefix; - - private StatementDescriptor( - Object descriptor, Map extraParams, Object prefix) { - this.descriptor = descriptor; - this.extraParams = extraParams; - this.prefix = prefix; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object descriptor; - - private Map extraParams; - - private Object prefix; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.StatementDescriptor build() { - return new AccountUpdateParams.Configuration.Merchant.StatementDescriptor( - this.descriptor, this.extraParams, this.prefix); - } - - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; - return this; - } - - /** - * The default text that appears on statements for non-card charges outside of Japan. For - * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as - * the statement descriptor prefix. In that case, if concatenating the statement - * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we - * truncate the statement_descriptor text to limit the full descriptor to 22 characters. - * For more information about statement descriptors and their requirements, see the - * Merchant Configuration settings documentation. - */ - public Builder setDescriptor(EmptyParam descriptor) { - this.descriptor = descriptor; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(EmptyParam prefix) { - this.prefix = prefix; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Support { - /** A publicly available mailing address for sending support issues to. */ - @SerializedName("address") - Address address; - - /** A publicly available email address for sending support issues to. */ - @SerializedName("email") - Object email; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** A publicly available phone number to call with support issues. */ - @SerializedName("phone") - Object phone; - - /** A publicly available website for handling support issues. */ - @SerializedName("url") - Object url; - - private Support( - Address address, - Object email, - Map extraParams, - Object phone, - Object url) { - this.address = address; - this.email = email; - this.extraParams = extraParams; - this.phone = phone; - this.url = url; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Address address; - - private Object email; - - private Map extraParams; - - private Object phone; - - private Object url; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Support build() { - return new AccountUpdateParams.Configuration.Merchant.Support( - this.address, this.email, this.extraParams, this.phone, this.url); - } - - /** A publicly available mailing address for sending support issues to. */ - public Builder setAddress( - AccountUpdateParams.Configuration.Merchant.Support.Address address) { - this.address = address; - return this; - } - - /** A publicly available email address for sending support issues to. */ - public Builder setEmail(String email) { - this.email = email; - return this; - } - - /** A publicly available email address for sending support issues to. */ - public Builder setEmail(EmptyParam email) { - this.email = email; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } - - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; - return this; - } - - /** A publicly available website for handling support issues. */ - public Builder setUrl(String url) { - this.url = url; - return this; - } - - /** A publicly available website for handling support issues. */ - public Builder setUrl(EmptyParam url) { - this.url = url; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam 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") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or cho-me. */ - @SerializedName("town") - Object town; - - private Address( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object city; - - private ApiRequestParams.EnumParam country; - - private Map extraParams; - - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Support.Address build() { - return new AccountUpdateParams.Configuration.Merchant.Support.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; - } - - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountUpdateParams.Configuration.Merchant.Support.Address.Country country) { - this.country = country; - return this; - } - - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam 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 - * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Recipient { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; - - /** Capabilities to request on the Recipient Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. - */ - @SerializedName("default_outbound_destination") - Object defaultOutboundDestination; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private Recipient( - Boolean applied, - Capabilities capabilities, - Object defaultOutboundDestination, - Map extraParams) { - this.applied = applied; - this.capabilities = capabilities; - this.defaultOutboundDestination = defaultOutboundDestination; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean applied; - - private Capabilities capabilities; - - private Object defaultOutboundDestination; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient build() { - return new AccountUpdateParams.Configuration.Recipient( - this.applied, this.capabilities, this.defaultOutboundDestination, this.extraParams); - } - - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; - } - - /** Capabilities to request on the Recipient Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } - - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. - */ - public Builder setDefaultOutboundDestination(String defaultOutboundDestination) { - this.defaultOutboundDestination = defaultOutboundDestination; - return this; - } - - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. - */ - public Builder setDefaultOutboundDestination(EmptyParam defaultOutboundDestination) { - this.defaultOutboundDestination = defaultOutboundDestination; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Capability that enable OutboundPayments to a debit card linked to this Account. */ - @SerializedName("cards") - Cards cards; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("stripe_balance") - StripeBalance stripeBalance; - - private Capabilities( - BankAccounts bankAccounts, - Cards cards, - Map extraParams, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.extraParams = extraParams; - this.stripeBalance = stripeBalance; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; - - private Map extraParams; - - private StripeBalance stripeBalance; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities( - this.bankAccounts, this.cards, this.extraParams, this.stripeBalance); - } - - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Capability that enable OutboundPayments to a debit card linked to this Account. */ - public Builder setCards( - AccountUpdateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). - */ - public Builder setStripeBalance( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - stripeBalance) { - this.stripeBalance = stripeBalance; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - @SerializedName("local") - Local local; - - /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - @SerializedName("wire") - Wire wire; - - private BankAccounts(Map extraParams, Local local, Wire wire) { - this.extraParams = extraParams; - this.local = local; - this.wire = wire; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Local local; - - private Wire wire; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts( - this.extraParams, this.local, this.wire); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - public Builder setLocal( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { - this.local = local; - return this; - } - - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over wire. - */ - public Builder setWire( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { - this.wire = wire; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Local { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Local(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Wire { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Wire(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeBalance { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). - */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; - - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { - this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private StripeTransfers stripeTransfers; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance( - this.extraParams, this.stripeTransfers); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). - */ - public Builder setStripeTransfers( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - stripeTransfers) { - this.stripeTransfers = stripeTransfers; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private StripeTransfers(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; - - /** Capabilities to request on the Storer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private Storer(Boolean applied, Capabilities capabilities, Map extraParams) { - this.applied = applied; - this.capabilities = capabilities; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean applied; - - private Capabilities capabilities; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer build() { - return new AccountUpdateParams.Configuration.Storer( - this.applied, this.capabilities, this.extraParams); - } - - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; - } - - /** Capabilities to request on the Storer Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Storer.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Can provision a financial address to credit/debit a FinancialAccount. */ - @SerializedName("financial_addresses") - FinancialAddresses financialAddresses; - - /** Can hold storage-type funds on Stripe. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; - - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - @SerializedName("inbound_transfers") - InboundTransfers inboundTransfers; - - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - @SerializedName("outbound_payments") - OutboundPayments outboundPayments; - - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - @SerializedName("outbound_transfers") - OutboundTransfers outboundTransfers; - - private Capabilities( - Map extraParams, - FinancialAddresses financialAddresses, - HoldsCurrencies holdsCurrencies, - InboundTransfers inboundTransfers, - OutboundPayments outboundPayments, - OutboundTransfers outboundTransfers) { - this.extraParams = extraParams; - this.financialAddresses = financialAddresses; - this.holdsCurrencies = holdsCurrencies; - this.inboundTransfers = inboundTransfers; - this.outboundPayments = outboundPayments; - this.outboundTransfers = outboundTransfers; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FinancialAddresses financialAddresses; - - private HoldsCurrencies holdsCurrencies; - - private InboundTransfers inboundTransfers; - - private OutboundPayments outboundPayments; - - private OutboundTransfers outboundTransfers; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities( - this.extraParams, - this.financialAddresses, - this.holdsCurrencies, - this.inboundTransfers, - this.outboundPayments, - this.outboundTransfers); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; - return this; - } - - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } - - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - public Builder setInboundTransfers( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - inboundTransfers) { - this.inboundTransfers = inboundTransfers; - return this; - } - - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - public Builder setOutboundPayments( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - outboundPayments) { - this.outboundPayments = outboundPayments; - return this; - } - - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - public Builder setOutboundTransfers( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - outboundTransfers) { - this.outboundTransfers = outboundTransfers; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private FinancialAddresses(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses( - this.bankAccounts, this.extraParams); - } - - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Can hold storage-type funds on Stripe in GBP. */ - @SerializedName("gbp") - Gbp gbp; - - private HoldsCurrencies(Map extraParams, Gbp gbp) { - this.extraParams = extraParams; - this.gbp = gbp; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Gbp gbp; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies( - this.extraParams, this.gbp); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can hold storage-type funds on Stripe in GBP. */ - public Builder setGbp( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { - this.gbp = gbp; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Gbp { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Gbp(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class InboundTransfers { - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers( - this.bankAccounts, this.extraParams); - } - - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundPayments { - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - @SerializedName("cards") - Cards cards; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; - - private OutboundPayments( - BankAccounts bankAccounts, - Cards cards, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; - - private Map extraParams; - - private FinancialAccounts financialAccounts; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments( - this.bankAccounts, this.cards, this.extraParams, this.financialAccounts); - } - - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - public Builder setCards( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - cards) { - this.cards = cards; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - public Builder setFinancialAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers { - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; - - private OutboundTransfers( - BankAccounts bankAccounts, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; - - private FinancialAccounts financialAccounts; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers( - this.bankAccounts, this.extraParams, this.financialAccounts); - } - - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - public Builder setFinancialAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Defaults { - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - @SerializedName("currency") - Currency currency; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The Account's preferred locales (languages), ordered by preference. */ - @SerializedName("locales") - List locales; - - /** Default responsibilities held by either Stripe or the platform. */ - @SerializedName("responsibilities") - Responsibilities responsibilities; - - private Defaults( - Currency currency, - Map extraParams, - List locales, - Responsibilities responsibilities) { - this.currency = currency; - this.extraParams = extraParams; - this.locales = locales; - this.responsibilities = responsibilities; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Currency currency; - - private Map extraParams; - - private List locales; - - private Responsibilities responsibilities; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Defaults build() { - return new AccountUpdateParams.Defaults( - this.currency, this.extraParams, this.locales, this.responsibilities); - } - - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - public Builder setCurrency(AccountUpdateParams.Defaults.Currency currency) { - this.currency = currency; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountUpdateParams.Defaults#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link AccountUpdateParams.Defaults#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Add an element to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Defaults#locales} for the field documentation. - */ - public Builder addLocale(AccountUpdateParams.Defaults.Locale element) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.add(element); - return this; - } - - /** - * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Defaults#locales} for the field documentation. - */ - public Builder addAllLocale(List elements) { - if (this.locales == null) { - this.locales = new ArrayList<>(); - } - this.locales.addAll(elements); - return this; - } - - /** Default responsibilities held by either Stripe or the platform. */ - public Builder setResponsibilities( - AccountUpdateParams.Defaults.Responsibilities responsibilities) { - this.responsibilities = responsibilities; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Responsibilities { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - @SerializedName("fees_collector") - FeesCollector feesCollector; - - /** - * Required. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - @SerializedName("losses_collector") - LossesCollector lossesCollector; - - private Responsibilities( - Map extraParams, - FeesCollector feesCollector, - LossesCollector lossesCollector) { - this.extraParams = extraParams; - this.feesCollector = feesCollector; - this.lossesCollector = lossesCollector; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FeesCollector feesCollector; - - private LossesCollector lossesCollector; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Defaults.Responsibilities build() { - return new AccountUpdateParams.Defaults.Responsibilities( - this.extraParams, this.feesCollector, this.lossesCollector); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - public Builder setFeesCollector( - AccountUpdateParams.Defaults.Responsibilities.FeesCollector feesCollector) { - this.feesCollector = feesCollector; - return this; - } - - /** - * Required. A value indicating who is responsible for losses when this - * Account can’t pay back negative balances from payments. - */ - public Builder setLossesCollector( - AccountUpdateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { - this.lossesCollector = lossesCollector; - return this; - } - } - - public enum FeesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), - - @SerializedName("stripe") - STRIPE("stripe"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - FeesCollector(String value) { - this.value = value; - } - } - - public enum LossesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), - - @SerializedName("stripe") - STRIPE("stripe"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - LossesCollector(String value) { - this.value = value; - } - } - } - - public enum Currency implements ApiRequestParams.EnumParam { - @SerializedName("aed") - AED("aed"), - - @SerializedName("afn") - AFN("afn"), - - @SerializedName("all") - ALL("all"), - - @SerializedName("amd") - AMD("amd"), - - @SerializedName("ang") - ANG("ang"), - - @SerializedName("aoa") - AOA("aoa"), - - @SerializedName("ars") - ARS("ars"), - - @SerializedName("aud") - AUD("aud"), - - @SerializedName("awg") - AWG("awg"), - - @SerializedName("azn") - AZN("azn"), - - @SerializedName("bam") - BAM("bam"), - - @SerializedName("bbd") - BBD("bbd"), - - @SerializedName("bdt") - BDT("bdt"), - - @SerializedName("bgn") - BGN("bgn"), - - @SerializedName("bhd") - BHD("bhd"), - - @SerializedName("bif") - BIF("bif"), - - @SerializedName("bmd") - BMD("bmd"), - - @SerializedName("bnd") - BND("bnd"), - - @SerializedName("bob") - BOB("bob"), - - @SerializedName("bov") - BOV("bov"), - - @SerializedName("brl") - BRL("brl"), - - @SerializedName("bsd") - BSD("bsd"), - - @SerializedName("btn") - BTN("btn"), - - @SerializedName("bwp") - BWP("bwp"), - - @SerializedName("byn") - BYN("byn"), - - @SerializedName("byr") - BYR("byr"), - - @SerializedName("bzd") - BZD("bzd"), - - @SerializedName("cad") - CAD("cad"), - - @SerializedName("cdf") - CDF("cdf"), - - @SerializedName("che") - CHE("che"), - - @SerializedName("chf") - CHF("chf"), - - @SerializedName("chw") - CHW("chw"), - - @SerializedName("clf") - CLF("clf"), - - @SerializedName("clp") - CLP("clp"), - - @SerializedName("cny") - CNY("cny"), - - @SerializedName("cop") - COP("cop"), - - @SerializedName("cou") - COU("cou"), - - @SerializedName("crc") - CRC("crc"), - - @SerializedName("cuc") - CUC("cuc"), - - @SerializedName("cup") - CUP("cup"), - - @SerializedName("cve") - CVE("cve"), - - @SerializedName("czk") - CZK("czk"), - - @SerializedName("djf") - DJF("djf"), - - @SerializedName("dkk") - DKK("dkk"), - - @SerializedName("dop") - DOP("dop"), - - @SerializedName("dzd") - DZD("dzd"), - - @SerializedName("eek") - EEK("eek"), - - @SerializedName("egp") - EGP("egp"), - - @SerializedName("ern") - ERN("ern"), - - @SerializedName("etb") - ETB("etb"), - - @SerializedName("eur") - EUR("eur"), - - @SerializedName("fjd") - FJD("fjd"), - - @SerializedName("fkp") - FKP("fkp"), - - @SerializedName("gbp") - GBP("gbp"), - - @SerializedName("gel") - GEL("gel"), - - @SerializedName("ghc") - GHC("ghc"), - - @SerializedName("ghs") - GHS("ghs"), - - @SerializedName("gip") - GIP("gip"), - - @SerializedName("gmd") - GMD("gmd"), - - @SerializedName("gnf") - GNF("gnf"), - - @SerializedName("gtq") - GTQ("gtq"), - - @SerializedName("gyd") - GYD("gyd"), - - @SerializedName("hkd") - HKD("hkd"), - - @SerializedName("hnl") - HNL("hnl"), - - @SerializedName("hrk") - HRK("hrk"), - - @SerializedName("htg") - HTG("htg"), - - @SerializedName("huf") - HUF("huf"), - - @SerializedName("idr") - IDR("idr"), - - @SerializedName("ils") - ILS("ils"), - - @SerializedName("inr") - INR("inr"), - - @SerializedName("iqd") - IQD("iqd"), - - @SerializedName("irr") - IRR("irr"), - - @SerializedName("isk") - ISK("isk"), - - @SerializedName("jmd") - JMD("jmd"), - - @SerializedName("jod") - JOD("jod"), - - @SerializedName("jpy") - JPY("jpy"), - - @SerializedName("kes") - KES("kes"), - - @SerializedName("kgs") - KGS("kgs"), - - @SerializedName("khr") - KHR("khr"), - - @SerializedName("kmf") - KMF("kmf"), - - @SerializedName("kpw") - KPW("kpw"), - - @SerializedName("krw") - KRW("krw"), - - @SerializedName("kwd") - KWD("kwd"), - - @SerializedName("kyd") - KYD("kyd"), - - @SerializedName("kzt") - KZT("kzt"), - - @SerializedName("lak") - LAK("lak"), - - @SerializedName("lbp") - LBP("lbp"), - - @SerializedName("lkr") - LKR("lkr"), - - @SerializedName("lrd") - LRD("lrd"), - - @SerializedName("lsl") - LSL("lsl"), - - @SerializedName("ltl") - LTL("ltl"), - - @SerializedName("lvl") - LVL("lvl"), - - @SerializedName("lyd") - LYD("lyd"), - - @SerializedName("mad") - MAD("mad"), - - @SerializedName("mdl") - MDL("mdl"), - - @SerializedName("mga") - MGA("mga"), - - @SerializedName("mkd") - MKD("mkd"), - - @SerializedName("mmk") - MMK("mmk"), - - @SerializedName("mnt") - MNT("mnt"), - - @SerializedName("mop") - MOP("mop"), - - @SerializedName("mro") - MRO("mro"), - - @SerializedName("mru") - MRU("mru"), - - @SerializedName("mur") - MUR("mur"), - - @SerializedName("mvr") - MVR("mvr"), - - @SerializedName("mwk") - MWK("mwk"), - - @SerializedName("mxn") - MXN("mxn"), - - @SerializedName("mxv") - MXV("mxv"), - - @SerializedName("myr") - MYR("myr"), - - @SerializedName("mzn") - MZN("mzn"), - - @SerializedName("nad") - NAD("nad"), - - @SerializedName("ngn") - NGN("ngn"), - - @SerializedName("nio") - NIO("nio"), - - @SerializedName("nok") - NOK("nok"), - - @SerializedName("npr") - NPR("npr"), - - @SerializedName("nzd") - NZD("nzd"), - - @SerializedName("omr") - OMR("omr"), - - @SerializedName("pab") - PAB("pab"), - - @SerializedName("pen") - PEN("pen"), - - @SerializedName("pgk") - PGK("pgk"), - - @SerializedName("php") - PHP("php"), - - @SerializedName("pkr") - PKR("pkr"), - - @SerializedName("pln") - PLN("pln"), - - @SerializedName("pyg") - PYG("pyg"), - - @SerializedName("qar") - QAR("qar"), - - @SerializedName("ron") - RON("ron"), - - @SerializedName("rsd") - RSD("rsd"), - - @SerializedName("rub") - RUB("rub"), - - @SerializedName("rwf") - RWF("rwf"), - - @SerializedName("sar") - SAR("sar"), - - @SerializedName("sbd") - SBD("sbd"), - - @SerializedName("scr") - SCR("scr"), - - @SerializedName("sdg") - SDG("sdg"), - - @SerializedName("sek") - SEK("sek"), - - @SerializedName("sgd") - SGD("sgd"), - - @SerializedName("shp") - SHP("shp"), - - @SerializedName("sle") - SLE("sle"), - - @SerializedName("sll") - SLL("sll"), - - @SerializedName("sos") - SOS("sos"), - - @SerializedName("srd") - SRD("srd"), - - @SerializedName("ssp") - SSP("ssp"), - - @SerializedName("std") - STD("std"), - - @SerializedName("stn") - STN("stn"), - - @SerializedName("svc") - SVC("svc"), - - @SerializedName("syp") - SYP("syp"), - - @SerializedName("szl") - SZL("szl"), - - @SerializedName("thb") - THB("thb"), - - @SerializedName("tjs") - TJS("tjs"), - - @SerializedName("tmt") - TMT("tmt"), - - @SerializedName("tnd") - TND("tnd"), - - @SerializedName("top") - TOP("top"), - - @SerializedName("try") - TRY("try"), - - @SerializedName("ttd") - TTD("ttd"), - - @SerializedName("twd") - TWD("twd"), - - @SerializedName("tzs") - TZS("tzs"), - - @SerializedName("uah") - UAH("uah"), - - @SerializedName("ugx") - UGX("ugx"), - - @SerializedName("usd") - USD("usd"), - - @SerializedName("usdb") - USDB("usdb"), - - @SerializedName("usdc") - USDC("usdc"), - - @SerializedName("usn") - USN("usn"), - - @SerializedName("uyi") - UYI("uyi"), - - @SerializedName("uyu") - UYU("uyu"), - - @SerializedName("uzs") - UZS("uzs"), - - @SerializedName("vef") - VEF("vef"), - - @SerializedName("ves") - VES("ves"), - - @SerializedName("vnd") - VND("vnd"), - - @SerializedName("vuv") - VUV("vuv"), - - @SerializedName("wst") - WST("wst"), - - @SerializedName("xaf") - XAF("xaf"), - - @SerializedName("xcd") - XCD("xcd"), - - @SerializedName("xcg") - XCG("xcg"), - - @SerializedName("xof") - XOF("xof"), - - @SerializedName("xpf") - XPF("xpf"), - - @SerializedName("yer") - YER("yer"), - - @SerializedName("zar") - ZAR("zar"), - - @SerializedName("zmk") - ZMK("zmk"), - - @SerializedName("zmw") - ZMW("zmw"), - - @SerializedName("zwd") - ZWD("zwd"), - - @SerializedName("zwg") - ZWG("zwg"), - - @SerializedName("zwl") - ZWL("zwl"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Currency(String value) { - this.value = value; - } - } - - public enum Locale implements ApiRequestParams.EnumParam { - @SerializedName("ar-SA") - AR_SA("ar-SA"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bg-BG") - BG_BG("bg-BG"), - - @SerializedName("cs") - CS("cs"), - - @SerializedName("cs-CZ") - CS_CZ("cs-CZ"), - - @SerializedName("da") - DA("da"), - - @SerializedName("da-DK") - DA_DK("da-DK"), - - @SerializedName("de") - DE("de"), - - @SerializedName("de-DE") - DE_DE("de-DE"), - - @SerializedName("el") - EL("el"), - - @SerializedName("el-GR") - EL_GR("el-GR"), - - @SerializedName("en") - EN("en"), - - @SerializedName("en-AU") - EN_AU("en-AU"), - - @SerializedName("en-CA") - EN_CA("en-CA"), - - @SerializedName("en-GB") - EN_GB("en-GB"), - - @SerializedName("en-IE") - EN_IE("en-IE"), - - @SerializedName("en-IN") - EN_IN("en-IN"), - - @SerializedName("en-NZ") - EN_NZ("en-NZ"), - - @SerializedName("en-SG") - EN_SG("en-SG"), - - @SerializedName("en-US") - EN_US("en-US"), - - @SerializedName("es") - ES("es"), - - @SerializedName("es-419") - ES_419("es-419"), - - @SerializedName("es-ES") - ES_ES("es-ES"), - - @SerializedName("et") - ET("et"), - - @SerializedName("et-EE") - ET_EE("et-EE"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fil") - FIL("fil"), - - @SerializedName("fil-PH") - FIL_PH("fil-PH"), - - @SerializedName("fi-FI") - FI_FI("fi-FI"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("fr-CA") - FR_CA("fr-CA"), - - @SerializedName("fr-FR") - FR_FR("fr-FR"), - - @SerializedName("he-IL") - HE_IL("he-IL"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("hr-HR") - HR_HR("hr-HR"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("hu-HU") - HU_HU("hu-HU"), - - @SerializedName("id") - ID("id"), - - @SerializedName("id-ID") - ID_ID("id-ID"), - - @SerializedName("it") - IT("it"), - - @SerializedName("it-IT") - IT_IT("it-IT"), - - @SerializedName("ja") - JA("ja"), - - @SerializedName("ja-JP") - JA_JP("ja-JP"), - - @SerializedName("ko") - KO("ko"), - - @SerializedName("ko-KR") - KO_KR("ko-KR"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lt-LT") - LT_LT("lt-LT"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("lv-LV") - LV_LV("lv-LV"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("ms-MY") - MS_MY("ms-MY"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mt-MT") - MT_MT("mt-MT"), - - @SerializedName("nb") - NB("nb"), - - @SerializedName("nb-NO") - NB_NO("nb-NO"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("nl-NL") - NL_NL("nl-NL"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pl-PL") - PL_PL("pl-PL"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pt-BR") - PT_BR("pt-BR"), - - @SerializedName("pt-PT") - PT_PT("pt-PT"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("ro-RO") - RO_RO("ro-RO"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("ru-RU") - RU_RU("ru-RU"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sk-SK") - SK_SK("sk-SK"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sl-SI") - SL_SI("sl-SI"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sv-SE") - SV_SE("sv-SE"), - - @SerializedName("th") - TH("th"), - - @SerializedName("th-TH") - TH_TH("th-TH"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tr-TR") - TR_TR("tr-TR"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vi-VN") - VI_VN("vi-VN"), - - @SerializedName("zh") - ZH("zh"), - - @SerializedName("zh-Hans") - ZH_HANS("zh-Hans"), - - @SerializedName("zh-Hant-HK") - ZH_HANT_HK("zh-Hant-HK"), - - @SerializedName("zh-Hant-TW") - ZH_HANT_TW("zh-Hant-TW"), - - @SerializedName("zh-HK") - ZH_HK("zh-HK"), - - @SerializedName("zh-TW") - ZH_TW("zh-TW"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Locale(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Identity { - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - @SerializedName("attestations") - Attestations attestations; - - /** Information about the company or business. */ - @SerializedName("business_details") - BusinessDetails businessDetails; - - /** - * The country in which the account holder resides, or in which the business is legally - * established. This should be an ISO - * 3166-1 alpha-2 country code. - */ - @SerializedName("country") - Country country; - - /** The entity type. */ - @SerializedName("entity_type") - EntityType entityType; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Information about the individual represented by the Account. This property is {@code null} - * unless {@code entity_type} is set to {@code individual}. - */ - @SerializedName("individual") - Individual individual; - - private Identity( - Attestations attestations, - BusinessDetails businessDetails, - Country country, - EntityType entityType, - Map extraParams, - Individual individual) { - this.attestations = attestations; - this.businessDetails = businessDetails; - this.country = country; - this.entityType = entityType; - this.extraParams = extraParams; - this.individual = individual; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Attestations attestations; - - private BusinessDetails businessDetails; - - private Country country; - - private EntityType entityType; - - private Map extraParams; - - private Individual individual; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity build() { - return new AccountUpdateParams.Identity( - this.attestations, - this.businessDetails, - this.country, - this.entityType, - this.extraParams, - this.individual); - } - - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - public Builder setAttestations(AccountUpdateParams.Identity.Attestations attestations) { - this.attestations = attestations; - return this; - } - - /** Information about the company or business. */ - public Builder setBusinessDetails( - AccountUpdateParams.Identity.BusinessDetails businessDetails) { - this.businessDetails = businessDetails; - 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. - */ - public Builder setCountry(AccountUpdateParams.Identity.Country country) { - this.country = country; - return this; - } - - /** The entity type. */ - public Builder setEntityType(AccountUpdateParams.Identity.EntityType entityType) { - this.entityType = entityType; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountUpdateParams.Identity#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link AccountUpdateParams.Identity#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Information about the individual represented by the Account. This property is {@code null} - * unless {@code entity_type} is set to {@code individual}. - */ - public Builder setIndividual(AccountUpdateParams.Identity.Individual individual) { - this.individual = individual; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Attestations { - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - @SerializedName("directorship_declaration") - DirectorshipDeclaration directorshipDeclaration; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - @SerializedName("ownership_declaration") - OwnershipDeclaration ownershipDeclaration; - - /** Attestation that all Persons with a specific Relationship value have been provided. */ - @SerializedName("persons_provided") - PersonsProvided personsProvided; - - /** Attestations of accepted terms of service agreements. */ - @SerializedName("terms_of_service") - TermsOfService termsOfService; - - private Attestations( - DirectorshipDeclaration directorshipDeclaration, - Map extraParams, - OwnershipDeclaration ownershipDeclaration, - PersonsProvided personsProvided, - TermsOfService termsOfService) { - this.directorshipDeclaration = directorshipDeclaration; - this.extraParams = extraParams; - this.ownershipDeclaration = ownershipDeclaration; - this.personsProvided = personsProvided; - this.termsOfService = termsOfService; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private DirectorshipDeclaration directorshipDeclaration; - - private Map extraParams; - - private OwnershipDeclaration ownershipDeclaration; - - private PersonsProvided personsProvided; - - private TermsOfService termsOfService; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations build() { - return new AccountUpdateParams.Identity.Attestations( - this.directorshipDeclaration, - this.extraParams, - this.ownershipDeclaration, - this.personsProvided, - this.termsOfService); - } - - /** - * This hash is used to attest that the directors information provided to Stripe is both - * current and correct. - */ - public Builder setDirectorshipDeclaration( - AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration - directorshipDeclaration) { - this.directorshipDeclaration = directorshipDeclaration; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - public Builder setOwnershipDeclaration( - AccountUpdateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { - this.ownershipDeclaration = ownershipDeclaration; - return this; - } - - /** Attestation that all Persons with a specific Relationship value have been provided. */ - public Builder setPersonsProvided( - AccountUpdateParams.Identity.Attestations.PersonsProvided personsProvided) { - this.personsProvided = personsProvided; - return this; - } - - /** Attestations of accepted terms of service agreements. */ - public Builder setTermsOfService( - AccountUpdateParams.Identity.Attestations.TermsOfService termsOfService) { - this.termsOfService = termsOfService; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DirectorshipDeclaration { - /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The IP address from which the director attestation was made. */ - @SerializedName("ip") - Object ip; - - /** The user agent of the browser from which the director attestation was made. */ - @SerializedName("user_agent") - Object userAgent; - - private DirectorshipDeclaration( - Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration build() { - return new AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time marking when the director attestation was made. Represented as a RFC 3339 date - * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** The IP address from which the director attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** The IP address from which the director attestation was made. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } - - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OwnershipDeclaration { - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The IP address from which the beneficial owner attestation was made. */ - @SerializedName("ip") - Object ip; - - /** The user agent of the browser from which the beneficial owner attestation was made. */ - @SerializedName("user_agent") - Object userAgent; - - private OwnershipDeclaration( - Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.OwnershipDeclaration build() { - return new AccountUpdateParams.Identity.Attestations.OwnershipDeclaration( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time marking when the beneficial owner attestation was made. Represented as a RFC - * 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** The IP address from which the beneficial owner attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** The IP address from which the beneficial owner attestation was made. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } - - /** The user agent of the browser from which the beneficial owner attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - - /** The user agent of the browser from which the beneficial owner attestation was made. */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PersonsProvided { - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - @SerializedName("directors") - Boolean directors; - - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - @SerializedName("executives") - Boolean executives; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Whether the company’s owners have been provided. Set this Boolean to true after creating - * all the company’s owners with the Persons API. - */ - @SerializedName("owners") - Boolean owners; - - /** Reason for why the company is exempt from providing ownership information. */ - @SerializedName("ownership_exemption_reason") - OwnershipExemptionReason ownershipExemptionReason; - - private PersonsProvided( - Boolean directors, - Boolean executives, - Map extraParams, - Boolean owners, - OwnershipExemptionReason ownershipExemptionReason) { - this.directors = directors; - this.executives = executives; - this.extraParams = extraParams; - this.owners = owners; - this.ownershipExemptionReason = ownershipExemptionReason; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean directors; - - private Boolean executives; - - private Map extraParams; - - private Boolean owners; - - private OwnershipExemptionReason ownershipExemptionReason; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.PersonsProvided build() { - return new AccountUpdateParams.Identity.Attestations.PersonsProvided( - this.directors, - this.executives, - this.extraParams, - this.owners, - this.ownershipExemptionReason); - } - - /** - * Whether the company’s directors have been provided. Set this Boolean to true after - * creating all the company’s directors with the Persons API. - */ - public Builder setDirectors(Boolean directors) { - this.directors = directors; - return this; - } - - /** - * Whether the company’s executives have been provided. Set this Boolean to true after - * creating all the company’s executives with the Persons API. - */ - public Builder setExecutives(Boolean executives) { - this.executives = executives; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Attestations.PersonsProvided#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Attestations.PersonsProvided#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Whether the company’s owners have been provided. Set this Boolean to true after - * creating all the company’s owners with the Persons API. - */ - public Builder setOwners(Boolean owners) { - this.owners = owners; - return this; - } - - /** Reason for why the company is exempt from providing ownership information. */ - public Builder setOwnershipExemptionReason( - AccountUpdateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason - ownershipExemptionReason) { - this.ownershipExemptionReason = ownershipExemptionReason; - return this; - } - } - - public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { - @SerializedName("qualified_entity_exceeds_ownership_threshold") - QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( - "qualified_entity_exceeds_ownership_threshold"), - - @SerializedName("qualifies_as_financial_institution") - QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - OwnershipExemptionReason(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TermsOfService { - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - @SerializedName("account") - Account account; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; - - private TermsOfService(Account account, Map extraParams, Storer storer) { - this.account = account; - this.extraParams = extraParams; - this.storer = storer; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Account account; - - private Map extraParams; - - private Storer storer; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService( - this.account, this.extraParams, this.storer); - } - - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - public Builder setAccount( - AccountUpdateParams.Identity.Attestations.TermsOfService.Account account) { - this.account = account; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Attestations.TermsOfService#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Attestations.TermsOfService#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - public Builder setStorer( - AccountUpdateParams.Identity.Attestations.TermsOfService.Storer storer) { - this.storer = storer; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Account { - /** - * The time when the Account's representative accepted the terms of service. Represented - * as a RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - @SerializedName("ip") - Object ip; - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - Object userAgent; - - private Account( - Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.Account build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.Account( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time when the Account's representative accepted the terms of service. Represented - * as a RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** - * The time when the Account's representative accepted the terms of service. Represented - * as a RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - @SerializedName("ip") - Object ip; - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - Object userAgent; - - private Storer( - Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.Storer build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.Storer( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time when the Account's representative accepted the terms of service. Represented - * as a RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BusinessDetails { - /** The business registration address of the business entity. */ - @SerializedName("address") - Object address; - - /** The business gross annual revenue for its preceding fiscal year. */ - @SerializedName("annual_revenue") - Object annualRevenue; - - /** A document verifying the business. */ - @SerializedName("documents") - Object documents; - - /** The name which is used by the business. */ - @SerializedName("doing_business_as") - Object doingBusinessAs; - - /** - * An estimated upper bound of employees, contractors, vendors, etc. currently working for the - * business. - */ - @SerializedName("estimated_worker_count") - Object estimatedWorkerCount; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 ID numbers of a business entity. */ - @SerializedName("id_numbers") - Object idNumbers; - - /** An estimate of the monthly revenue of the business. */ - @SerializedName("monthly_estimated_revenue") - Object monthlyEstimatedRevenue; - - /** The phone number of the Business Entity. */ - @SerializedName("phone") - Object phone; - - /** - * Internal-only description of the product sold or service provided by the business. It’s - * used by Stripe for risk and underwriting purposes. - */ - @SerializedName("product_description") - Object productDescription; - - /** The business legal name. */ - @SerializedName("registered_name") - Object registeredName; - - /** The business registration address of the business entity in non latin script. */ - @SerializedName("script_addresses") - Object scriptAddresses; - - /** The business legal name in non latin script. */ - @SerializedName("script_names") - Object scriptNames; - - /** The category identifying the legal structure of the business. */ - @SerializedName("structure") - ApiRequestParams.EnumParam structure; - - /** The business's publicly available website. */ - @SerializedName("url") - Object url; - - private BusinessDetails( - Object address, - Object annualRevenue, - Object documents, - Object doingBusinessAs, - Object estimatedWorkerCount, - Map extraParams, - Object idNumbers, - Object monthlyEstimatedRevenue, - Object phone, - Object productDescription, - Object registeredName, - Object scriptAddresses, - Object scriptNames, - ApiRequestParams.EnumParam structure, - Object url) { - this.address = address; - this.annualRevenue = annualRevenue; - this.documents = documents; - this.doingBusinessAs = doingBusinessAs; - this.estimatedWorkerCount = estimatedWorkerCount; - this.extraParams = extraParams; - this.idNumbers = idNumbers; - this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; - this.phone = phone; - this.productDescription = productDescription; - this.registeredName = registeredName; - this.scriptAddresses = scriptAddresses; - this.scriptNames = scriptNames; - this.structure = structure; - this.url = url; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object address; - - private Object annualRevenue; - - private Object documents; - - private Object doingBusinessAs; - - private Object estimatedWorkerCount; - - private Map extraParams; - - private Object idNumbers; - - private Object monthlyEstimatedRevenue; - - private Object phone; - - private Object productDescription; - - private Object registeredName; - - private Object scriptAddresses; - - private Object scriptNames; - - private ApiRequestParams.EnumParam structure; - - private Object url; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails build() { - return new AccountUpdateParams.Identity.BusinessDetails( - this.address, - this.annualRevenue, - this.documents, - this.doingBusinessAs, - this.estimatedWorkerCount, - this.extraParams, - this.idNumbers, - this.monthlyEstimatedRevenue, - this.phone, - this.productDescription, - this.registeredName, - this.scriptAddresses, - this.scriptNames, - this.structure, - this.url); - } - - /** The business registration address of the business entity. */ - public Builder setAddress(AccountUpdateParams.Identity.BusinessDetails.Address address) { - this.address = address; - return this; - } - - /** The business registration address of the business entity. */ - public Builder setAddress(EmptyParam address) { - this.address = address; - return this; - } - - /** The business gross annual revenue for its preceding fiscal year. */ - public Builder setAnnualRevenue( - AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue annualRevenue) { - this.annualRevenue = annualRevenue; - return this; - } - - /** The business gross annual revenue for its preceding fiscal year. */ - public Builder setAnnualRevenue(EmptyParam annualRevenue) { - this.annualRevenue = annualRevenue; - return this; - } - - /** A document verifying the business. */ - public Builder setDocuments( - AccountUpdateParams.Identity.BusinessDetails.Documents documents) { - this.documents = documents; - return this; - } - - /** A document verifying the business. */ - public Builder setDocuments(EmptyParam documents) { - this.documents = documents; - return this; - } - - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(String doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } - - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(EmptyParam doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } - - /** - * An estimated upper bound of employees, contractors, vendors, etc. currently working for - * the business. - */ - public Builder setEstimatedWorkerCount(Integer estimatedWorkerCount) { - this.estimatedWorkerCount = estimatedWorkerCount; - return this; - } - - /** - * An estimated upper bound of employees, contractors, vendors, etc. currently working for - * the business. - */ - public Builder setEstimatedWorkerCount(EmptyParam estimatedWorkerCount) { - this.estimatedWorkerCount = estimatedWorkerCount; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails#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 `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Identity.BusinessDetails#idNumbers} for the field documentation. - */ - @SuppressWarnings("unchecked") - public Builder addIdNumber(AccountUpdateParams.Identity.BusinessDetails.IdNumber element) { - if (this.idNumbers == null || this.idNumbers instanceof EmptyParam) { - this.idNumbers = new ArrayList(); - } - ((List) this.idNumbers) - .add(element); - return this; - } - - /** - * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Identity.BusinessDetails#idNumbers} for the field documentation. - */ - @SuppressWarnings("unchecked") - public Builder addAllIdNumber( - List elements) { - if (this.idNumbers == null || this.idNumbers instanceof EmptyParam) { - this.idNumbers = new ArrayList(); - } - ((List) this.idNumbers) - .addAll(elements); - return this; - } - - /** The ID numbers of a business entity. */ - public Builder setIdNumbers(EmptyParam idNumbers) { - this.idNumbers = idNumbers; - return this; - } - - /** The ID numbers of a business entity. */ - public Builder setIdNumbers( - List idNumbers) { - this.idNumbers = idNumbers; - return this; - } - - /** An estimate of the monthly revenue of the business. */ - public Builder setMonthlyEstimatedRevenue( - AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue - monthlyEstimatedRevenue) { - this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; - return this; - } - - /** An estimate of the monthly revenue of the business. */ - public Builder setMonthlyEstimatedRevenue(EmptyParam monthlyEstimatedRevenue) { - this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; - return this; - } - - /** The phone number of the Business Entity. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } - - /** The phone number of the Business Entity. */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; - return this; - } - - /** - * Internal-only description of the product sold or service provided by the business. It’s - * used by Stripe for risk and underwriting purposes. - */ - public Builder setProductDescription(String productDescription) { - this.productDescription = productDescription; - return this; - } - - /** - * Internal-only description of the product sold or service provided by the business. It’s - * used by Stripe for risk and underwriting purposes. - */ - public Builder setProductDescription(EmptyParam productDescription) { - this.productDescription = productDescription; - return this; - } - - /** The business legal name. */ - public Builder setRegisteredName(String registeredName) { - this.registeredName = registeredName; - return this; - } - - /** The business legal name. */ - public Builder setRegisteredName(EmptyParam registeredName) { - this.registeredName = registeredName; - return this; - } - - /** The business registration address of the business entity in non latin script. */ - public Builder setScriptAddresses( - AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses scriptAddresses) { - this.scriptAddresses = scriptAddresses; - return this; - } - - /** The business registration address of the business entity in non latin script. */ - public Builder setScriptAddresses(EmptyParam scriptAddresses) { - this.scriptAddresses = scriptAddresses; - return this; - } - - /** The business legal name in non latin script. */ - public Builder setScriptNames( - AccountUpdateParams.Identity.BusinessDetails.ScriptNames scriptNames) { - this.scriptNames = scriptNames; - return this; - } - - /** The business legal name in non latin script. */ - public Builder setScriptNames(EmptyParam scriptNames) { - this.scriptNames = scriptNames; - return this; - } - - /** The category identifying the legal structure of the business. */ - public Builder setStructure( - AccountUpdateParams.Identity.BusinessDetails.Structure structure) { - this.structure = structure; - return this; - } - - /** The category identifying the legal structure of the business. */ - public Builder setStructure(EmptyParam structure) { - this.structure = structure; - return this; - } - - /** The business's publicly available website. */ - public Builder setUrl(String url) { - this.url = url; - return this; - } - - /** The business's publicly available website. */ - public Builder setUrl(EmptyParam url) { - this.url = url; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam 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") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or cho-me. */ - @SerializedName("town") - Object town; - - private Address( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object city; - - private ApiRequestParams.EnumParam country; - - private Map extraParams; - - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Address build() { - return new AccountUpdateParams.Identity.BusinessDetails.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry( - AccountUpdateParams.Identity.BusinessDetails.Address.Country country) { - this.country = country; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam 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 AccountUpdateParams.Identity.BusinessDetails.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 AccountUpdateParams.Identity.BusinessDetails.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 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AnnualRevenue { - /** A non-negative integer representing the amount in the smallest currency unit. */ - @SerializedName("amount") - Amount amount; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for - * the 31st of December, 2023. - */ - @SerializedName("fiscal_year_end") - Object fiscalYearEnd; - - private AnnualRevenue( - Amount amount, Map extraParams, Object fiscalYearEnd) { - this.amount = amount; - this.extraParams = extraParams; - this.fiscalYearEnd = fiscalYearEnd; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Amount amount; - - private Map extraParams; - - private Object fiscalYearEnd; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue build() { - return new AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue( - this.amount, this.extraParams, this.fiscalYearEnd); - } - - /** A non-negative integer representing the amount in the smallest currency unit. */ - public Builder setAmount(Amount amount) { - this.amount = amount; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue#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 close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for - * the 31st of December, 2023. - */ - public Builder setFiscalYearEnd(String fiscalYearEnd) { - this.fiscalYearEnd = fiscalYearEnd; - return this; - } - - /** - * The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for - * the 31st of December, 2023. - */ - public Builder setFiscalYearEnd(EmptyParam fiscalYearEnd) { - this.fiscalYearEnd = fiscalYearEnd; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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 check. - */ - @SerializedName("bank_account_ownership_verification") - Object bankAccountOwnershipVerification; - - /** One or more documents that demonstrate proof of a company’s license to operate. */ - @SerializedName("company_license") - Object companyLicense; - - /** One or more documents showing the company’s Memorandum of Association. */ - @SerializedName("company_memorandum_of_association") - Object companyMemorandumOfAssociation; - - /** - * Certain countries only: One or more documents showing the ministerial decree legalizing - * the company’s establishment. - */ - @SerializedName("company_ministerial_decree") - Object companyMinisterialDecree; - - /** - * One or more documents that demonstrate proof of a company’s registration with the - * appropriate local authorities. - */ - @SerializedName("company_registration_verification") - Object companyRegistrationVerification; - - /** One or more documents that demonstrate proof of a company’s tax ID. */ - @SerializedName("company_tax_id_verification") - Object 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; - - /** A document verifying the business. */ - @SerializedName("primary_verification") - Object primaryVerification; - - /** One or more documents that demonstrate proof of address. */ - @SerializedName("proof_of_address") - ProofOfAddress proofOfAddress; - - /** - * One or more documents showing the company’s proof of registration with the national - * business registry. - */ - @SerializedName("proof_of_registration") - Object proofOfRegistration; - - /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ - @SerializedName("proof_of_ultimate_beneficial_ownership") - ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; - - private Documents( - Object bankAccountOwnershipVerification, - Object companyLicense, - Object companyMemorandumOfAssociation, - Object companyMinisterialDecree, - Object companyRegistrationVerification, - Object companyTaxIdVerification, - Map extraParams, - Object primaryVerification, - ProofOfAddress proofOfAddress, - Object proofOfRegistration, - ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership) { - this.bankAccountOwnershipVerification = bankAccountOwnershipVerification; - this.companyLicense = companyLicense; - this.companyMemorandumOfAssociation = companyMemorandumOfAssociation; - this.companyMinisterialDecree = companyMinisterialDecree; - this.companyRegistrationVerification = companyRegistrationVerification; - this.companyTaxIdVerification = companyTaxIdVerification; - this.extraParams = extraParams; - this.primaryVerification = primaryVerification; - this.proofOfAddress = proofOfAddress; - this.proofOfRegistration = proofOfRegistration; - this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object bankAccountOwnershipVerification; - - private Object companyLicense; - - private Object companyMemorandumOfAssociation; - - private Object companyMinisterialDecree; - - private Object companyRegistrationVerification; - - private Object companyTaxIdVerification; - - private Map extraParams; - - private Object primaryVerification; - - private ProofOfAddress proofOfAddress; - - private Object proofOfRegistration; - - private ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents( - this.bankAccountOwnershipVerification, - this.companyLicense, - this.companyMemorandumOfAssociation, - this.companyMinisterialDecree, - this.companyRegistrationVerification, - this.companyTaxIdVerification, - this.extraParams, - this.primaryVerification, - this.proofOfAddress, - this.proofOfRegistration, - this.proofOfUltimateBeneficialOwnership); - } - - /** - * 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 check. - */ - public Builder setBankAccountOwnershipVerification( - AccountUpdateParams.Identity.BusinessDetails.Documents - .BankAccountOwnershipVerification - bankAccountOwnershipVerification) { - this.bankAccountOwnershipVerification = bankAccountOwnershipVerification; - return this; - } - - /** - * 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 check. - */ - public Builder setBankAccountOwnershipVerification( - EmptyParam bankAccountOwnershipVerification) { - this.bankAccountOwnershipVerification = bankAccountOwnershipVerification; - return this; - } - - /** One or more documents that demonstrate proof of a company’s license to operate. */ - public Builder setCompanyLicense( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense - companyLicense) { - this.companyLicense = companyLicense; - return this; - } - - /** One or more documents that demonstrate proof of a company’s license to operate. */ - public Builder setCompanyLicense(EmptyParam companyLicense) { - this.companyLicense = companyLicense; - return this; - } - - /** One or more documents showing the company’s Memorandum of Association. */ - public Builder setCompanyMemorandumOfAssociation( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMemorandumOfAssociation - companyMemorandumOfAssociation) { - this.companyMemorandumOfAssociation = companyMemorandumOfAssociation; - return this; - } - - /** One or more documents showing the company’s Memorandum of Association. */ - public Builder setCompanyMemorandumOfAssociation( - EmptyParam 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( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree - companyMinisterialDecree) { - this.companyMinisterialDecree = companyMinisterialDecree; - return this; - } - - /** - * Certain countries only: One or more documents showing the ministerial decree legalizing - * the company’s establishment. - */ - public Builder setCompanyMinisterialDecree(EmptyParam 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( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyRegistrationVerification - companyRegistrationVerification) { - this.companyRegistrationVerification = companyRegistrationVerification; - return this; - } - - /** - * One or more documents that demonstrate proof of a company’s registration with the - * appropriate local authorities. - */ - public Builder setCompanyRegistrationVerification( - EmptyParam companyRegistrationVerification) { - this.companyRegistrationVerification = companyRegistrationVerification; - return this; - } - - /** One or more documents that demonstrate proof of a company’s tax ID. */ - public Builder setCompanyTaxIdVerification( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification - companyTaxIdVerification) { - this.companyTaxIdVerification = companyTaxIdVerification; - return this; - } - - /** One or more documents that demonstrate proof of a company’s tax ID. */ - public Builder setCompanyTaxIdVerification(EmptyParam 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 AccountUpdateParams.Identity.BusinessDetails.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 AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** A document verifying the business. */ - public Builder setPrimaryVerification( - AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification - primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** A document verifying the business. */ - public Builder setPrimaryVerification(EmptyParam primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** One or more documents that demonstrate proof of address. */ - public Builder setProofOfAddress( - AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress - proofOfAddress) { - this.proofOfAddress = proofOfAddress; - return this; - } - - /** - * One or more documents showing the company’s proof of registration with the national - * business registry. - */ - public Builder setProofOfRegistration( - AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration - proofOfRegistration) { - this.proofOfRegistration = proofOfRegistration; - return this; - } - - /** - * One or more documents showing the company’s proof of registration with the national - * business registry. - */ - public Builder setProofOfRegistration(EmptyParam proofOfRegistration) { - this.proofOfRegistration = proofOfRegistration; - return this; - } - - /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ - public Builder setProofOfUltimateBeneficialOwnership( - AccountUpdateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership - proofOfUltimateBeneficialOwnership) { - this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private BankAccountOwnershipVerification( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents - .BankAccountOwnershipVerification - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents - .BankAccountOwnershipVerification(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents - .BankAccountOwnershipVerification.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyLicense(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyMemorandumOfAssociation( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyMemorandumOfAssociation - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyMemorandumOfAssociation(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyMemorandumOfAssociation.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyMinisterialDecree( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyMinisterialDecree(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyRegistrationVerification( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyRegistrationVerification - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyRegistrationVerification(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyRegistrationVerification.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - 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; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyTaxIdVerification( - Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents - .CompanyTaxIdVerification(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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 - * AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PrimaryVerification { + 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. @@ -15766,25 +4004,15 @@ public static class PrimaryVerification { Map extraParams; /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - @SerializedName("type") - Type type; + @SerializedName("requested") + Boolean requested; - private PrimaryVerification( - Map extraParams, FrontBack frontBack, Type type) { + private CardPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; + this.requested = requested; } public static Builder builder() { @@ -15794,23 +4022,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private FrontBack frontBack; - - private Type type; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification( - this.extraParams, this.frontBack, this.type); + public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -15824,8 +4049,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -15836,183 +4061,101 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack - frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently - * supports {@code front_back} only. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.Type - type) { - this.type = type; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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") - Object 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; - - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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") - Object front; - - private FrontBack(Object back, Map extraParams, Object front) { - this.back = back; - this.extraParams = extraParams; - this.front = front; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object back; - - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CartesBancairesPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Object front; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification - .FrontBack - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents - .PrimaryVerification.FrontBack(this.back, this.extraParams, this.front); - } + private CartesBancairesPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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; - } + public static Builder builder() { + return new Builder(); + } - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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(EmptyParam back) { - this.back = back; - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Boolean requested; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .CartesBancairesPayments(this.extraParams, this.requested); + } - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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(EmptyParam front) { - this.front = front; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; - Type(String value) { - this.value = value; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ProofOfAddress { + 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. @@ -16024,24 +4167,15 @@ public static class ProofOfAddress { Map extraParams; /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - @SerializedName("type") - Type type; + @SerializedName("requested") + Boolean requested; - private ProofOfAddress(Map extraParams, List files, Type type) { + private CashappPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.files = files; - this.type = type; + this.requested = requested; } public static Builder builder() { @@ -16051,21 +4185,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private List files; - - private Type type; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress( - this.extraParams, this.files, this.type); + public AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16080,7 +4212,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16092,60 +4224,19 @@ public Builder putAllExtraParam(Map map) { } /** - * 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 - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#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 - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#files} for the - * field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress.Type type) { - this.type = type; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ProofOfRegistration { + 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. @@ -16157,25 +4248,15 @@ public static class ProofOfRegistration { Map extraParams; /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - @SerializedName("type") - Type type; + @SerializedName("requested") + Boolean requested; - private ProofOfRegistration( - Map extraParams, List files, Type type) { + private EpsPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.files = files; - this.type = type; + this.requested = requested; } public static Builder builder() { @@ -16185,23 +4266,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private List files; - - private Type type; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration - build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration( - this.extraParams, this.files, this.type); + public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -16215,8 +4293,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -16227,61 +4305,100 @@ public Builder putAllExtraParam(Map map) { } /** - * 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 - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#files} for - * the field documentation. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder addFile(String element) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.add(element); + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FpxPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private FpxPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments( + this.extraParams, this.requested); + } /** - * 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 - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#files} for + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for * the field documentation. */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } - this.files.addAll(elements); + this.extraParams.put(key, value); return this; } /** - * Required. The format of the document. Currently supports {@code - * files} only. + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for + * the field documentation. */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration.Type - type) { - this.type = type; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - Type(String value) { - this.value = value; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ProofOfUltimateBeneficialOwnership { + public static class GbBankTransferPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -16293,25 +4410,15 @@ public static class ProofOfUltimateBeneficialOwnership { Map extraParams; /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - @SerializedName("type") - Type type; + @SerializedName("requested") + Boolean requested; - private ProofOfUltimateBeneficialOwnership( - Map extraParams, List files, Type type) { + private GbBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.files = files; - this.type = type; + this.requested = requested; } public static Builder builder() { @@ -16321,23 +4428,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private List files; - - private Type type; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership + public AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments build() { - return new AccountUpdateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership(this.extraParams, this.files, this.type); + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .GbBankTransferPayments(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -16352,7 +4456,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -16364,587 +4468,750 @@ public Builder putAllExtraParam(Map map) { } /** - * 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 - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#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 - * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#files} - * for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setType( - AccountUpdateParams.Identity.BusinessDetails.Documents - .ProofOfUltimateBeneficialOwnership.Type - type) { - this.type = type; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class IdNumber { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 registrar of the ID number (Only valid for DE ID number types). */ - @SerializedName("registrar") - Object registrar; - - /** Required. Open Enum. The ID number type of a business entity. */ - @SerializedName("type") - Type type; - - /** Required. The value of the ID number. */ - @SerializedName("value") - Object value; - - private IdNumber( - Map extraParams, Object registrar, Type type, Object value) { - this.extraParams = extraParams; - this.registrar = registrar; - this.type = type; - this.value = value; - } - - public static Builder builder() { - return new Builder(); } - public static class Builder { - private Map extraParams; - - private Object registrar; - - private Type type; - - private Object value; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.IdNumber build() { - return new AccountUpdateParams.Identity.BusinessDetails.IdNumber( - this.extraParams, this.registrar, this.type, this.value); - } - + @Getter + @EqualsAndHashCode(callSuper = false) + public static class GrabpayPayments { /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails.IdNumber#extraParams} for - * the field documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails.IdNumber#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 registrar of the ID number (Only valid for DE ID number types). */ - public Builder setRegistrar(String registrar) { - this.registrar = registrar; - return this; - } - - /** The registrar of the ID number (Only valid for DE ID number types). */ - public Builder setRegistrar(EmptyParam registrar) { - this.registrar = registrar; - return this; - } - - /** Required. Open Enum. The ID number type of a business entity. */ - public Builder setType(AccountUpdateParams.Identity.BusinessDetails.IdNumber.Type type) { - this.type = type; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(String value) { - this.value = value; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(EmptyParam value) { - this.value = value; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ae_crn") - AE_CRN("ae_crn"), - - @SerializedName("ae_vat") - AE_VAT("ae_vat"), - - @SerializedName("ao_nif") - AO_NIF("ao_nif"), - - @SerializedName("at_fn") - AT_FN("at_fn"), - - @SerializedName("au_abn") - AU_ABN("au_abn"), - - @SerializedName("au_acn") - AU_ACN("au_acn"), - - @SerializedName("au_in") - AU_IN("au_in"), - - @SerializedName("az_tin") - AZ_TIN("az_tin"), - - @SerializedName("bd_etin") - BD_ETIN("bd_etin"), - - @SerializedName("be_cbe") - BE_CBE("be_cbe"), - - @SerializedName("bg_uic") - BG_UIC("bg_uic"), - - @SerializedName("br_cnpj") - BR_CNPJ("br_cnpj"), - - @SerializedName("ca_cn") - CA_CN("ca_cn"), - - @SerializedName("ca_crarr") - CA_CRARR("ca_crarr"), - - @SerializedName("ca_neq") - CA_NEQ("ca_neq"), - - @SerializedName("ca_rid") - CA_RID("ca_rid"), + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("ch_chid") - CH_CHID("ch_chid"), + private GrabpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("ch_uid") - CH_UID("ch_uid"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cr_cpj") - CR_CPJ("cr_cpj"), + public static class Builder { + private Map extraParams; - @SerializedName("cr_nite") - CR_NITE("cr_nite"), + private Boolean requested; - @SerializedName("cy_tic") - CY_TIC("cy_tic"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments( + this.extraParams, this.requested); + } - @SerializedName("cz_ico") - CZ_ICO("cz_ico"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("de_hrn") - DE_HRN("de_hrn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("de_vat") - DE_VAT("de_vat"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("dk_cvr") - DK_CVR("dk_cvr"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdealPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("do_rcn") - DO_RCN("do_rcn"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("ee_rk") - EE_RK("ee_rk"), + private IdealPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("es_cif") - ES_CIF("es_cif"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("fi_yt") - FI_YT("fi_yt"), + public static class Builder { + private Map extraParams; - @SerializedName("fr_siren") - FR_SIREN("fr_siren"), + private Boolean requested; - @SerializedName("fr_vat") - FR_VAT("fr_vat"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments( + this.extraParams, this.requested); + } - @SerializedName("gb_crn") - GB_CRN("gb_crn"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("gi_crn") - GI_CRN("gi_crn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("gr_gemi") - GR_GEMI("gr_gemi"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("gt_nit") - GT_NIT("gt_nit"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class JcbPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("hk_br") - HK_BR("hk_br"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("hk_cr") - HK_CR("hk_cr"), + private JcbPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("hk_mbs") - HK_MBS("hk_mbs"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("hu_cjs") - HU_CJS("hu_cjs"), + public static class Builder { + private Map extraParams; - @SerializedName("ie_crn") - IE_CRN("ie_crn"), + private Boolean requested; - @SerializedName("it_rea") - IT_REA("it_rea"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments( + this.extraParams, this.requested); + } - @SerializedName("it_vat") - IT_VAT("it_vat"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("jp_cn") - JP_CN("jp_cn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("kz_bin") - KZ_BIN("kz_bin"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("li_uid") - LI_UID("li_uid"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class JpBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("lt_ccrn") - LT_CCRN("lt_ccrn"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("lu_rcs") - LU_RCS("lu_rcs"), + private JpBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("lv_urn") - LV_URN("lv_urn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mt_crn") - MT_CRN("mt_crn"), + public static class Builder { + private Map extraParams; - @SerializedName("mx_rfc") - MX_RFC("mx_rfc"), + private Boolean requested; - @SerializedName("my_brn") - MY_BRN("my_brn"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .JpBankTransferPayments(this.extraParams, this.requested); + } - @SerializedName("my_coid") - MY_COID("my_coid"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("my_sst") - MY_SST("my_sst"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mz_nuit") - MZ_NUIT("mz_nuit"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("nl_kvk") - NL_KVK("nl_kvk"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KakaoPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("no_orgnr") - NO_ORGNR("no_orgnr"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("nz_bn") - NZ_BN("nz_bn"), + private KakaoPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("pe_ruc") - PE_RUC("pe_ruc"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pk_ntn") - PK_NTN("pk_ntn"), + public static class Builder { + private Map extraParams; - @SerializedName("pl_regon") - PL_REGON("pl_regon"), + private Boolean requested; - @SerializedName("pt_vat") - PT_VAT("pt_vat"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( + this.extraParams, this.requested); + } - @SerializedName("ro_cui") - RO_CUI("ro_cui"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sa_crn") - SA_CRN("sa_crn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sa_tin") - SA_TIN("sa_tin"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("se_orgnr") - SE_ORGNR("se_orgnr"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KlarnaPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sg_uen") - SG_UEN("sg_uen"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("si_msp") - SI_MSP("si_msp"), + private KlarnaPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("sk_ico") - SK_ICO("sk_ico"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("th_crn") - TH_CRN("th_crn"), + public static class Builder { + private Map extraParams; - @SerializedName("th_prn") - TH_PRN("th_prn"), + private Boolean requested; - @SerializedName("th_tin") - TH_TIN("th_tin"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments( + this.extraParams, this.requested); + } - @SerializedName("us_ein") - US_EIN("us_ein"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Type(String value) { - this.value = value; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MonthlyEstimatedRevenue { - /** A non-negative integer representing the amount in the smallest currency unit. */ - @SerializedName("amount") - Amount amount; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KonbiniPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private MonthlyEstimatedRevenue(Amount amount, Map extraParams) { - this.amount = amount; - this.extraParams = extraParams; - } + private KonbiniPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Amount amount; + public static class Builder { + private Map extraParams; - private Map extraParams; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue build() { - return new AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue( - this.amount, this.extraParams); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments( + this.extraParams, this.requested); + } - /** A non-negative integer representing the amount in the smallest currency unit. */ - public Builder setAmount(Amount amount) { - this.amount = amount; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.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 a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.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; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } - this.extraParams.putAll(map); - return this; } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptAddresses { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class KrCardPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Kana Address. */ - @SerializedName("kana") - Object kana; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Kanji Address. */ - @SerializedName("kanji") - Object kanji; + private KrCardPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private ScriptAddresses(Map extraParams, Object kana, Object kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private Map extraParams; + private Boolean requested; - private Object kana; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments( + this.extraParams, this.requested); + } - private Object kanji; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses build() { - return new AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses( - this.extraParams, this.kana, this.kanji); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class LinkPayments { /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field - * documentation. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field - * documentation. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("requested") + Boolean requested; - /** Kana Address. */ - public Builder setKana( - AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana kana) { - this.kana = kana; - return this; + private LinkPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Kana Address. */ - public Builder setKana(EmptyParam kana) { - this.kana = kana; - return this; + public static Builder builder() { + return new Builder(); } - /** Kanji Address. */ - public Builder setKanji( - AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji kanji) { - this.kanji = kanji; - return this; - } + public static class Builder { + private Map extraParams; - /** Kanji Address. */ - public Builder setKanji(EmptyParam kanji) { - this.kanji = kanji; - return this; + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.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 + * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam country; - + public static class MobilepayPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -16955,43 +5222,16 @@ public static class Kana { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or cho-me. */ - @SerializedName("town") - Object town; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Kana( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; + private MobilepayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.requested = requested; } public static Builder builder() { @@ -16999,72 +5239,105 @@ public static Builder builder() { } public static class Builder { - private Object city; - - private ApiRequestParams.EnumParam country; - private Map extraParams; - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana build() { - return new AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; + public AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments( + this.extraParams, this.requested); } - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); return this; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} + * for the field documentation. */ - public Builder setCountry( - AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana.Country country) { - this.country = country; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setCountry(EmptyParam country) { - this.country = country; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MultibancoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private MultibancoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments( + this.extraParams, this.requested); + } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -17078,8 +5351,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -17089,844 +5362,1081 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MxBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } + private MxBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } + public static class Builder { + private Map extraParams; - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } + private Boolean requested; - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .MxBankTransferPayments(this.extraParams, this.requested); } - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); return this; } - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("lu") - LU("lu"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class NaverPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("lv") - LV("lv"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("ly") - LY("ly"), + private NaverPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("ma") - MA("ma"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mc") - MC("mc"), + public static class Builder { + private Map extraParams; - @SerializedName("md") - MD("md"), + private Boolean requested; - @SerializedName("me") - ME("me"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments( + this.extraParams, this.requested); + } - @SerializedName("mf") - MF("mf"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mg") - MG("mg"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mh") - MH("mh"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("mk") - MK("mk"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OxxoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ml") - ML("ml"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("mm") - MM("mm"), + private OxxoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("mn") - MN("mn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mo") - MO("mo"), + public static class Builder { + private Map extraParams; - @SerializedName("mp") - MP("mp"), + private Boolean requested; - @SerializedName("mq") - MQ("mq"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments( + this.extraParams, this.requested); + } - @SerializedName("mr") - MR("mr"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ms") - MS("ms"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mt") - MT("mt"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("mu") - MU("mu"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class P24Payments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mv") - MV("mv"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("mw") - MW("mw"), + private P24Payments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("mx") - MX("mx"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("my") - MY("my"), + public static class Builder { + private Map extraParams; - @SerializedName("mz") - MZ("mz"), + private Boolean requested; - @SerializedName("na") - NA("na"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments( + this.extraParams, this.requested); + } - @SerializedName("nc") - NC("nc"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ne") - NE("ne"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("nf") - NF("nf"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("ng") - NG("ng"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PayByBankPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ni") - NI("ni"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("nl") - NL("nl"), + private PayByBankPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("no") - NO("no"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("np") - NP("np"), + public static class Builder { + private Map extraParams; - @SerializedName("nr") - NR("nr"), + private Boolean requested; - @SerializedName("nu") - NU("nu"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments( + this.extraParams, this.requested); + } - @SerializedName("nz") - NZ("nz"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("om") - OM("om"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("pa") - PA("pa"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("pe") - PE("pe"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaycoPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("pf") - PF("pf"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("pg") - PG("pg"), + private PaycoPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("ph") - PH("ph"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pk") - PK("pk"), + public static class Builder { + private Map extraParams; - @SerializedName("pl") - PL("pl"), + private Boolean requested; - @SerializedName("pm") - PM("pm"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments( + this.extraParams, this.requested); + } - @SerializedName("pn") - PN("pn"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("pr") - PR("pr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ps") - PS("ps"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("pt") - PT("pt"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaynowPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("pw") - PW("pw"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("py") - PY("py"), + private PaynowPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("qa") - QA("qa"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("qz") - QZ("qz"), + public static class Builder { + private Map extraParams; - @SerializedName("re") - RE("re"), + private Boolean requested; - @SerializedName("ro") - RO("ro"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments( + this.extraParams, this.requested); + } - @SerializedName("rs") - RS("rs"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ru") - RU("ru"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("rw") - RW("rw"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("sa") - SA("sa"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PromptpayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sb") - SB("sb"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("sc") - SC("sc"), + private PromptpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("sd") - SD("sd"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("se") - SE("se"), + public static class Builder { + private Map extraParams; - @SerializedName("sg") - SG("sg"), + private Boolean requested; - @SerializedName("sh") - SH("sh"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments( + this.extraParams, this.requested); + } - @SerializedName("si") - SI("si"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sj") - SJ("sj"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sk") - SK("sk"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("sl") - SL("sl"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RevolutPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sm") - SM("sm"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("sn") - SN("sn"), + private RevolutPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("so") - SO("so"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sr") - SR("sr"), + public static class Builder { + private Map extraParams; - @SerializedName("ss") - SS("ss"), + private Boolean requested; - @SerializedName("st") - ST("st"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( + this.extraParams, this.requested); + } - @SerializedName("sv") - SV("sv"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sx") - SX("sx"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sy") - SY("sy"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("sz") - SZ("sz"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SamsungPayPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tc") - TC("tc"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("td") - TD("td"), + private SamsungPayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("tf") - TF("tf"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tg") - TG("tg"), + public static class Builder { + private Map extraParams; - @SerializedName("th") - TH("th"), + private Boolean requested; - @SerializedName("tj") - TJ("tj"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( + this.extraParams, this.requested); + } - @SerializedName("tk") - TK("tk"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tl") - TL("tl"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tm") - TM("tm"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("tn") - TN("tn"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SepaBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("to") - TO("to"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("tr") - TR("tr"), + private SepaBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("tt") - TT("tt"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tv") - TV("tv"), + public static class Builder { + private Map extraParams; - @SerializedName("tw") - TW("tw"), + private Boolean requested; - @SerializedName("tz") - TZ("tz"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .SepaBankTransferPayments(this.extraParams, this.requested); + } - @SerializedName("ua") - UA("ua"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ug") - UG("ug"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("um") - UM("um"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("us") - US("us"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SepaDebitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("uy") - UY("uy"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("uz") - UZ("uz"), + private SepaDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("va") - VA("va"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vc") - VC("vc"), + public static class Builder { + private Map extraParams; - @SerializedName("ve") - VE("ve"), + private Boolean requested; - @SerializedName("vg") - VG("vg"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( + this.extraParams, this.requested); + } - @SerializedName("vi") - VI("vi"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("vn") - VN("vn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("vu") - VU("vu"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("wf") - WF("wf"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SwishPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ws") - WS("ws"), + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("xx") - XX("xx"), + private SwishPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("ye") - YE("ye"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("yt") - YT("yt"), + public static class Builder { + private Map extraParams; - @SerializedName("za") - ZA("za"), + private Boolean requested; - @SerializedName("zm") - ZM("zm"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments( + this.extraParams, this.requested); + } - @SerializedName("zw") - ZW("zw"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Country(String value) { - this.value = value; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam country; - + public static class TwintPayments { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -17937,43 +6447,16 @@ public static class Kanji { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or cho-me. */ - @SerializedName("town") - Object town; + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Kanji( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; + private TwintPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.requested = requested; } public static Builder builder() { @@ -17981,73 +6464,104 @@ public static Builder builder() { } public static class Builder { - private Object city; - - private ApiRequestParams.EnumParam country; - private Map extraParams; - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji build() { - return new AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; + public AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments( + this.extraParams, this.requested); } - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); return this; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. */ - public Builder setCountry( - AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji.Country - country) { - this.country = country; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setCountry(EmptyParam country) { - this.country = country; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class UsBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private UsBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities + .UsBankTransferPayments(this.extraParams, this.requested); + } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -18061,8 +6575,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -18072,834 +6586,924 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ZipPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } + private ZipPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } + public static class Builder { + private Map extraParams; - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } + private Boolean requested; - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments( + this.extraParams, this.requested); } - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.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; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), + } - @SerializedName("me") - ME("me"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mf") - MF("mf"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } - @SerializedName("mg") - MG("mg"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardPayments { + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + @SerializedName("decline_on") + DeclineOn declineOn; - @SerializedName("mh") - MH("mh"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mk") - MK("mk"), + private CardPayments(DeclineOn declineOn, Map extraParams) { + this.declineOn = declineOn; + this.extraParams = extraParams; + } - @SerializedName("ml") - ML("ml"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mm") - MM("mm"), + public static class Builder { + private DeclineOn declineOn; - @SerializedName("mn") - MN("mn"), + private Map extraParams; - @SerializedName("mo") - MO("mo"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.CardPayments build() { + return new AccountUpdateParams.Configuration.Merchant.CardPayments( + this.declineOn, this.extraParams); + } - @SerializedName("mp") - MP("mp"), + /** + * Automatically declines certain charge types regardless of whether the card issuer + * accepted or declined the charge. + */ + public Builder setDeclineOn( + AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { + this.declineOn = declineOn; + return this; + } - @SerializedName("mq") - MQ("mq"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mr") - MR("mr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - @SerializedName("ms") - MS("ms"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DeclineOn { + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + @SerializedName("avs_failure") + Boolean avsFailure; - @SerializedName("mt") - MT("mt"), + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting only + * applies when a CVC is provided and it fails bank verification. + */ + @SerializedName("cvc_failure") + Boolean cvcFailure; - @SerializedName("mu") - MU("mu"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mv") - MV("mv"), + private DeclineOn( + Boolean avsFailure, Boolean cvcFailure, Map extraParams) { + this.avsFailure = avsFailure; + this.cvcFailure = cvcFailure; + this.extraParams = extraParams; + } - @SerializedName("mw") - MW("mw"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mx") - MX("mx"), + public static class Builder { + private Boolean avsFailure; - @SerializedName("my") - MY("my"), + private Boolean cvcFailure; - @SerializedName("mz") - MZ("mz"), + private Map extraParams; - @SerializedName("na") - NA("na"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn build() { + return new AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn( + this.avsFailure, this.cvcFailure, this.extraParams); + } - @SerializedName("nc") - NC("nc"), + /** + * Whether Stripe automatically declines charges with an incorrect ZIP or postal code. + * This setting only applies when a ZIP or postal code is provided and they fail bank + * verification. + */ + public Builder setAvsFailure(Boolean avsFailure) { + this.avsFailure = avsFailure; + return this; + } - @SerializedName("ne") - NE("ne"), + /** + * Whether Stripe automatically declines charges with an incorrect CVC. This setting + * only applies when a CVC is provided and it fails bank verification. + */ + public Builder setCvcFailure(Boolean cvcFailure) { + this.cvcFailure = cvcFailure; + return this; + } - @SerializedName("nf") - NF("nf"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ng") - NG("ng"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + } - @SerializedName("ni") - NI("ni"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StatementDescriptor { + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement descriptor + * suffix causes the combined statement descriptor to exceed 22 characters, we truncate the + * statement_descriptor text to limit the full descriptor to 22 characters. For more + * information about statement descriptors and their requirements, see the Merchant + * Configuration settings documentation. + */ + @SerializedName("descriptor") + Object descriptor; - @SerializedName("nl") - NL("nl"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("no") - NO("no"), + /** + * Default text that appears on statements for card charges outside of Japan, prefixing any + * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + * dynamic part of the descriptor, keep this text short. If you don’t specify this value, + * statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + @SerializedName("prefix") + Object prefix; - @SerializedName("np") - NP("np"), + private StatementDescriptor( + Object descriptor, Map extraParams, Object prefix) { + this.descriptor = descriptor; + this.extraParams = extraParams; + this.prefix = prefix; + } - @SerializedName("nr") - NR("nr"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("nu") - NU("nu"), + public static class Builder { + private Object descriptor; - @SerializedName("nz") - NZ("nz"), + private Map extraParams; - @SerializedName("om") - OM("om"), + private Object prefix; - @SerializedName("pa") - PA("pa"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.StatementDescriptor build() { + return new AccountUpdateParams.Configuration.Merchant.StatementDescriptor( + this.descriptor, this.extraParams, this.prefix); + } - @SerializedName("pe") - PE("pe"), + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; + } - @SerializedName("pf") - PF("pf"), + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + public Builder setDescriptor(EmptyParam descriptor) { + this.descriptor = descriptor; + return this; + } - @SerializedName("pg") - PG("pg"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ph") - PH("ph"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("pk") - PK("pk"), + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } - @SerializedName("pl") - PL("pl"), + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(EmptyParam prefix) { + this.prefix = prefix; + return this; + } + } + } - @SerializedName("pm") - PM("pm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Support { + /** A publicly available mailing address for sending support issues to. */ + @SerializedName("address") + Address address; - @SerializedName("pn") - PN("pn"), + /** A publicly available email address for sending support issues to. */ + @SerializedName("email") + Object email; - @SerializedName("pr") - PR("pr"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ps") - PS("ps"), + /** A publicly available phone number to call with support issues. */ + @SerializedName("phone") + Object phone; - @SerializedName("pt") - PT("pt"), + /** A publicly available website for handling support issues. */ + @SerializedName("url") + Object url; - @SerializedName("pw") - PW("pw"), + private Support( + Address address, + Object email, + Map extraParams, + Object phone, + Object url) { + this.address = address; + this.email = email; + this.extraParams = extraParams; + this.phone = phone; + this.url = url; + } - @SerializedName("py") - PY("py"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("qa") - QA("qa"), + public static class Builder { + private Address address; - @SerializedName("qz") - QZ("qz"), + private Object email; - @SerializedName("re") - RE("re"), + private Map extraParams; - @SerializedName("ro") - RO("ro"), + private Object phone; - @SerializedName("rs") - RS("rs"), + private Object url; - @SerializedName("ru") - RU("ru"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Support build() { + return new AccountUpdateParams.Configuration.Merchant.Support( + this.address, this.email, this.extraParams, this.phone, this.url); + } - @SerializedName("rw") - RW("rw"), + /** A publicly available mailing address for sending support issues to. */ + public Builder setAddress( + AccountUpdateParams.Configuration.Merchant.Support.Address address) { + this.address = address; + return this; + } - @SerializedName("sa") - SA("sa"), + /** A publicly available email address for sending support issues to. */ + public Builder setEmail(String email) { + this.email = email; + return this; + } - @SerializedName("sb") - SB("sb"), + /** A publicly available email address for sending support issues to. */ + public Builder setEmail(EmptyParam email) { + this.email = email; + return this; + } - @SerializedName("sc") - SC("sc"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sd") - SD("sd"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("se") - SE("se"), + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } - @SerializedName("sg") - SG("sg"), + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; + return this; + } - @SerializedName("sh") - SH("sh"), + /** A publicly available website for handling support issues. */ + public Builder setUrl(String url) { + this.url = url; + return this; + } - @SerializedName("si") - SI("si"), + /** A publicly available website for handling support issues. */ + public Builder setUrl(EmptyParam url) { + this.url = url; + return this; + } + } - @SerializedName("sj") - SJ("sj"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("sk") - SK("sk"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("sl") - SL("sl"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sm") - SM("sm"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("sn") - SN("sn"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("so") - SO("so"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("sr") - SR("sr"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("ss") - SS("ss"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("st") - ST("st"), + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("sv") - SV("sv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sx") - SX("sx"), + public static class Builder { + private Object city; - @SerializedName("sy") - SY("sy"), + private Object country; - @SerializedName("sz") - SZ("sz"), + private Map extraParams; - @SerializedName("tc") - TC("tc"), + private Object line1; - @SerializedName("td") - TD("td"), + private Object line2; - @SerializedName("tf") - TF("tf"), + private Object postalCode; - @SerializedName("tg") - TG("tg"), + private Object state; - @SerializedName("th") - TH("th"), + private Object town; - @SerializedName("tj") - TJ("tj"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Support.Address build() { + return new AccountUpdateParams.Configuration.Merchant.Support.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("tk") - TK("tk"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("tl") - TL("tl"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("tm") - TM("tm"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("tn") - TN("tn"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("to") - TO("to"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tr") - TR("tr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tt") - TT("tt"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("tv") - TV("tv"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("tw") - TW("tw"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("tz") - TZ("tz"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("ua") - UA("ua"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("ug") - UG("ug"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("um") - UM("um"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("us") - US("us"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("uy") - UY("uy"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("uz") - UZ("uz"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } + } + } - @SerializedName("va") - VA("va"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Recipient { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - @SerializedName("vc") - VC("vc"), + /** Capabilities to request on the Recipient Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - @SerializedName("ve") - VE("ve"), + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. + */ + @SerializedName("default_outbound_destination") + Object defaultOutboundDestination; - @SerializedName("vg") - VG("vg"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("vi") - VI("vi"), + private Recipient( + Boolean applied, + Capabilities capabilities, + Object defaultOutboundDestination, + Map extraParams) { + this.applied = applied; + this.capabilities = capabilities; + this.defaultOutboundDestination = defaultOutboundDestination; + this.extraParams = extraParams; + } - @SerializedName("vn") - VN("vn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vu") - VU("vu"), + public static class Builder { + private Boolean applied; - @SerializedName("wf") - WF("wf"), + private Capabilities capabilities; - @SerializedName("ws") - WS("ws"), + private Object defaultOutboundDestination; - @SerializedName("xx") - XX("xx"), + private Map extraParams; - @SerializedName("ye") - YE("ye"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient build() { + return new AccountUpdateParams.Configuration.Recipient( + this.applied, this.capabilities, this.defaultOutboundDestination, this.extraParams); + } - @SerializedName("yt") - YT("yt"), + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } - @SerializedName("za") - ZA("za"), + /** Capabilities to request on the Recipient Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - @SerializedName("zm") - ZM("zm"), + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. + */ + public Builder setDefaultOutboundDestination(String defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + return this; + } - @SerializedName("zw") - ZW("zw"); + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. + */ + public Builder setDefaultOutboundDestination(EmptyParam defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - Country(String value) { - this.value = value; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ScriptNames { + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ + @SerializedName("cards") + Cards cards; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -18910,18 +7514,19 @@ public static class ScriptNames { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Kana name. */ - @SerializedName("kana") - Object kana; - - /** Kanji name. */ - @SerializedName("kanji") - Object kanji; + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_balance") + StripeBalance stripeBalance; - private ScriptNames(Map extraParams, Object kana, Object kanji) { + private Capabilities( + BankAccounts bankAccounts, + Cards cards, + Map extraParams, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; + this.stripeBalance = stripeBalance; } public static Builder builder() { @@ -18929,22 +7534,38 @@ public static Builder builder() { } public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + private Map extraParams; - private Object kana; + private StripeBalance stripeBalance; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, this.cards, this.extraParams, this.stripeBalance); + } - private Object kanji; + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.ScriptNames build() { - return new AccountUpdateParams.Identity.BusinessDetails.ScriptNames( - this.extraParams, this.kana, this.kanji); + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ + public Builder setCards( + AccountUpdateParams.Configuration.Recipient.Capabilities.Cards cards) { + this.cards = cards; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails.ScriptNames#extraParams} + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -18958,7 +7579,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.BusinessDetails.ScriptNames#extraParams} + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -18969,36 +7590,20 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Kana name. */ - public Builder setKana( - AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana kana) { - this.kana = kana; - return this; - } - - /** Kana name. */ - public Builder setKana(EmptyParam kana) { - this.kana = kana; - return this; - } - - /** Kanji name. */ - public Builder setKanji( - AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji kanji) { - this.kanji = kanji; - return this; - } - - /** Kanji name. */ - public Builder setKanji(EmptyParam kanji) { - this.kanji = kanji; + /** + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + */ + public Builder setStripeBalance( + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + stripeBalance) { + this.stripeBalance = stripeBalance; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kana { + public static class BankAccounts { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -19009,13 +7614,21 @@ public static class Kana { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Registered name of the business. */ - @SerializedName("registered_name") - Object registeredName; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + @SerializedName("local") + Local local; - private Kana(Map extraParams, Object registeredName) { + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; + + private BankAccounts(Map extraParams, Local local, Wire wire) { this.extraParams = extraParams; - this.registeredName = registeredName; + this.local = local; + this.wire = wire; } public static Builder builder() { @@ -19025,20 +7638,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object registeredName; + private Local local; + + private Wire wire; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana build() { - return new AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana( - this.extraParams, this.registeredName); + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts( + this.extraParams, this.local, this.wire); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -19052,8 +7667,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the - * field documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -19063,538 +7678,505 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Registered name of the business. */ - public Builder setRegisteredName(String registeredName) { - this.registeredName = registeredName; - return this; - } - - /** Registered name of the business. */ - public Builder setRegisteredName(EmptyParam registeredName) { - this.registeredName = registeredName; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Registered name of the business. */ - @SerializedName("registered_name") - Object registeredName; - - private Kanji(Map extraParams, Object registeredName) { - this.extraParams = extraParams; - this.registeredName = registeredName; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Object registeredName; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji build() { - return new AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji( - this.extraParams, this.registeredName); - } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the - * field documentation. + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); + public Builder setLocal( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { + this.local = local; return this; } /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the - * field documentation. + * Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Registered name of the business. */ - public Builder setRegisteredName(String registeredName) { - this.registeredName = registeredName; - return this; - } - - /** Registered name of the business. */ - public Builder setRegisteredName(EmptyParam registeredName) { - this.registeredName = registeredName; - return this; - } - } - } - } - - public enum Structure implements ApiRequestParams.EnumParam { - @SerializedName("cooperative") - COOPERATIVE("cooperative"), - - @SerializedName("free_zone_establishment") - FREE_ZONE_ESTABLISHMENT("free_zone_establishment"), - - @SerializedName("free_zone_llc") - FREE_ZONE_LLC("free_zone_llc"), - - @SerializedName("governmental_unit") - GOVERNMENTAL_UNIT("governmental_unit"), - - @SerializedName("government_instrumentality") - GOVERNMENT_INSTRUMENTALITY("government_instrumentality"), - - @SerializedName("incorporated_association") - INCORPORATED_ASSOCIATION("incorporated_association"), - - @SerializedName("incorporated_non_profit") - INCORPORATED_NON_PROFIT("incorporated_non_profit"), - - @SerializedName("incorporated_partnership") - INCORPORATED_PARTNERSHIP("incorporated_partnership"), - - @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_listed_corporation") - PUBLIC_LISTED_CORPORATION("public_listed_corporation"), - - @SerializedName("public_partnership") - PUBLIC_PARTNERSHIP("public_partnership"), - - @SerializedName("registered_charity") - REGISTERED_CHARITY("registered_charity"), - - @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("trust") - TRUST("trust"), - - @SerializedName("unincorporated_association") - UNINCORPORATED_ASSOCIATION("unincorporated_association"), - - @SerializedName("unincorporated_non_profit") - UNINCORPORATED_NON_PROFIT("unincorporated_non_profit"), + public Builder setWire( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { + this.wire = wire; + return this; + } + } - @SerializedName("unincorporated_partnership") - UNINCORPORATED_PARTNERSHIP("unincorporated_partnership"); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Local { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - Structure(String value) { - this.value = value; - } - } - } + private Local(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Individual { - /** Additional addresses associated with the individual. */ - @SerializedName("additional_addresses") - Object additionalAddresses; + public static Builder builder() { + return new Builder(); + } - /** Additional names (e.g. aliases) associated with the individual. */ - @SerializedName("additional_names") - Object additionalNames; + public static class Builder { + private Map extraParams; - /** The individual's residential address. */ - @SerializedName("address") - Object address; + private Boolean requested; - /** The individual's date of birth. */ - @SerializedName("date_of_birth") - Object dateOfBirth; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local(this.extraParams, this.requested); + } - /** Documents that may be submitted to satisfy various informational requests. */ - @SerializedName("documents") - Object documents; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** The individual's email address. */ - @SerializedName("email") - Object email; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** The individual's first name. */ - @SerializedName("given_name") - Object givenName; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Wire { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** The identification numbers (e.g., SSN) associated with the individual. */ - @SerializedName("id_numbers") - Object idNumbers; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ - @SerializedName("legal_gender") - ApiRequestParams.EnumParam legalGender; + private Wire(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Set of key-value pairs that you can attach to an object. This can be useful for storing - * additional information about the object in a structured format. - */ - @SerializedName("metadata") - Map metadata; + public static Builder builder() { + return new Builder(); + } - /** - * The countries where the individual is a national. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("nationalities") - List nationalities; + public static class Builder { + private Map extraParams; - /** The individual's phone number. */ - @SerializedName("phone") - Object phone; + private Boolean requested; - /** The individual's political exposure. */ - @SerializedName("political_exposure") - ApiRequestParams.EnumParam politicalExposure; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire(this.extraParams, this.requested); + } - /** The relationship that this individual has with the account's identity. */ - @SerializedName("relationship") - Object relationship; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** The script addresses (e.g., non-Latin characters) associated with the individual. */ - @SerializedName("script_addresses") - Object scriptAddresses; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** The individuals primary name in non latin script. */ - @SerializedName("script_names") - Object scriptNames; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } - /** The individual's last name. */ - @SerializedName("surname") - Object surname; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cards { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Individual( - Object additionalAddresses, - Object additionalNames, - Object address, - Object dateOfBirth, - Object documents, - Object email, - Map extraParams, - Object givenName, - Object idNumbers, - ApiRequestParams.EnumParam legalGender, - Map metadata, - List nationalities, - Object phone, - ApiRequestParams.EnumParam politicalExposure, - Object relationship, - Object scriptAddresses, - Object scriptNames, - Object surname) { - this.additionalAddresses = additionalAddresses; - this.additionalNames = additionalNames; - this.address = address; - this.dateOfBirth = dateOfBirth; - this.documents = documents; - this.email = email; - this.extraParams = extraParams; - this.givenName = givenName; - this.idNumbers = idNumbers; - this.legalGender = legalGender; - this.metadata = metadata; - this.nationalities = nationalities; - this.phone = phone; - this.politicalExposure = politicalExposure; - this.relationship = relationship; - this.scriptAddresses = scriptAddresses; - this.scriptNames = scriptNames; - this.surname = surname; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - public static Builder builder() { - return new Builder(); - } + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static class Builder { - private Object additionalAddresses; + public static Builder builder() { + return new Builder(); + } - private Object additionalNames; + public static class Builder { + private Map extraParams; - private Object address; + private Boolean requested; - private Object dateOfBirth; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards( + this.extraParams, this.requested); + } - private Object documents; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Object email; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private Object givenName; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StripeBalance { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). + */ + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; - private Object idNumbers; + private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { + this.extraParams = extraParams; + this.stripeTransfers = stripeTransfers; + } - private ApiRequestParams.EnumParam legalGender; + public static Builder builder() { + return new Builder(); + } - private Map metadata; + public static class Builder { + private Map extraParams; - private List nationalities; + private StripeTransfers stripeTransfers; - private Object phone; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance( + this.extraParams, this.stripeTransfers); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private ApiRequestParams.EnumParam politicalExposure; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Object relationship; + /** + * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). + */ + public Builder setStripeTransfers( + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + stripeTransfers) { + this.stripeTransfers = stripeTransfers; + return this; + } + } - private Object scriptAddresses; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StripeTransfers { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Object scriptNames; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private Object surname; + private StripeTransfers(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual build() { - return new AccountUpdateParams.Identity.Individual( - this.additionalAddresses, - this.additionalNames, - this.address, - this.dateOfBirth, - this.documents, - this.email, - this.extraParams, - this.givenName, - this.idNumbers, - this.legalGender, - this.metadata, - this.nationalities, - this.phone, - this.politicalExposure, - this.relationship, - this.scriptAddresses, - this.scriptNames, - this.surname); - } + public static Builder builder() { + return new Builder(); + } - /** - * Add an element to `additionalAddresses` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Identity.Individual#additionalAddresses} for the field - * documentation. - */ - @SuppressWarnings("unchecked") - public Builder addAdditionalAddress( - AccountUpdateParams.Identity.Individual.AdditionalAddress element) { - if (this.additionalAddresses == null || this.additionalAddresses instanceof EmptyParam) { - this.additionalAddresses = - new ArrayList(); - } - ((List) - this.additionalAddresses) - .add(element); - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add all elements to `additionalAddresses` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Identity.Individual#additionalAddresses} for the field - * documentation. - */ - @SuppressWarnings("unchecked") - public Builder addAllAdditionalAddress( - List elements) { - if (this.additionalAddresses == null || this.additionalAddresses instanceof EmptyParam) { - this.additionalAddresses = - new ArrayList(); - } - ((List) - this.additionalAddresses) - .addAll(elements); - return this; - } + private Boolean requested; - /** Additional addresses associated with the individual. */ - public Builder setAdditionalAddresses(EmptyParam additionalAddresses) { - this.additionalAddresses = additionalAddresses; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.requested); + } - /** Additional addresses associated with the individual. */ - public Builder setAdditionalAddresses( - List additionalAddresses) { - this.additionalAddresses = additionalAddresses; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add an element to `additionalNames` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Identity.Individual#additionalNames} for the field - * documentation. - */ - @SuppressWarnings("unchecked") - public Builder addAdditionalName( - AccountUpdateParams.Identity.Individual.AdditionalName element) { - if (this.additionalNames == null || this.additionalNames instanceof EmptyParam) { - this.additionalNames = - new ArrayList(); - } - ((List) this.additionalNames) - .add(element); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all elements to `additionalNames` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Identity.Individual#additionalNames} for the field - * documentation. - */ - @SuppressWarnings("unchecked") - public Builder addAllAdditionalName( - List elements) { - if (this.additionalNames == null || this.additionalNames instanceof EmptyParam) { - this.additionalNames = - new ArrayList(); + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - ((List) this.additionalNames) - .addAll(elements); - return this; } + } + } - /** Additional names (e.g. aliases) associated with the individual. */ - public Builder setAdditionalNames(EmptyParam additionalNames) { - this.additionalNames = additionalNames; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Storer { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - /** Additional names (e.g. aliases) associated with the individual. */ - public Builder setAdditionalNames( - List additionalNames) { - this.additionalNames = additionalNames; - return this; - } + /** Capabilities to request on the Storer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - /** The individual's residential address. */ - public Builder setAddress(AccountUpdateParams.Identity.Individual.Address address) { - this.address = address; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** The individual's residential address. */ - public Builder setAddress(EmptyParam address) { - this.address = address; - return this; - } + private Storer(Boolean applied, Capabilities capabilities, Map extraParams) { + this.applied = applied; + this.capabilities = capabilities; + this.extraParams = extraParams; + } - /** The individual's date of birth. */ - public Builder setDateOfBirth( - AccountUpdateParams.Identity.Individual.DateOfBirth dateOfBirth) { - this.dateOfBirth = dateOfBirth; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** The individual's date of birth. */ - public Builder setDateOfBirth(EmptyParam dateOfBirth) { - this.dateOfBirth = dateOfBirth; - return this; - } + public static class Builder { + private Boolean applied; - /** Documents that may be submitted to satisfy various informational requests. */ - public Builder setDocuments(AccountUpdateParams.Identity.Individual.Documents documents) { - this.documents = documents; - return this; - } + private Capabilities capabilities; - /** Documents that may be submitted to satisfy various informational requests. */ - public Builder setDocuments(EmptyParam documents) { - this.documents = documents; - return this; + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer build() { + return new AccountUpdateParams.Configuration.Storer( + this.applied, this.capabilities, this.extraParams); } - /** The individual's email address. */ - public Builder setEmail(String email) { - this.email = email; + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + public Builder setApplied(Boolean applied) { + this.applied = applied; return this; } - /** The individual's email address. */ - public Builder setEmail(EmptyParam email) { - this.email = email; + /** Capabilities to request on the Storer Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Storer.Capabilities capabilities) { + this.capabilities = capabilities; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual#extraParams} for the field + * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -19608,1252 +8190,2246 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual#extraParams} for the field + * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { this.extraParams = new HashMap<>(); } - this.extraParams.putAll(map); - return this; + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Can provision a financial address to credit/debit a FinancialAccount. */ + @SerializedName("financial_addresses") + FinancialAddresses financialAddresses; + + /** Can hold storage-type funds on Stripe. */ + @SerializedName("holds_currencies") + HoldsCurrencies holdsCurrencies; + + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + @SerializedName("inbound_transfers") + InboundTransfers inboundTransfers; + + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + @SerializedName("outbound_payments") + OutboundPayments outboundPayments; + + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + @SerializedName("outbound_transfers") + OutboundTransfers outboundTransfers; + + private Capabilities( + Map extraParams, + FinancialAddresses financialAddresses, + HoldsCurrencies holdsCurrencies, + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers) { + this.extraParams = extraParams; + this.financialAddresses = financialAddresses; + this.holdsCurrencies = holdsCurrencies; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FinancialAddresses financialAddresses; + + private HoldsCurrencies holdsCurrencies; + + private InboundTransfers inboundTransfers; + + private OutboundPayments outboundPayments; + + private OutboundTransfers outboundTransfers; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities( + this.extraParams, + this.financialAddresses, + this.holdsCurrencies, + this.inboundTransfers, + this.outboundPayments, + this.outboundTransfers); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Can provision a financial address to credit/debit a FinancialAccount. */ + public Builder setFinancialAddresses( + AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + financialAddresses) { + this.financialAddresses = financialAddresses; + return this; + } + + /** Can hold storage-type funds on Stripe. */ + public Builder setHoldsCurrencies( + AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies + holdsCurrencies) { + this.holdsCurrencies = holdsCurrencies; + return this; + } + + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + public Builder setInboundTransfers( + AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + inboundTransfers) { + this.inboundTransfers = inboundTransfers; + return this; + } + + /** Can send funds from a FinancialAccount to a destination owned by someone else. */ + public Builder setOutboundPayments( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + outboundPayments) { + this.outboundPayments = outboundPayments; + return this; + } + + /** Can send funds from a FinancialAccount to a destination owned by yourself. */ + public Builder setOutboundTransfers( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + outboundTransfers) { + this.outboundTransfers = outboundTransfers; + return this; + } } - /** The individual's first name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAddresses { + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - /** The individual's first name. */ - public Builder setGivenName(EmptyParam givenName) { - this.givenName = givenName; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add an element to `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Identity.Individual#idNumbers} for the field documentation. - */ - @SuppressWarnings("unchecked") - public Builder addIdNumber(AccountUpdateParams.Identity.Individual.IdNumber element) { - if (this.idNumbers == null || this.idNumbers instanceof EmptyParam) { - this.idNumbers = new ArrayList(); + private FinancialAddresses(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; } - ((List) this.idNumbers).add(element); - return this; - } - /** - * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Identity.Individual#idNumbers} for the field documentation. - */ - @SuppressWarnings("unchecked") - public Builder addAllIdNumber( - List elements) { - if (this.idNumbers == null || this.idNumbers instanceof EmptyParam) { - this.idNumbers = new ArrayList(); + public static Builder builder() { + return new Builder(); } - ((List) this.idNumbers) - .addAll(elements); - return this; - } - /** The identification numbers (e.g., SSN) associated with the individual. */ - public Builder setIdNumbers(EmptyParam idNumbers) { - this.idNumbers = idNumbers; - return this; - } + public static class Builder { + private BankAccounts bankAccounts; - /** The identification numbers (e.g., SSN) associated with the individual. */ - public Builder setIdNumbers( - List idNumbers) { - this.idNumbers = idNumbers; - return this; - } + private Map extraParams; - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ - public Builder setLegalGender( - AccountUpdateParams.Identity.Individual.LegalGender legalGender) { - this.legalGender = legalGender; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses( + this.bankAccounts, this.extraParams); + } - /** - * The individual's gender (International regulations require either "male" or - * "female"). - */ - public Builder setLegalGender(EmptyParam legalGender) { - this.legalGender = legalGender; - return this; - } + /** + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. + */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - /** - * 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 - * AccountUpdateParams.Identity.Individual#metadata} for the field documentation. - */ - public Builder putMetadata(String key, String value) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add 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 - * AccountUpdateParams.Identity.Individual#metadata} for the field documentation. - */ - public Builder putMetadata(String key, EmptyParam value) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } } - 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. Map values can only be one of the following types: `String`, `EmptyParam`. See - * {@link AccountUpdateParams.Identity.Individual#metadata} for the field documentation. - */ - public Builder putAllMetadata(Map map) { - if (!map.values().stream() - .allMatch(v -> v instanceof String || v instanceof EmptyParam)) { - throw new IllegalArgumentException( - "All map values must one of the following types: String, EmptyParam"); - } - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.putAll(map); - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add an element to `nationalities` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * AccountUpdateParams.Identity.Individual#nationalities} for the field documentation. - */ - public Builder addNationality(AccountUpdateParams.Identity.Individual.Nationality element) { - if (this.nationalities == null) { - this.nationalities = new ArrayList<>(); - } - this.nationalities.add(element); - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add all elements to `nationalities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Identity.Individual#nationalities} for the field - * documentation. - */ - public Builder addAllNationality( - List elements) { - if (this.nationalities == null) { - this.nationalities = new ArrayList<>(); - } - this.nationalities.addAll(elements); - return this; - } + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** The individual's phone number. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** The individual's phone number. */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; - return this; - } + public static class Builder { + private Map extraParams; - /** The individual's political exposure. */ - public Builder setPoliticalExposure( - AccountUpdateParams.Identity.Individual.PoliticalExposure politicalExposure) { - this.politicalExposure = politicalExposure; - return this; - } + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** The individual's political exposure. */ - public Builder setPoliticalExposure(EmptyParam politicalExposure) { - this.politicalExposure = politicalExposure; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** The relationship that this individual has with the account's identity. */ - public Builder setRelationship( - AccountUpdateParams.Identity.Individual.Relationship relationship) { - this.relationship = relationship; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } } - /** The relationship that this individual has with the account's identity. */ - public Builder setRelationship(EmptyParam relationship) { - this.relationship = relationship; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class HoldsCurrencies { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** The script addresses (e.g., non-Latin characters) associated with the individual. */ - public Builder setScriptAddresses( - AccountUpdateParams.Identity.Individual.ScriptAddresses scriptAddresses) { - this.scriptAddresses = scriptAddresses; - return this; - } + /** Can hold storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; - /** The script addresses (e.g., non-Latin characters) associated with the individual. */ - public Builder setScriptAddresses(EmptyParam scriptAddresses) { - this.scriptAddresses = scriptAddresses; - return this; - } + private HoldsCurrencies(Map extraParams, Gbp gbp) { + this.extraParams = extraParams; + this.gbp = gbp; + } - /** The individuals primary name in non latin script. */ - public Builder setScriptNames( - AccountUpdateParams.Identity.Individual.ScriptNames scriptNames) { - this.scriptNames = scriptNames; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** The individuals primary name in non latin script. */ - public Builder setScriptNames(EmptyParam scriptNames) { - this.scriptNames = scriptNames; - return this; - } + public static class Builder { + private Map extraParams; - /** The individual's last name. */ - public Builder setSurname(String surname) { - this.surname = surname; - return this; - } + private Gbp gbp; - /** The individual's last name. */ - public Builder setSurname(EmptyParam surname) { - this.surname = surname; - return this; - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies( + this.extraParams, this.gbp); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AdditionalAddress { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam country; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Can hold storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { + this.gbp = gbp; + return this; + } + } - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Gbp { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; + private Gbp(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Required. Purpose of additional address. */ - @SerializedName("purpose") - Purpose purpose; + public static Builder builder() { + return new Builder(); + } - /** State, county, province, or region. */ - @SerializedName("state") - Object state; + public static class Builder { + private Map extraParams; - /** Town or cho-me. */ - @SerializedName("town") - Object town; + private Boolean requested; - private AdditionalAddress( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Purpose purpose, - Object state, - Object town) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.purpose = purpose; - this.state = state; - this.town = town; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies + .Gbp(this.extraParams, this.requested); + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static class Builder { - private Object city; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private ApiRequestParams.EnumParam country; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InboundTransfers { + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - private Object line1; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Object line2; + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + } - private Object postalCode; + public static Builder builder() { + return new Builder(); + } - private Purpose purpose; + public static class Builder { + private BankAccounts bankAccounts; - private Object state; + private Map extraParams; - private Object town; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers( + this.bankAccounts, this.extraParams); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.AdditionalAddress build() { - return new AccountUpdateParams.Identity.Individual.AdditionalAddress( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.purpose, - this.state, - this.town); - } + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } } - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry( - AccountUpdateParams.Identity.Individual.AdditionalAddress.Country country) { - this.country = country; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam country) { - this.country = country; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalAddress#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalAddress#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } + public static class Builder { + private Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } + private Boolean requested; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + .BankAccounts(this.extraParams, this.requested); + } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OutboundPayments { + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + @SerializedName("cards") + Cards cards; - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Required. Purpose of additional address. */ - public Builder setPurpose( - AccountUpdateParams.Identity.Individual.AdditionalAddress.Purpose purpose) { - this.purpose = purpose; - return this; - } + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; + private OutboundPayments( + BankAccounts bankAccounts, + Cards cards, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; } - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; + public static Builder builder() { + return new Builder(); } - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } + public static class Builder { + private BankAccounts bankAccounts; - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; - return this; - } - } + private Cards cards; - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), + private Map extraParams; - @SerializedName("ae") - AE("ae"), + private FinancialAccounts financialAccounts; - @SerializedName("af") - AF("af"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments( + this.bankAccounts, this.cards, this.extraParams, this.financialAccounts); + } - @SerializedName("ag") - AG("ag"), + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - @SerializedName("ai") - AI("ai"), + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + public Builder setCards( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + cards) { + this.cards = cards; + return this; + } - @SerializedName("al") - AL("al"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("am") - AM("am"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ao") - AO("ao"), + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + public Builder setFinancialAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + } - @SerializedName("aq") - AQ("aq"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ar") - AR("ar"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("as") - AS("as"), + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("at") - AT("at"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("au") - AU("au"), + public static class Builder { + private Map extraParams; - @SerializedName("aw") - AW("aw"), + private Boolean requested; - @SerializedName("ax") - AX("ax"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts(this.extraParams, this.requested); + } - @SerializedName("az") - AZ("az"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ba") - BA("ba"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("bb") - BB("bb"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("bd") - BD("bd"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cards { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("be") - BE("be"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("bf") - BF("bf"), + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("bg") - BG("bg"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bh") - BH("bh"), + public static class Builder { + private Map extraParams; - @SerializedName("bi") - BI("bi"), + private Boolean requested; - @SerializedName("bj") - BJ("bj"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .Cards(this.extraParams, this.requested); + } - @SerializedName("bl") - BL("bl"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bm") - BM("bm"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("bn") - BN("bn"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("bo") - BO("bo"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("bq") - BQ("bq"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("br") - BR("br"), + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("bs") - BS("bs"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bt") - BT("bt"), + public static class Builder { + private Map extraParams; - @SerializedName("bv") - BV("bv"), + private Boolean requested; - @SerializedName("bw") - BW("bw"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts(this.extraParams, this.requested); + } - @SerializedName("by") - BY("by"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bz") - BZ("bz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ca") - CA("ca"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } - @SerializedName("cc") - CC("cc"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - @SerializedName("cd") - CD("cd"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cf") - CF("cf"), + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - @SerializedName("cg") - CG("cg"), + private OutboundTransfers( + BankAccounts bankAccounts, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; + } - @SerializedName("ch") - CH("ch"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ci") - CI("ci"), + public static class Builder { + private BankAccounts bankAccounts; - @SerializedName("ck") - CK("ck"), + private Map extraParams; - @SerializedName("cl") - CL("cl"), + private FinancialAccounts financialAccounts; - @SerializedName("cm") - CM("cm"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers( + this.bankAccounts, this.extraParams, this.financialAccounts); + } - @SerializedName("cn") - CN("cn"), + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } - @SerializedName("co") - CO("co"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cr") - CR("cr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("cu") - CU("cu"), + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + public Builder setFinancialAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + } - @SerializedName("cv") - CV("cv"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cw") - CW("cw"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("cx") - CX("cx"), + private BankAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("cy") - CY("cy"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cz") - CZ("cz"), + public static class Builder { + private Map extraParams; - @SerializedName("de") - DE("de"), + private Boolean requested; - @SerializedName("dj") - DJ("dj"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .BankAccounts(this.extraParams, this.requested); + } - @SerializedName("dk") - DK("dk"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("dm") - DM("dm"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("do") - DO("do"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - @SerializedName("dz") - DZ("dz"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ec") - EC("ec"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @SerializedName("ee") - EE("ee"), + private FinancialAccounts(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - @SerializedName("eg") - EG("eg"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("eh") - EH("eh"), + public static class Builder { + private Map extraParams; - @SerializedName("er") - ER("er"), + private Boolean requested; - @SerializedName("es") - ES("es"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts(this.extraParams, this.requested); + } - @SerializedName("et") - ET("et"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("fi") - FI("fi"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("fj") - FJ("fj"), + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + } - @SerializedName("fk") - FK("fk"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Defaults { + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + @SerializedName("currency") + Object currency; - @SerializedName("fm") - FM("fm"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("fo") - FO("fo"), + /** The Account's preferred locales (languages), ordered by preference. */ + @SerializedName("locales") + List locales; - @SerializedName("fr") - FR("fr"), + /** Default responsibilities held by either Stripe or the platform. */ + @SerializedName("responsibilities") + Responsibilities responsibilities; - @SerializedName("ga") - GA("ga"), + private Defaults( + Object currency, + Map extraParams, + List locales, + Responsibilities responsibilities) { + this.currency = currency; + this.extraParams = extraParams; + this.locales = locales; + this.responsibilities = responsibilities; + } - @SerializedName("gb") - GB("gb"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("gd") - GD("gd"), + public static class Builder { + private Object currency; - @SerializedName("ge") - GE("ge"), + private Map extraParams; - @SerializedName("gf") - GF("gf"), + private List locales; - @SerializedName("gg") - GG("gg"), + private Responsibilities responsibilities; - @SerializedName("gh") - GH("gh"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Defaults build() { + return new AccountUpdateParams.Defaults( + this.currency, this.extraParams, this.locales, this.responsibilities); + } - @SerializedName("gi") - GI("gi"), + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } - @SerializedName("gl") - GL("gl"), + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + public Builder setCurrency(EmptyParam currency) { + this.currency = currency; + return this; + } - @SerializedName("gm") - GM("gm"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountUpdateParams.Defaults#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("gn") - GN("gn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountUpdateParams.Defaults#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("gp") - GP("gp"), + /** + * Add an element to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Defaults#locales} for the field documentation. + */ + public Builder addLocale(AccountUpdateParams.Defaults.Locale element) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.add(element); + return this; + } - @SerializedName("gq") - GQ("gq"), + /** + * Add all elements to `locales` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Defaults#locales} for the field documentation. + */ + public Builder addAllLocale(List elements) { + if (this.locales == null) { + this.locales = new ArrayList<>(); + } + this.locales.addAll(elements); + return this; + } - @SerializedName("gr") - GR("gr"), + /** Default responsibilities held by either Stripe or the platform. */ + public Builder setResponsibilities( + AccountUpdateParams.Defaults.Responsibilities responsibilities) { + this.responsibilities = responsibilities; + return this; + } + } - @SerializedName("gs") - GS("gs"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Responsibilities { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("gt") - GT("gt"), + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + @SerializedName("fees_collector") + FeesCollector feesCollector; - @SerializedName("gu") - GU("gu"), + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + @SerializedName("losses_collector") + LossesCollector lossesCollector; - @SerializedName("gw") - GW("gw"), + private Responsibilities( + Map extraParams, + FeesCollector feesCollector, + LossesCollector lossesCollector) { + this.extraParams = extraParams; + this.feesCollector = feesCollector; + this.lossesCollector = lossesCollector; + } - @SerializedName("gy") - GY("gy"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("hk") - HK("hk"), + public static class Builder { + private Map extraParams; - @SerializedName("hm") - HM("hm"), + private FeesCollector feesCollector; - @SerializedName("hn") - HN("hn"), + private LossesCollector lossesCollector; - @SerializedName("hr") - HR("hr"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Defaults.Responsibilities build() { + return new AccountUpdateParams.Defaults.Responsibilities( + this.extraParams, this.feesCollector, this.lossesCollector); + } - @SerializedName("ht") - HT("ht"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("hu") - HU("hu"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("id") - ID("id"), + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + public Builder setFeesCollector( + AccountUpdateParams.Defaults.Responsibilities.FeesCollector feesCollector) { + this.feesCollector = feesCollector; + return this; + } - @SerializedName("ie") - IE("ie"), + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + public Builder setLossesCollector( + AccountUpdateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { + this.lossesCollector = lossesCollector; + return this; + } + } - @SerializedName("il") - IL("il"), + public enum FeesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - @SerializedName("im") - IM("im"), + @SerializedName("stripe") + STRIPE("stripe"); - @SerializedName("in") - IN("in"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("io") - IO("io"), + FeesCollector(String value) { + this.value = value; + } + } - @SerializedName("iq") - IQ("iq"), + public enum LossesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - @SerializedName("ir") - IR("ir"), + @SerializedName("stripe") + STRIPE("stripe"); - @SerializedName("is") - IS("is"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("it") - IT("it"), + LossesCollector(String value) { + this.value = value; + } + } + } - @SerializedName("je") - JE("je"), + public enum Locale implements ApiRequestParams.EnumParam { + @SerializedName("ar-SA") + AR_SA("ar-SA"), - @SerializedName("jm") - JM("jm"), + @SerializedName("bg") + BG("bg"), - @SerializedName("jo") - JO("jo"), + @SerializedName("bg-BG") + BG_BG("bg-BG"), - @SerializedName("jp") - JP("jp"), + @SerializedName("cs") + CS("cs"), - @SerializedName("ke") - KE("ke"), + @SerializedName("cs-CZ") + CS_CZ("cs-CZ"), - @SerializedName("kg") - KG("kg"), + @SerializedName("da") + DA("da"), - @SerializedName("kh") - KH("kh"), + @SerializedName("da-DK") + DA_DK("da-DK"), - @SerializedName("ki") - KI("ki"), + @SerializedName("de") + DE("de"), - @SerializedName("km") - KM("km"), + @SerializedName("de-DE") + DE_DE("de-DE"), - @SerializedName("kn") - KN("kn"), + @SerializedName("el") + EL("el"), - @SerializedName("kp") - KP("kp"), + @SerializedName("el-GR") + EL_GR("el-GR"), - @SerializedName("kr") - KR("kr"), + @SerializedName("en") + EN("en"), - @SerializedName("kw") - KW("kw"), + @SerializedName("en-AU") + EN_AU("en-AU"), - @SerializedName("ky") - KY("ky"), + @SerializedName("en-CA") + EN_CA("en-CA"), - @SerializedName("kz") - KZ("kz"), + @SerializedName("en-GB") + EN_GB("en-GB"), - @SerializedName("la") - LA("la"), + @SerializedName("en-IE") + EN_IE("en-IE"), - @SerializedName("lb") - LB("lb"), + @SerializedName("en-IN") + EN_IN("en-IN"), - @SerializedName("lc") - LC("lc"), + @SerializedName("en-NZ") + EN_NZ("en-NZ"), - @SerializedName("li") - LI("li"), + @SerializedName("en-SG") + EN_SG("en-SG"), - @SerializedName("lk") - LK("lk"), + @SerializedName("en-US") + EN_US("en-US"), - @SerializedName("lr") - LR("lr"), + @SerializedName("es") + ES("es"), - @SerializedName("ls") - LS("ls"), + @SerializedName("es-419") + ES_419("es-419"), - @SerializedName("lt") - LT("lt"), + @SerializedName("es-ES") + ES_ES("es-ES"), - @SerializedName("lu") - LU("lu"), + @SerializedName("et") + ET("et"), - @SerializedName("lv") - LV("lv"), + @SerializedName("et-EE") + ET_EE("et-EE"), - @SerializedName("ly") - LY("ly"), + @SerializedName("fi") + FI("fi"), - @SerializedName("ma") - MA("ma"), + @SerializedName("fil") + FIL("fil"), - @SerializedName("mc") - MC("mc"), + @SerializedName("fil-PH") + FIL_PH("fil-PH"), - @SerializedName("md") - MD("md"), + @SerializedName("fi-FI") + FI_FI("fi-FI"), - @SerializedName("me") - ME("me"), + @SerializedName("fr") + FR("fr"), - @SerializedName("mf") - MF("mf"), + @SerializedName("fr-CA") + FR_CA("fr-CA"), - @SerializedName("mg") - MG("mg"), + @SerializedName("fr-FR") + FR_FR("fr-FR"), - @SerializedName("mh") - MH("mh"), + @SerializedName("he-IL") + HE_IL("he-IL"), - @SerializedName("mk") - MK("mk"), + @SerializedName("hr") + HR("hr"), - @SerializedName("ml") - ML("ml"), + @SerializedName("hr-HR") + HR_HR("hr-HR"), - @SerializedName("mm") - MM("mm"), + @SerializedName("hu") + HU("hu"), - @SerializedName("mn") - MN("mn"), + @SerializedName("hu-HU") + HU_HU("hu-HU"), - @SerializedName("mo") - MO("mo"), + @SerializedName("id") + ID("id"), - @SerializedName("mp") - MP("mp"), + @SerializedName("id-ID") + ID_ID("id-ID"), - @SerializedName("mq") - MQ("mq"), + @SerializedName("it") + IT("it"), - @SerializedName("mr") - MR("mr"), + @SerializedName("it-IT") + IT_IT("it-IT"), - @SerializedName("ms") - MS("ms"), + @SerializedName("ja") + JA("ja"), - @SerializedName("mt") - MT("mt"), + @SerializedName("ja-JP") + JA_JP("ja-JP"), - @SerializedName("mu") - MU("mu"), + @SerializedName("ko") + KO("ko"), - @SerializedName("mv") - MV("mv"), + @SerializedName("ko-KR") + KO_KR("ko-KR"), - @SerializedName("mw") - MW("mw"), + @SerializedName("lt") + LT("lt"), - @SerializedName("mx") - MX("mx"), + @SerializedName("lt-LT") + LT_LT("lt-LT"), - @SerializedName("my") - MY("my"), + @SerializedName("lv") + LV("lv"), - @SerializedName("mz") - MZ("mz"), + @SerializedName("lv-LV") + LV_LV("lv-LV"), - @SerializedName("na") - NA("na"), + @SerializedName("ms") + MS("ms"), - @SerializedName("nc") - NC("nc"), + @SerializedName("ms-MY") + MS_MY("ms-MY"), - @SerializedName("ne") - NE("ne"), + @SerializedName("mt") + MT("mt"), - @SerializedName("nf") - NF("nf"), + @SerializedName("mt-MT") + MT_MT("mt-MT"), - @SerializedName("ng") - NG("ng"), + @SerializedName("nb") + NB("nb"), - @SerializedName("ni") - NI("ni"), + @SerializedName("nb-NO") + NB_NO("nb-NO"), - @SerializedName("nl") - NL("nl"), + @SerializedName("nl") + NL("nl"), - @SerializedName("no") - NO("no"), + @SerializedName("nl-NL") + NL_NL("nl-NL"), - @SerializedName("np") - NP("np"), + @SerializedName("pl") + PL("pl"), - @SerializedName("nr") - NR("nr"), + @SerializedName("pl-PL") + PL_PL("pl-PL"), - @SerializedName("nu") - NU("nu"), + @SerializedName("pt") + PT("pt"), - @SerializedName("nz") - NZ("nz"), + @SerializedName("pt-BR") + PT_BR("pt-BR"), - @SerializedName("om") - OM("om"), + @SerializedName("pt-PT") + PT_PT("pt-PT"), - @SerializedName("pa") - PA("pa"), + @SerializedName("ro") + RO("ro"), - @SerializedName("pe") - PE("pe"), + @SerializedName("ro-RO") + RO_RO("ro-RO"), - @SerializedName("pf") - PF("pf"), + @SerializedName("ru") + RU("ru"), - @SerializedName("pg") - PG("pg"), + @SerializedName("ru-RU") + RU_RU("ru-RU"), - @SerializedName("ph") - PH("ph"), + @SerializedName("sk") + SK("sk"), - @SerializedName("pk") - PK("pk"), + @SerializedName("sk-SK") + SK_SK("sk-SK"), - @SerializedName("pl") - PL("pl"), + @SerializedName("sl") + SL("sl"), - @SerializedName("pm") - PM("pm"), + @SerializedName("sl-SI") + SL_SI("sl-SI"), - @SerializedName("pn") - PN("pn"), + @SerializedName("sv") + SV("sv"), - @SerializedName("pr") - PR("pr"), + @SerializedName("sv-SE") + SV_SE("sv-SE"), - @SerializedName("ps") - PS("ps"), + @SerializedName("th") + TH("th"), - @SerializedName("pt") - PT("pt"), + @SerializedName("th-TH") + TH_TH("th-TH"), - @SerializedName("pw") - PW("pw"), + @SerializedName("tr") + TR("tr"), - @SerializedName("py") - PY("py"), + @SerializedName("tr-TR") + TR_TR("tr-TR"), - @SerializedName("qa") - QA("qa"), + @SerializedName("vi") + VI("vi"), - @SerializedName("qz") - QZ("qz"), + @SerializedName("vi-VN") + VI_VN("vi-VN"), - @SerializedName("re") - RE("re"), + @SerializedName("zh") + ZH("zh"), - @SerializedName("ro") - RO("ro"), + @SerializedName("zh-Hans") + ZH_HANS("zh-Hans"), - @SerializedName("rs") - RS("rs"), + @SerializedName("zh-Hant-HK") + ZH_HANT_HK("zh-Hant-HK"), - @SerializedName("ru") - RU("ru"), + @SerializedName("zh-Hant-TW") + ZH_HANT_TW("zh-Hant-TW"), - @SerializedName("rw") - RW("rw"), + @SerializedName("zh-HK") + ZH_HK("zh-HK"), - @SerializedName("sa") - SA("sa"), + @SerializedName("zh-TW") + ZH_TW("zh-TW"); - @SerializedName("sb") - SB("sb"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("sc") - SC("sc"), + Locale(String value) { + this.value = value; + } + } + } - @SerializedName("sd") - SD("sd"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Identity { + /** Attestations from the identity's key people, e.g. owners, executives, directors. */ + @SerializedName("attestations") + Attestations attestations; - @SerializedName("se") - SE("se"), + /** Information about the company or business. */ + @SerializedName("business_details") + BusinessDetails businessDetails; - @SerializedName("sg") - SG("sg"), + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO + * 3166-1 alpha-2 country code. + */ + @SerializedName("country") + Object country; - @SerializedName("sh") - SH("sh"), + /** The entity type. */ + @SerializedName("entity_type") + EntityType entityType; - @SerializedName("si") - SI("si"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sj") - SJ("sj"), + /** + * Information about the individual represented by the Account. This property is {@code null} + * unless {@code entity_type} is set to {@code individual}. + */ + @SerializedName("individual") + Individual individual; - @SerializedName("sk") - SK("sk"), + private Identity( + Attestations attestations, + BusinessDetails businessDetails, + Object country, + EntityType entityType, + Map extraParams, + Individual individual) { + this.attestations = attestations; + this.businessDetails = businessDetails; + this.country = country; + this.entityType = entityType; + this.extraParams = extraParams; + this.individual = individual; + } - @SerializedName("sl") - SL("sl"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sm") - SM("sm"), + public static class Builder { + private Attestations attestations; - @SerializedName("sn") - SN("sn"), + private BusinessDetails businessDetails; - @SerializedName("so") - SO("so"), + private Object country; - @SerializedName("sr") - SR("sr"), + private EntityType entityType; - @SerializedName("ss") - SS("ss"), + private Map extraParams; - @SerializedName("st") - ST("st"), + private Individual individual; - @SerializedName("sv") - SV("sv"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity build() { + return new AccountUpdateParams.Identity( + this.attestations, + this.businessDetails, + this.country, + this.entityType, + this.extraParams, + this.individual); + } - @SerializedName("sx") - SX("sx"), + /** Attestations from the identity's key people, e.g. owners, executives, directors. */ + public Builder setAttestations(AccountUpdateParams.Identity.Attestations attestations) { + this.attestations = attestations; + return this; + } - @SerializedName("sy") - SY("sy"), + /** Information about the company or business. */ + public Builder setBusinessDetails( + AccountUpdateParams.Identity.BusinessDetails businessDetails) { + this.businessDetails = businessDetails; + return this; + } - @SerializedName("sz") - SZ("sz"), + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO 3166-1 alpha-2 country + * code. + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("tc") - TC("tc"), + /** + * The country in which the account holder resides, or in which the business is legally + * established. This should be an ISO 3166-1 alpha-2 country + * code. + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("td") - TD("td"), + /** The entity type. */ + public Builder setEntityType(AccountUpdateParams.Identity.EntityType entityType) { + this.entityType = entityType; + return this; + } - @SerializedName("tf") - TF("tf"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountUpdateParams.Identity#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tg") - TG("tg"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountUpdateParams.Identity#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("th") - TH("th"), + /** + * Information about the individual represented by the Account. This property is {@code null} + * unless {@code entity_type} is set to {@code individual}. + */ + public Builder setIndividual(AccountUpdateParams.Identity.Individual individual) { + this.individual = individual; + return this; + } + } - @SerializedName("tj") - TJ("tj"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Attestations { + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + @SerializedName("directorship_declaration") + DirectorshipDeclaration directorshipDeclaration; - @SerializedName("tk") - TK("tk"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tl") - TL("tl"), + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + @SerializedName("ownership_declaration") + OwnershipDeclaration ownershipDeclaration; - @SerializedName("tm") - TM("tm"), + /** Attestation that all Persons with a specific Relationship value have been provided. */ + @SerializedName("persons_provided") + PersonsProvided personsProvided; - @SerializedName("tn") - TN("tn"), + /** Attestations of accepted terms of service agreements. */ + @SerializedName("terms_of_service") + TermsOfService termsOfService; - @SerializedName("to") - TO("to"), + private Attestations( + DirectorshipDeclaration directorshipDeclaration, + Map extraParams, + OwnershipDeclaration ownershipDeclaration, + PersonsProvided personsProvided, + TermsOfService termsOfService) { + this.directorshipDeclaration = directorshipDeclaration; + this.extraParams = extraParams; + this.ownershipDeclaration = ownershipDeclaration; + this.personsProvided = personsProvided; + this.termsOfService = termsOfService; + } - @SerializedName("tr") - TR("tr"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tt") - TT("tt"), + public static class Builder { + private DirectorshipDeclaration directorshipDeclaration; - @SerializedName("tv") - TV("tv"), + private Map extraParams; - @SerializedName("tw") - TW("tw"), + private OwnershipDeclaration ownershipDeclaration; - @SerializedName("tz") - TZ("tz"), + private PersonsProvided personsProvided; - @SerializedName("ua") - UA("ua"), + private TermsOfService termsOfService; - @SerializedName("ug") - UG("ug"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations build() { + return new AccountUpdateParams.Identity.Attestations( + this.directorshipDeclaration, + this.extraParams, + this.ownershipDeclaration, + this.personsProvided, + this.termsOfService); + } - @SerializedName("um") - UM("um"), + /** + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. + */ + public Builder setDirectorshipDeclaration( + AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration + directorshipDeclaration) { + this.directorshipDeclaration = directorshipDeclaration; + return this; + } - @SerializedName("us") - US("us"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Attestations#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("uy") - UY("uy"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Attestations#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("uz") - UZ("uz"), + /** + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. + */ + public Builder setOwnershipDeclaration( + AccountUpdateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { + this.ownershipDeclaration = ownershipDeclaration; + return this; + } - @SerializedName("va") - VA("va"), + /** Attestation that all Persons with a specific Relationship value have been provided. */ + public Builder setPersonsProvided( + AccountUpdateParams.Identity.Attestations.PersonsProvided personsProvided) { + this.personsProvided = personsProvided; + return this; + } - @SerializedName("vc") - VC("vc"), + /** Attestations of accepted terms of service agreements. */ + public Builder setTermsOfService( + AccountUpdateParams.Identity.Attestations.TermsOfService termsOfService) { + this.termsOfService = termsOfService; + return this; + } + } - @SerializedName("ve") - VE("ve"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DirectorshipDeclaration { + /** + * The time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - @SerializedName("vg") - VG("vg"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("vi") - VI("vi"), + /** The IP address from which the director attestation was made. */ + @SerializedName("ip") + Object ip; - @SerializedName("vn") - VN("vn"), + /** The user agent of the browser from which the director attestation was made. */ + @SerializedName("user_agent") + Object userAgent; - @SerializedName("vu") - VU("vu"), + private DirectorshipDeclaration( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("wf") - WF("wf"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ws") - WS("ws"), + public static class Builder { + private Instant date; - @SerializedName("xx") - XX("xx"), + private Map extraParams; - @SerializedName("ye") - YE("ye"), + private Object ip; - @SerializedName("yt") - YT("yt"), + private Object userAgent; - @SerializedName("za") - ZA("za"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration build() { + return new AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("zm") - ZM("zm"), + /** + * The time marking when the director attestation was made. Represented as a RFC 3339 date + * & time UTC value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } - @SerializedName("zw") - ZW("zw"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Country(String value) { - this.value = value; + /** The IP address from which the director attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; } - } - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("registered") - REGISTERED("registered"); + /** The IP address from which the director attestation was made. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - Purpose(String value) { - this.value = value; + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class AdditionalName { + public static class OwnershipDeclaration { + /** + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -20864,33 +10440,20 @@ public static class AdditionalName { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's full name. */ - @SerializedName("full_name") - Object fullName; - - /** The person's first or given name. */ - @SerializedName("given_name") - Object givenName; - - /** Required. The purpose or type of the additional name. */ - @SerializedName("purpose") - Purpose purpose; + /** The IP address from which the beneficial owner attestation was made. */ + @SerializedName("ip") + Object ip; - /** The person's last or family name. */ - @SerializedName("surname") - Object surname; + /** The user agent of the browser from which the beneficial owner attestation was made. */ + @SerializedName("user_agent") + Object userAgent; - private AdditionalName( - Map extraParams, - Object fullName, - Object givenName, - Purpose purpose, - Object surname) { + private OwnershipDeclaration( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; this.extraParams = extraParams; - this.fullName = fullName; - this.givenName = givenName; - this.purpose = purpose; - this.surname = surname; + this.ip = ip; + this.userAgent = userAgent; } public static Builder builder() { @@ -20898,27 +10461,36 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; - - private Object fullName; + private Instant date; - private Object givenName; + private Map extraParams; - private Purpose purpose; + private Object ip; - private Object surname; + private Object userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.AdditionalName build() { - return new AccountUpdateParams.Identity.Individual.AdditionalName( - this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); + public AccountUpdateParams.Identity.Attestations.OwnershipDeclaration build() { + return new AccountUpdateParams.Identity.Attestations.OwnershipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time marking when the beneficial owner attestation was made. Represented as a RFC + * 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalName#extraParams} for - * the field documentation. + * map. See {@link + * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -20931,8 +10503,9 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalName#extraParams} for - * the field documentation. + * map. See {@link + * AccountUpdateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -20942,79 +10515,50 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's full name. */ - public Builder setFullName(String fullName) { - this.fullName = fullName; - return this; - } - - /** The person's full name. */ - public Builder setFullName(EmptyParam fullName) { - this.fullName = fullName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(EmptyParam givenName) { - this.givenName = givenName; + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; return this; } - /** Required. The purpose or type of the additional name. */ - public Builder setPurpose( - AccountUpdateParams.Identity.Individual.AdditionalName.Purpose purpose) { - this.purpose = purpose; + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; return this; } - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** The user agent of the browser from which the beneficial owner attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; return this; } - /** The person's last or family name. */ - public Builder setSurname(EmptyParam surname) { - this.surname = surname; + /** The user agent of the browser from which the beneficial owner attestation was made. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; return this; } } - - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("alias") - ALIAS("alias"), - - @SerializedName("maiden") - MAIDEN("maiden"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Purpose(String value) { - this.value = value; - } - } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; + public static class PersonsProvided { + /** + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. + */ + @SerializedName("directors") + Boolean directors; /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. */ - @SerializedName("country") - ApiRequestParams.EnumParam country; + @SerializedName("executives") + Boolean executives; /** * Map of extra parameters for custom features not available in this client library. The @@ -21026,43 +10570,29 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; + /** + * Whether the company’s owners have been provided. Set this Boolean to true after creating + * all the company’s owners with the Persons API. + */ + @SerializedName("owners") + Boolean owners; - /** Town or cho-me. */ - @SerializedName("town") - Object town; + /** Reason for why the company is exempt from providing ownership information. */ + @SerializedName("ownership_exemption_reason") + OwnershipExemptionReason ownershipExemptionReason; - private Address( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; + private PersonsProvided( + Boolean directors, + Boolean executives, + Map extraParams, + Boolean owners, + OwnershipExemptionReason ownershipExemptionReason) { + this.directors = directors; + this.executives = executives; this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.owners = owners; + this.ownershipExemptionReason = ownershipExemptionReason; } public static Builder builder() { @@ -21070,71 +10600,51 @@ public static Builder builder() { } public static class Builder { - private Object city; + private Boolean directors; - private ApiRequestParams.EnumParam country; + private Boolean executives; private Map extraParams; - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; + private Boolean owners; - private Object town; + private OwnershipExemptionReason ownershipExemptionReason; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Address build() { - return new AccountUpdateParams.Identity.Individual.Address( - this.city, - this.country, + public AccountUpdateParams.Identity.Attestations.PersonsProvided build() { + return new AccountUpdateParams.Identity.Attestations.PersonsProvided( + this.directors, + this.executives, this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; + this.owners, + this.ownershipExemptionReason); } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * Whether the company’s directors have been provided. Set this Boolean to true after + * creating all the company’s directors with the Persons API. */ - public Builder setCountry( - AccountUpdateParams.Identity.Individual.Address.Country country) { - this.country = country; + public Builder setDirectors(Boolean directors) { + this.directors = directors; return this; } /** - * Two-letter country code (ISO - * 3166-1 alpha-2). + * Whether the company’s executives have been provided. Set this Boolean to true after + * creating all the company’s executives with the Persons API. */ - public Builder setCountry(EmptyParam country) { - this.country = country; + public Builder setExecutives(Boolean executives) { + this.executives = executives; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.Address#extraParams} for the - * field documentation. + * map. See {@link AccountUpdateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -21147,8 +10657,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.Address#extraParams} for the - * field documentation. + * map. See {@link AccountUpdateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -21158,836 +10668,978 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; + /** + * Whether the company’s owners have been provided. Set this Boolean to true after + * creating all the company’s owners with the Persons API. + */ + public Builder setOwners(Boolean owners) { + this.owners = owners; return this; } - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; + /** Reason for why the company is exempt from providing ownership information. */ + public Builder setOwnershipExemptionReason( + AccountUpdateParams.Identity.Attestations.PersonsProvided.OwnershipExemptionReason + ownershipExemptionReason) { + this.ownershipExemptionReason = ownershipExemptionReason; return this; } } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), + public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { + @SerializedName("qualified_entity_exceeds_ownership_threshold") + QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( + "qualified_entity_exceeds_ownership_threshold"), - @SerializedName("jm") - JM("jm"), + @SerializedName("qualifies_as_financial_institution") + QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); - @SerializedName("jo") - JO("jo"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("jp") - JP("jp"), + OwnershipExemptionReason(String value) { + this.value = value; + } + } + } - @SerializedName("ke") - KE("ke"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TermsOfService { + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + @SerializedName("account") + Account account; - @SerializedName("kg") - KG("kg"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("kh") - KH("kh"), + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + @SerializedName("storer") + Storer storer; - @SerializedName("ki") - KI("ki"), + private TermsOfService(Account account, Map extraParams, Storer storer) { + this.account = account; + this.extraParams = extraParams; + this.storer = storer; + } - @SerializedName("km") - KM("km"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("kn") - KN("kn"), + public static class Builder { + private Account account; - @SerializedName("kp") - KP("kp"), + private Map extraParams; - @SerializedName("kr") - KR("kr"), + private Storer storer; - @SerializedName("kw") - KW("kw"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService( + this.account, this.extraParams, this.storer); + } - @SerializedName("ky") - KY("ky"), + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + public Builder setAccount( + AccountUpdateParams.Identity.Attestations.TermsOfService.Account account) { + this.account = account; + return this; + } - @SerializedName("kz") - KZ("kz"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Attestations.TermsOfService#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("la") - LA("la"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Attestations.TermsOfService#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("lb") - LB("lb"), + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + public Builder setStorer( + AccountUpdateParams.Identity.Attestations.TermsOfService.Storer storer) { + this.storer = storer; + return this; + } + } - @SerializedName("lc") - LC("lc"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Account { + /** + * The time when the Account's representative accepted the terms of service. Represented + * as a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - @SerializedName("li") - LI("li"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("lk") - LK("lk"), + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + @SerializedName("ip") + Object ip; - @SerializedName("lr") - LR("lr"), + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + Object userAgent; - @SerializedName("ls") - LS("ls"), + private Account( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("lt") - LT("lt"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("lu") - LU("lu"), + public static class Builder { + private Instant date; - @SerializedName("lv") - LV("lv"), + private Map extraParams; - @SerializedName("ly") - LY("ly"), + private Object ip; - @SerializedName("ma") - MA("ma"), + private Object userAgent; - @SerializedName("mc") - MC("mc"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.Account build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.Account( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("md") - MD("md"), + /** + * The time when the Account's representative accepted the terms of service. Represented + * as a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } - @SerializedName("me") - ME("me"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mf") - MF("mf"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mg") - MG("mg"), + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("mh") - MH("mh"), + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - @SerializedName("mk") - MK("mk"), + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - @SerializedName("ml") - ML("ml"), + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("mm") - MM("mm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Storer { + /** + * The time when the Account's representative accepted the terms of service. Represented + * as a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - @SerializedName("mn") - MN("mn"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mo") - MO("mo"), + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + @SerializedName("ip") + Object ip; - @SerializedName("mp") - MP("mp"), + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + Object userAgent; - @SerializedName("mq") - MQ("mq"), + private Storer( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("mr") - MR("mr"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ms") - MS("ms"), + public static class Builder { + private Instant date; - @SerializedName("mt") - MT("mt"), + private Map extraParams; - @SerializedName("mu") - MU("mu"), + private Object ip; - @SerializedName("mv") - MV("mv"), + private Object userAgent; - @SerializedName("mw") - MW("mw"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.Storer build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.Storer( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("mx") - MX("mx"), + /** + * The time when the Account's representative accepted the terms of service. Represented + * as a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } - @SerializedName("my") - MY("my"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mz") - MZ("mz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("na") - NA("na"), + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("nc") - NC("nc"), + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - @SerializedName("ne") - NE("ne"), + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - @SerializedName("nf") - NF("nf"), + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + } - @SerializedName("ng") - NG("ng"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BusinessDetails { + /** The business registration address of the business entity. */ + @SerializedName("address") + Address address; - @SerializedName("ni") - NI("ni"), + /** The business gross annual revenue for its preceding fiscal year. */ + @SerializedName("annual_revenue") + AnnualRevenue annualRevenue; - @SerializedName("nl") - NL("nl"), + /** A document verifying the business. */ + @SerializedName("documents") + Documents documents; - @SerializedName("no") - NO("no"), + /** The name which is used by the business. */ + @SerializedName("doing_business_as") + Object doingBusinessAs; - @SerializedName("np") - NP("np"), + /** + * An estimated upper bound of employees, contractors, vendors, etc. currently working for the + * business. + */ + @SerializedName("estimated_worker_count") + Long estimatedWorkerCount; - @SerializedName("nr") - NR("nr"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("nu") - NU("nu"), + /** The ID numbers of a business entity. */ + @SerializedName("id_numbers") + List idNumbers; - @SerializedName("nz") - NZ("nz"), + /** An estimate of the monthly revenue of the business. */ + @SerializedName("monthly_estimated_revenue") + MonthlyEstimatedRevenue monthlyEstimatedRevenue; - @SerializedName("om") - OM("om"), + /** The phone number of the Business Entity. */ + @SerializedName("phone") + Object phone; - @SerializedName("pa") - PA("pa"), + /** + * Internal-only description of the product sold or service provided by the business. It’s + * used by Stripe for risk and underwriting purposes. + */ + @SerializedName("product_description") + Object productDescription; - @SerializedName("pe") - PE("pe"), + /** The business legal name. */ + @SerializedName("registered_name") + Object registeredName; - @SerializedName("pf") - PF("pf"), + /** The business registration address of the business entity in non latin script. */ + @SerializedName("script_addresses") + ScriptAddresses scriptAddresses; - @SerializedName("pg") - PG("pg"), + /** The business legal name in non latin script. */ + @SerializedName("script_names") + ScriptNames scriptNames; - @SerializedName("ph") - PH("ph"), + /** The category identifying the legal structure of the business. */ + @SerializedName("structure") + Structure structure; - @SerializedName("pk") - PK("pk"), + /** The business's publicly available website. */ + @SerializedName("url") + Object url; - @SerializedName("pl") - PL("pl"), + private BusinessDetails( + Address address, + AnnualRevenue annualRevenue, + Documents documents, + Object doingBusinessAs, + Long estimatedWorkerCount, + Map extraParams, + List idNumbers, + MonthlyEstimatedRevenue monthlyEstimatedRevenue, + Object phone, + Object productDescription, + Object registeredName, + ScriptAddresses scriptAddresses, + ScriptNames scriptNames, + Structure structure, + Object url) { + this.address = address; + this.annualRevenue = annualRevenue; + this.documents = documents; + this.doingBusinessAs = doingBusinessAs; + this.estimatedWorkerCount = estimatedWorkerCount; + this.extraParams = extraParams; + this.idNumbers = idNumbers; + this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; + this.phone = phone; + this.productDescription = productDescription; + this.registeredName = registeredName; + this.scriptAddresses = scriptAddresses; + this.scriptNames = scriptNames; + this.structure = structure; + this.url = url; + } - @SerializedName("pm") - PM("pm"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pn") - PN("pn"), + public static class Builder { + private Address address; - @SerializedName("pr") - PR("pr"), + private AnnualRevenue annualRevenue; - @SerializedName("ps") - PS("ps"), + private Documents documents; - @SerializedName("pt") - PT("pt"), + private Object doingBusinessAs; - @SerializedName("pw") - PW("pw"), + private Long estimatedWorkerCount; - @SerializedName("py") - PY("py"), + private Map extraParams; - @SerializedName("qa") - QA("qa"), + private List idNumbers; - @SerializedName("qz") - QZ("qz"), + private MonthlyEstimatedRevenue monthlyEstimatedRevenue; - @SerializedName("re") - RE("re"), + private Object phone; - @SerializedName("ro") - RO("ro"), + private Object productDescription; - @SerializedName("rs") - RS("rs"), + private Object registeredName; - @SerializedName("ru") - RU("ru"), + private ScriptAddresses scriptAddresses; - @SerializedName("rw") - RW("rw"), + private ScriptNames scriptNames; - @SerializedName("sa") - SA("sa"), + private Structure structure; - @SerializedName("sb") - SB("sb"), + private Object url; - @SerializedName("sc") - SC("sc"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails build() { + return new AccountUpdateParams.Identity.BusinessDetails( + this.address, + this.annualRevenue, + this.documents, + this.doingBusinessAs, + this.estimatedWorkerCount, + this.extraParams, + this.idNumbers, + this.monthlyEstimatedRevenue, + this.phone, + this.productDescription, + this.registeredName, + this.scriptAddresses, + this.scriptNames, + this.structure, + this.url); + } - @SerializedName("sd") - SD("sd"), + /** The business registration address of the business entity. */ + public Builder setAddress(AccountUpdateParams.Identity.BusinessDetails.Address address) { + this.address = address; + return this; + } - @SerializedName("se") - SE("se"), + /** The business gross annual revenue for its preceding fiscal year. */ + public Builder setAnnualRevenue( + AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue annualRevenue) { + this.annualRevenue = annualRevenue; + return this; + } - @SerializedName("sg") - SG("sg"), + /** A document verifying the business. */ + public Builder setDocuments( + AccountUpdateParams.Identity.BusinessDetails.Documents documents) { + this.documents = documents; + return this; + } - @SerializedName("sh") - SH("sh"), + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(String doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + return this; + } - @SerializedName("si") - SI("si"), + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(EmptyParam doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + return this; + } - @SerializedName("sj") - SJ("sj"), + /** + * An estimated upper bound of employees, contractors, vendors, etc. currently working for + * the business. + */ + public Builder setEstimatedWorkerCount(Long estimatedWorkerCount) { + this.estimatedWorkerCount = estimatedWorkerCount; + return this; + } - @SerializedName("sk") - SK("sk"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.BusinessDetails#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sl") - SL("sl"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.BusinessDetails#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sm") - SM("sm"), + /** + * Add an element to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Identity.BusinessDetails#idNumbers} for the field documentation. + */ + public Builder addIdNumber(AccountUpdateParams.Identity.BusinessDetails.IdNumber element) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.add(element); + return this; + } - @SerializedName("sn") - SN("sn"), + /** + * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Identity.BusinessDetails#idNumbers} for the field documentation. + */ + public Builder addAllIdNumber( + List elements) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.addAll(elements); + return this; + } - @SerializedName("so") - SO("so"), + /** An estimate of the monthly revenue of the business. */ + public Builder setMonthlyEstimatedRevenue( + AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue + monthlyEstimatedRevenue) { + this.monthlyEstimatedRevenue = monthlyEstimatedRevenue; + return this; + } - @SerializedName("sr") - SR("sr"), + /** The phone number of the Business Entity. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } - @SerializedName("ss") - SS("ss"), + /** The phone number of the Business Entity. */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; + return this; + } - @SerializedName("st") - ST("st"), + /** + * Internal-only description of the product sold or service provided by the business. It’s + * used by Stripe for risk and underwriting purposes. + */ + public Builder setProductDescription(String productDescription) { + this.productDescription = productDescription; + return this; + } - @SerializedName("sv") - SV("sv"), + /** + * Internal-only description of the product sold or service provided by the business. It’s + * used by Stripe for risk and underwriting purposes. + */ + public Builder setProductDescription(EmptyParam productDescription) { + this.productDescription = productDescription; + return this; + } - @SerializedName("sx") - SX("sx"), + /** The business legal name. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; + return this; + } - @SerializedName("sy") - SY("sy"), + /** The business legal name. */ + public Builder setRegisteredName(EmptyParam registeredName) { + this.registeredName = registeredName; + return this; + } - @SerializedName("sz") - SZ("sz"), + /** The business registration address of the business entity in non latin script. */ + public Builder setScriptAddresses( + AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses scriptAddresses) { + this.scriptAddresses = scriptAddresses; + return this; + } - @SerializedName("tc") - TC("tc"), + /** The business legal name in non latin script. */ + public Builder setScriptNames( + AccountUpdateParams.Identity.BusinessDetails.ScriptNames scriptNames) { + this.scriptNames = scriptNames; + return this; + } - @SerializedName("td") - TD("td"), + /** The category identifying the legal structure of the business. */ + public Builder setStructure( + AccountUpdateParams.Identity.BusinessDetails.Structure structure) { + this.structure = structure; + return this; + } - @SerializedName("tf") - TF("tf"), + /** The business's publicly available website. */ + public Builder setUrl(String url) { + this.url = url; + return this; + } - @SerializedName("tg") - TG("tg"), + /** The business's publicly available website. */ + public Builder setUrl(EmptyParam url) { + this.url = url; + return this; + } + } - @SerializedName("th") - TH("th"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("tj") - TJ("tj"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("tk") - TK("tk"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tl") - TL("tl"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("tm") - TM("tm"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("tn") - TN("tn"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("to") - TO("to"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("tr") - TR("tr"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("tt") - TT("tt"), + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("tv") - TV("tv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tw") - TW("tw"), + public static class Builder { + private Object city; - @SerializedName("tz") - TZ("tz"), + private Object country; - @SerializedName("ua") - UA("ua"), + private Map extraParams; - @SerializedName("ug") - UG("ug"), + private Object line1; - @SerializedName("um") - UM("um"), + private Object line2; - @SerializedName("us") - US("us"), + private Object postalCode; - @SerializedName("uy") - UY("uy"), + private Object state; - @SerializedName("uz") - UZ("uz"), + private Object town; - @SerializedName("va") - VA("va"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.Address build() { + return new AccountUpdateParams.Identity.BusinessDetails.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("vc") - VC("vc"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("ve") - VE("ve"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("vg") - VG("vg"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("vi") - VI("vi"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("vn") - VN("vn"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.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; + } - @SerializedName("vu") - VU("vu"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.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; + } - @SerializedName("wf") - WF("wf"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("ws") - WS("ws"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("xx") - XX("xx"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("ye") - YE("ye"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("yt") - YT("yt"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("za") - ZA("za"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("zm") - ZM("zm"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("zw") - ZW("zw"); + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - Country(String value) { - this.value = value; + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; } } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DateOfBirth { - /** Required. The day of the birth. */ - @SerializedName("day") - Integer day; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AnnualRevenue { + /** A non-negative integer representing the amount in the smallest currency unit. */ + @SerializedName("amount") + Amount amount; /** * Map of extra parameters for custom features not available in this client library. The @@ -21999,20 +11651,18 @@ public static class DateOfBirth { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. The month of birth. */ - @SerializedName("month") - Integer month; - - /** Required. The year of birth. */ - @SerializedName("year") - Integer year; + /** + * The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + * the 31st of December, 2023. + */ + @SerializedName("fiscal_year_end") + Object fiscalYearEnd; - private DateOfBirth( - Integer day, Map extraParams, Integer month, Integer year) { - this.day = day; + private AnnualRevenue( + Amount amount, Map extraParams, Object fiscalYearEnd) { + this.amount = amount; this.extraParams = extraParams; - this.month = month; - this.year = year; + this.fiscalYearEnd = fiscalYearEnd; } public static Builder builder() { @@ -22020,31 +11670,29 @@ public static Builder builder() { } public static class Builder { - private Integer day; + private Amount amount; private Map extraParams; - private Integer month; - - private Integer year; + private Object fiscalYearEnd; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.DateOfBirth build() { - return new AccountUpdateParams.Identity.Individual.DateOfBirth( - this.day, this.extraParams, this.month, this.year); + public AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue build() { + return new AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue( + this.amount, this.extraParams, this.fiscalYearEnd); } - /** Required. The day of the birth. */ - public Builder setDay(Integer day) { - this.day = day; + /** A non-negative integer representing the amount in the smallest currency unit. */ + public Builder setAmount(Amount amount) { + this.amount = amount; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.DateOfBirth#extraParams} for - * the field documentation. + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -22057,8 +11705,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.DateOfBirth#extraParams} for - * the field documentation. + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.AnnualRevenue#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -22068,15 +11716,21 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. The month of birth. */ - public Builder setMonth(Integer month) { - this.month = month; + /** + * The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + * the 31st of December, 2023. + */ + public Builder setFiscalYearEnd(String fiscalYearEnd) { + this.fiscalYearEnd = fiscalYearEnd; return this; } - /** Required. The year of birth. */ - public Builder setYear(Integer year) { - this.year = year; + /** + * The close-out date of the preceding fiscal year in ISO 8601 format. E.g. 2023-12-31 for + * the 31st of December, 2023. + */ + public Builder setFiscalYearEnd(EmptyParam fiscalYearEnd) { + this.fiscalYearEnd = fiscalYearEnd; return this; } } @@ -22086,11 +11740,38 @@ public Builder setYear(Integer year) { @EqualsAndHashCode(callSuper = false) public static class Documents { /** - * One or more documents that demonstrate proof that this person is authorized to represent - * the company. + * 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 check. */ - @SerializedName("company_authorization") - CompanyAuthorization companyAuthorization; + @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 @@ -22102,45 +11783,48 @@ public static class Documents { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * One or more documents showing the person’s passport page with photo and personal data. - */ - @SerializedName("passport") - Passport passport; - - /** - * An identifying document showing the person's name, either a passport or local ID card. - */ + /** A document verifying the business. */ @SerializedName("primary_verification") - Object primaryVerification; + PrimaryVerification primaryVerification; - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - @SerializedName("secondary_verification") - Object secondaryVerification; + /** One or more documents that demonstrate proof of address. */ + @SerializedName("proof_of_address") + ProofOfAddress proofOfAddress; /** - * One or more documents showing the person’s visa required for living in the country where - * they are residing. + * One or more documents showing the company’s proof of registration with the national + * business registry. */ - @SerializedName("visa") - Visa visa; + @SerializedName("proof_of_registration") + ProofOfRegistration proofOfRegistration; + + /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ + @SerializedName("proof_of_ultimate_beneficial_ownership") + ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; private Documents( - CompanyAuthorization companyAuthorization, + BankAccountOwnershipVerification bankAccountOwnershipVerification, + CompanyLicense companyLicense, + CompanyMemorandumOfAssociation companyMemorandumOfAssociation, + CompanyMinisterialDecree companyMinisterialDecree, + CompanyRegistrationVerification companyRegistrationVerification, + CompanyTaxIdVerification companyTaxIdVerification, Map extraParams, - Passport passport, - Object primaryVerification, - Object secondaryVerification, - Visa visa) { - this.companyAuthorization = companyAuthorization; + PrimaryVerification primaryVerification, + ProofOfAddress proofOfAddress, + ProofOfRegistration proofOfRegistration, + ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership) { + this.bankAccountOwnershipVerification = bankAccountOwnershipVerification; + this.companyLicense = companyLicense; + this.companyMemorandumOfAssociation = companyMemorandumOfAssociation; + this.companyMinisterialDecree = companyMinisterialDecree; + this.companyRegistrationVerification = companyRegistrationVerification; + this.companyTaxIdVerification = companyTaxIdVerification; this.extraParams = extraParams; - this.passport = passport; this.primaryVerification = primaryVerification; - this.secondaryVerification = secondaryVerification; - this.visa = visa; + this.proofOfAddress = proofOfAddress; + this.proofOfRegistration = proofOfRegistration; + this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; } public static Builder builder() { @@ -22148,45 +11832,108 @@ public static Builder builder() { } public static class Builder { - private CompanyAuthorization companyAuthorization; + private BankAccountOwnershipVerification bankAccountOwnershipVerification; + + private CompanyLicense companyLicense; + + private CompanyMemorandumOfAssociation companyMemorandumOfAssociation; + + private CompanyMinisterialDecree companyMinisterialDecree; + + private CompanyRegistrationVerification companyRegistrationVerification; + + private CompanyTaxIdVerification companyTaxIdVerification; private Map extraParams; - private Passport passport; + private PrimaryVerification primaryVerification; - private Object primaryVerification; + private ProofOfAddress proofOfAddress; - private Object secondaryVerification; + private ProofOfRegistration proofOfRegistration; - private Visa visa; + private ProofOfUltimateBeneficialOwnership proofOfUltimateBeneficialOwnership; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents build() { - return new AccountUpdateParams.Identity.Individual.Documents( - this.companyAuthorization, + public AccountUpdateParams.Identity.BusinessDetails.Documents build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents( + this.bankAccountOwnershipVerification, + this.companyLicense, + this.companyMemorandumOfAssociation, + this.companyMinisterialDecree, + this.companyRegistrationVerification, + this.companyTaxIdVerification, this.extraParams, - this.passport, this.primaryVerification, - this.secondaryVerification, - this.visa); + this.proofOfAddress, + this.proofOfRegistration, + this.proofOfUltimateBeneficialOwnership); } /** - * One or more documents that demonstrate proof that this person is authorized to - * represent the company. + * 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 check. */ - public Builder setCompanyAuthorization( - AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization - companyAuthorization) { - this.companyAuthorization = companyAuthorization; + public Builder setBankAccountOwnershipVerification( + AccountUpdateParams.Identity.BusinessDetails.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( + AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense + companyLicense) { + this.companyLicense = companyLicense; + return this; + } + + /** One or more documents showing the company’s Memorandum of Association. */ + public Builder setCompanyMemorandumOfAssociation( + AccountUpdateParams.Identity.BusinessDetails.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( + AccountUpdateParams.Identity.BusinessDetails.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( + AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyRegistrationVerification + companyRegistrationVerification) { + this.companyRegistrationVerification = companyRegistrationVerification; + return this; + } + + /** One or more documents that demonstrate proof of a company’s tax ID. */ + public Builder setCompanyTaxIdVerification( + AccountUpdateParams.Identity.BusinessDetails.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 AccountUpdateParams.Identity.Individual.Documents#extraParams} for the - * field documentation. + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.Documents#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -22199,8 +11946,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.Documents#extraParams} for the - * field documentation. + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.Documents#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -22210,66 +11957,46 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * One or more documents showing the person’s passport page with photo and personal data. - */ - public Builder setPassport( - AccountUpdateParams.Identity.Individual.Documents.Passport passport) { - this.passport = passport; - return this; - } - - /** - * An identifying document showing the person's name, either a passport or local ID card. - */ + /** A document verifying the business. */ public Builder setPrimaryVerification( - AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification - primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** - * An identifying document showing the person's name, either a passport or local ID card. - */ - public Builder setPrimaryVerification(EmptyParam primaryVerification) { + AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification + primaryVerification) { this.primaryVerification = primaryVerification; return this; } - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - public Builder setSecondaryVerification( - AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification - secondaryVerification) { - this.secondaryVerification = secondaryVerification; + /** One or more documents that demonstrate proof of address. */ + public Builder setProofOfAddress( + AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress + proofOfAddress) { + this.proofOfAddress = proofOfAddress; return this; } /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. + * One or more documents showing the company’s proof of registration with the national + * business registry. */ - public Builder setSecondaryVerification(EmptyParam secondaryVerification) { - this.secondaryVerification = secondaryVerification; + public Builder setProofOfRegistration( + AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration + proofOfRegistration) { + this.proofOfRegistration = proofOfRegistration; return this; } - /** - * One or more documents showing the person’s visa required for living in the country - * where they are residing. - */ - public Builder setVisa(AccountUpdateParams.Identity.Individual.Documents.Visa visa) { - this.visa = visa; + /** One or more documents that demonstrate proof of ultimate beneficial ownership. */ + public Builder setProofOfUltimateBeneficialOwnership( + AccountUpdateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership + proofOfUltimateBeneficialOwnership) { + this.proofOfUltimateBeneficialOwnership = proofOfUltimateBeneficialOwnership; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CompanyAuthorization { + 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. @@ -22295,7 +12022,7 @@ public static class CompanyAuthorization { @SerializedName("type") Type type; - private CompanyAuthorization( + private BankAccountOwnershipVerification( Map extraParams, List files, Type type) { this.extraParams = extraParams; this.files = files; @@ -22314,16 +12041,18 @@ public static class Builder { private Type type; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization build() { - return new AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization( - this.extraParams, this.files, this.type); + public AccountUpdateParams.Identity.BusinessDetails.Documents + .BankAccountOwnershipVerification + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents + .BankAccountOwnershipVerification(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#extraParams} + * AccountUpdateParams.Identity.BusinessDetails.Documents.BankAccountOwnershipVerification#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22338,7 +12067,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#extraParams} + * AccountUpdateParams.Identity.BusinessDetails.Documents.BankAccountOwnershipVerification#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22352,8 +12081,8 @@ public Builder putAllExtraParam(Map map) { /** * 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 - * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#files} for the - * field documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.BankAccountOwnershipVerification#files} + * for the field documentation. */ public Builder addFile(String element) { if (this.files == null) { @@ -22366,8 +12095,8 @@ public Builder addFile(String element) { /** * 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 - * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#files} for the - * field documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.BankAccountOwnershipVerification#files} + * for the field documentation. */ public Builder addAllFile(List elements) { if (this.files == null) { @@ -22382,7 +12111,9 @@ public Builder addAllFile(List elements) { * files} only. */ public Builder setType( - AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization.Type type) { + AccountUpdateParams.Identity.BusinessDetails.Documents + .BankAccountOwnershipVerification.Type + type) { this.type = type; return this; } @@ -22403,7 +12134,7 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class Passport { + 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. @@ -22429,7 +12160,7 @@ public static class Passport { @SerializedName("type") Type type; - private Passport(Map extraParams, List files, Type type) { + private CompanyLicense(Map extraParams, List files, Type type) { this.extraParams = extraParams; this.files = files; this.type = type; @@ -22447,8 +12178,8 @@ public static class Builder { private Type type; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents.Passport build() { - return new AccountUpdateParams.Identity.Individual.Documents.Passport( + public AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense( this.extraParams, this.files, this.type); } @@ -22456,8 +12187,8 @@ public AccountUpdateParams.Identity.Individual.Documents.Passport build() { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.Passport#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -22471,8 +12202,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.Passport#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -22485,8 +12216,8 @@ public Builder putAllExtraParam(Map map) { /** * 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 - * AccountUpdateParams.Identity.Individual.Documents.Passport#files} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense#files} for the + * field documentation. */ public Builder addFile(String element) { if (this.files == null) { @@ -22499,8 +12230,8 @@ public Builder addFile(String element) { /** * 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 - * AccountUpdateParams.Identity.Individual.Documents.Passport#files} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense#files} for the + * field documentation. */ public Builder addAllFile(List elements) { if (this.files == null) { @@ -22515,7 +12246,7 @@ public Builder addAllFile(List elements) { * files} only. */ public Builder setType( - AccountUpdateParams.Identity.Individual.Documents.Passport.Type type) { + AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyLicense.Type type) { this.type = type; return this; } @@ -22536,7 +12267,7 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class PrimaryVerification { + 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. @@ -22548,24 +12279,24 @@ public static class PrimaryVerification { Map extraParams; /** - * Required. The file upload tokens - * referring to each side of the document. + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. */ - @SerializedName("front_back") - FrontBack frontBack; + @SerializedName("files") + List files; /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. + * Required. The format of the document. Currently supports {@code files} + * only. */ @SerializedName("type") Type type; - private PrimaryVerification( - Map extraParams, FrontBack frontBack, Type type) { + private CompanyMemorandumOfAssociation( + Map extraParams, List files, Type type) { this.extraParams = extraParams; - this.frontBack = frontBack; + this.files = files; this.type = type; } @@ -22576,21 +12307,23 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private FrontBack frontBack; + private List files; private Type type; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification build() { - return new AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification( - this.extraParams, this.frontBack, this.type); + public AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyMemorandumOfAssociation + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyMemorandumOfAssociation(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMemorandumOfAssociation#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22605,7 +12338,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMemorandumOfAssociation#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22617,168 +12350,49 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack - frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently - * supports {@code front_back} only. - */ - public Builder setType( - AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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") - Object 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; - - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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") - Object front; - - private FrontBack(Object back, Map extraParams, Object front) { - this.back = back; - this.extraParams = extraParams; - this.front = front; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object back; - - private Map extraParams; - - private Object front; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack - build() { - return new AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification - .FrontBack(this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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; - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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(EmptyParam 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 - * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack#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 + * AccountUpdateParams.Identity.BusinessDetails.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; + } - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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; + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.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; + } - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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(EmptyParam front) { - this.front = front; - return this; - } + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyMemorandumOfAssociation.Type + type) { + this.type = type; + return this; } } public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); + @SerializedName("files") + FILES("files"); @Getter(onMethod_ = {@Override}) private final String value; @@ -22791,7 +12405,7 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class SecondaryVerification { + 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. @@ -22803,24 +12417,24 @@ public static class SecondaryVerification { Map extraParams; /** - * Required. The file upload tokens - * referring to each side of the document. + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. */ - @SerializedName("front_back") - FrontBack frontBack; + @SerializedName("files") + List files; /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. + * Required. The format of the document. Currently supports {@code files} + * only. */ @SerializedName("type") Type type; - private SecondaryVerification( - Map extraParams, FrontBack frontBack, Type type) { + private CompanyMinisterialDecree( + Map extraParams, List files, Type type) { this.extraParams = extraParams; - this.frontBack = frontBack; + this.files = files; this.type = type; } @@ -22831,21 +12445,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private FrontBack frontBack; + private List files; private Type type; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification build() { - return new AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification( - this.extraParams, this.frontBack, this.type); + public AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyMinisterialDecree(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22860,7 +12475,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22872,169 +12487,48 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack - frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently - * supports {@code front_back} only. + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree#files} + * for the field documentation. */ - public Builder setType( - AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.Type type) { - this.type = type; + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); return this; } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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") - Object 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; /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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. + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree#files} + * for the field documentation. */ - @SerializedName("front") - Object front; - - private FrontBack(Object back, Map extraParams, Object front) { - this.back = back; - this.extraParams = extraParams; - this.front = front; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object back; - - private Map extraParams; - - private Object front; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification - .FrontBack - build() { - return new AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification - .FrontBack(this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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; - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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(EmptyParam 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 - * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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; - } - - /** - * A file upload - * token representing the front of the verification document. The purpose of the - * uploaded file should be 'identity_document'. 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(EmptyParam front) { - this.front = front; - return this; + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); } + this.files.addAll(elements); + return this; + } + + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyMinisterialDecree.Type + type) { + this.type = type; + return this; } } public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); + @SerializedName("files") + FILES("files"); @Getter(onMethod_ = {@Override}) private final String value; @@ -23047,7 +12541,7 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class Visa { + 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. @@ -23073,7 +12567,8 @@ public static class Visa { @SerializedName("type") Type type; - private Visa(Map extraParams, List files, Type type) { + private CompanyRegistrationVerification( + Map extraParams, List files, Type type) { this.extraParams = extraParams; this.files = files; this.type = type; @@ -23091,17 +12586,19 @@ public static class Builder { private Type type; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Documents.Visa build() { - return new AccountUpdateParams.Identity.Individual.Documents.Visa( - this.extraParams, this.files, this.type); + public AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyRegistrationVerification + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyRegistrationVerification(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.Visa#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyRegistrationVerification#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -23115,8 +12612,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.Documents.Visa#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyRegistrationVerification#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -23129,8 +12626,8 @@ public Builder putAllExtraParam(Map map) { /** * 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 - * AccountUpdateParams.Identity.Individual.Documents.Visa#files} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyRegistrationVerification#files} + * for the field documentation. */ public Builder addFile(String element) { if (this.files == null) { @@ -23143,536 +12640,440 @@ public Builder addFile(String element) { /** * 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 - * AccountUpdateParams.Identity.Individual.Documents.Visa#files} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.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; - } - - /** - * Required. The format of the document. Currently supports {@code - * files} only. - */ - public Builder setType( - AccountUpdateParams.Identity.Individual.Documents.Visa.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class IdNumber { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The ID number type of an individual. */ - @SerializedName("type") - Type type; - - /** Required. The value of the ID number. */ - @SerializedName("value") - Object value; - - private IdNumber(Map extraParams, Type type, Object value) { - this.extraParams = extraParams; - this.type = type; - this.value = value; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Type type; - - private Object value; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.IdNumber build() { - return new AccountUpdateParams.Identity.Individual.IdNumber( - this.extraParams, this.type, this.value); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.IdNumber#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.IdNumber#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The ID number type of an individual. */ - public Builder setType(AccountUpdateParams.Identity.Individual.IdNumber.Type type) { - this.type = type; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(String value) { - this.value = value; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(EmptyParam value) { - this.value = value; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ae_eid") - AE_EID("ae_eid"), - - @SerializedName("ao_nif") - AO_NIF("ao_nif"), - - @SerializedName("az_tin") - AZ_TIN("az_tin"), - - @SerializedName("bd_brc") - BD_BRC("bd_brc"), - - @SerializedName("bd_etin") - BD_ETIN("bd_etin"), - - @SerializedName("bd_nid") - BD_NID("bd_nid"), - - @SerializedName("br_cpf") - BR_CPF("br_cpf"), - - @SerializedName("cr_cpf") - CR_CPF("cr_cpf"), - - @SerializedName("cr_dimex") - CR_DIMEX("cr_dimex"), - - @SerializedName("cr_nite") - CR_NITE("cr_nite"), - - @SerializedName("de_stn") - DE_STN("de_stn"), - - @SerializedName("do_rcn") - DO_RCN("do_rcn"), - - @SerializedName("gt_nit") - GT_NIT("gt_nit"), - - @SerializedName("hk_id") - HK_ID("hk_id"), - - @SerializedName("kz_iin") - KZ_IIN("kz_iin"), - - @SerializedName("mx_rfc") - MX_RFC("mx_rfc"), - - @SerializedName("my_nric") - MY_NRIC("my_nric"), - - @SerializedName("mz_nuit") - MZ_NUIT("mz_nuit"), - - @SerializedName("nl_bsn") - NL_BSN("nl_bsn"), - - @SerializedName("pe_dni") - PE_DNI("pe_dni"), - - @SerializedName("pk_cnic") - PK_CNIC("pk_cnic"), - - @SerializedName("pk_snic") - PK_SNIC("pk_snic"), - - @SerializedName("sa_tin") - SA_TIN("sa_tin"), - - @SerializedName("sg_fin") - SG_FIN("sg_fin"), - - @SerializedName("sg_nric") - SG_NRIC("sg_nric"), - - @SerializedName("th_lc") - TH_LC("th_lc"), - - @SerializedName("th_pin") - TH_PIN("th_pin"), - - @SerializedName("us_itin") - US_ITIN("us_itin"), - - @SerializedName("us_itin_last_4") - US_ITIN_LAST_4("us_itin_last_4"), + this.files.addAll(elements); + return this; + } - @SerializedName("us_ssn") - US_SSN("us_ssn"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyRegistrationVerification.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("us_ssn_last_4") - US_SSN_LAST_4("us_ssn_last_4"); + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - Type(String value) { - this.value = value; + Type(String value) { + this.value = value; + } } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Relationship { - /** - * Whether the person is a director of the account's identity. Directors are typically - * members of the governing board of the company, or responsible for ensuring the company - * meets its regulatory obligations. - */ - @SerializedName("director") - Object director; + @Getter + @EqualsAndHashCode(callSuper = false) + 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; - /** - * Whether the person has significant responsibility to control, manage, or direct the - * organization. - */ - @SerializedName("executive") - Object executive; + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - /** Whether the person is an owner of the account’s identity. */ - @SerializedName("owner") - Object owner; + private CompanyTaxIdVerification( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - /** The percent owned by the person of the account's legal entity. */ - @SerializedName("percent_ownership") - Object percentOwnership; + public static Builder builder() { + return new Builder(); + } - /** The person's title (e.g., CEO, Support Engineer). */ - @SerializedName("title") - Object title; + public static class Builder { + private Map extraParams; - private Relationship( - Object director, - Object executive, - Map extraParams, - Object owner, - Object percentOwnership, - Object title) { - this.director = director; - this.executive = executive; - this.extraParams = extraParams; - this.owner = owner; - this.percentOwnership = percentOwnership; - this.title = title; - } + private List files; - public static Builder builder() { - return new Builder(); - } + private Type type; - public static class Builder { - private Object director; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents + .CompanyTaxIdVerification(this.extraParams, this.files, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.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; + } - private Object executive; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.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; + } - private Map extraParams; + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.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; + } - private Object owner; + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.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; + } - private Object percentOwnership; + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents.CompanyTaxIdVerification.Type + type) { + this.type = type; + return this; + } + } - private Object title; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.Relationship build() { - return new AccountUpdateParams.Identity.Individual.Relationship( - this.director, - this.executive, - this.extraParams, - this.owner, - this.percentOwnership, - this.title); + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrimaryVerification { /** - * Whether the person is a director of the account's identity. Directors are typically - * members of the governing board of the company, or responsible for ensuring the company - * meets its regulatory obligations. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setDirector(Boolean director) { - this.director = director; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Whether the person is a director of the account's identity. Directors are typically - * members of the governing board of the company, or responsible for ensuring the company - * meets its regulatory obligations. + * Required. The file upload tokens + * referring to each side of the document. */ - public Builder setDirector(EmptyParam director) { - this.director = director; - return this; - } + @SerializedName("front_back") + FrontBack frontBack; /** - * Whether the person has significant responsibility to control, manage, or direct the - * organization. + * Required. The format of the verification document. Currently supports + * {@code front_back} only. */ - public Builder setExecutive(Boolean executive) { - this.executive = executive; - return this; + @SerializedName("type") + Type type; + + private PrimaryVerification( + Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } + + public static Builder builder() { + return new Builder(); } - /** - * Whether the person has significant responsibility to control, manage, or direct the - * organization. - */ - public Builder setExecutive(EmptyParam executive) { - this.executive = executive; - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.Relationship#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private FrontBack frontBack; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification( + this.extraParams, this.frontBack, this.type); } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.Relationship#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - this.extraParams.putAll(map); - return this; - } - /** Whether the person is an owner of the account’s identity. */ - public Builder setOwner(Boolean owner) { - this.owner = owner; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Whether the person is an owner of the account’s identity. */ - public Builder setOwner(EmptyParam owner) { - this.owner = owner; - return this; - } + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack + frontBack) { + this.frontBack = frontBack; + return this; + } - /** The percent owned by the person of the account's legal entity. */ - public Builder setPercentOwnership(String percentOwnership) { - this.percentOwnership = percentOwnership; - return this; + /** + * Required. The format of the verification document. Currently + * supports {@code front_back} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.Type + type) { + this.type = type; + return this; + } } - /** The percent owned by the person of the account's legal entity. */ - public Builder setPercentOwnership(EmptyParam percentOwnership) { - this.percentOwnership = percentOwnership; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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") + Object back; - /** The person's title (e.g., CEO, Support Engineer). */ - public Builder setTitle(String title) { - this.title = title; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** The person's title (e.g., CEO, Support Engineer). */ - public Builder setTitle(EmptyParam title) { - this.title = title; - return this; - } - } - } + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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") + Object front; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptAddresses { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 FrontBack(Object back, Map extraParams, Object front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; + } - /** Kana Address. */ - @SerializedName("kana") - Object kana; + public static Builder builder() { + return new Builder(); + } - /** Kanji Address. */ - @SerializedName("kanji") - Object kanji; + public static class Builder { + private Object back; - private ScriptAddresses(Map extraParams, Object kana, Object kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Object front; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification + .FrontBack + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents + .PrimaryVerification.FrontBack(this.back, this.extraParams, this.front); + } - private Object kana; + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - private Object kanji; + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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(EmptyParam back) { + this.back = back; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.ScriptAddresses build() { - return new AccountUpdateParams.Identity.Individual.ScriptAddresses( - this.extraParams, this.kana, this.kanji); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.ScriptAddresses#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.ScriptAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - /** Kana Address. */ - public Builder setKana( - AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana kana) { - this.kana = kana; - return this; + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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(EmptyParam front) { + this.front = front; + return this; + } + } } - /** Kana Address. */ - public Builder setKana(EmptyParam kana) { - this.kana = kana; - return this; - } + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - /** Kanji Address. */ - public Builder setKanji( - AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji kanji) { - this.kanji = kanji; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** Kanji Address. */ - public Builder setKanji(EmptyParam kanji) { - this.kanji = kanji; - return this; + Type(String value) { + this.value = value; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam country; - + public static class ProofOfAddress { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -23683,43 +13084,25 @@ public static class Kana { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - /** Town or cho-me. */ - @SerializedName("town") - Object town; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - private Kana( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; + private ProofOfAddress(Map extraParams, List files, Type type) { this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.files = files; + this.type = type; } public static Builder builder() { @@ -23727,72 +13110,159 @@ public static Builder builder() { } public static class Builder { - private Object city; + private Map extraParams; - private ApiRequestParams.EnumParam country; + private List files; - private Map extraParams; + private Type type; - private Object line1; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress( + this.extraParams, this.files, this.type); + } - private Object line2; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Object postalCode; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Object state; + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#files} for the + * field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - private Object town; + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress#files} for the + * field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana build() { - return new AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfAddress.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + 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 extraParams; + + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; + + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } + private ProofOfRegistration( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry( - AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana.Country country) { - this.country = country; - return this; - } + public static class Builder { + private Map extraParams; - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam country) { - this.country = country; - return this; + private List files; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration( + this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the - * field documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -23806,8 +13276,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the - * field documentation. + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -23817,833 +13287,702 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#files} for + * the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); return this; } - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration#files} for + * the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); return this; } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfRegistration.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("km") - KM("km"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("kn") - KN("kn"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("kp") - KP("kp"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("kr") - KR("kr"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ProofOfUltimateBeneficialOwnership { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("kw") - KW("kw"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("ky") - KY("ky"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("kz") - KZ("kz"), + private ProofOfUltimateBeneficialOwnership( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("la") - LA("la"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("lb") - LB("lb"), + public static class Builder { + private Map extraParams; - @SerializedName("lc") - LC("lc"), + private List files; - @SerializedName("li") - LI("li"), + private Type type; - @SerializedName("lk") - LK("lk"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership + build() { + return new AccountUpdateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership(this.extraParams, this.files, this.type); + } - @SerializedName("lr") - LR("lr"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ls") - LS("ls"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("lt") - LT("lt"), + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#files} + * for the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("lu") - LU("lu"), + /** + * 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 + * AccountUpdateParams.Identity.BusinessDetails.Documents.ProofOfUltimateBeneficialOwnership#files} + * for the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("lv") - LV("lv"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.BusinessDetails.Documents + .ProofOfUltimateBeneficialOwnership.Type + type) { + this.type = type; + return this; + } + } - @SerializedName("ly") - LY("ly"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("ma") - MA("ma"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("mc") - MC("mc"), + Type(String value) { + this.value = value; + } + } + } + } - @SerializedName("md") - MD("md"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdNumber { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("me") - ME("me"), + /** The registrar of the ID number (Only valid for DE ID number types). */ + @SerializedName("registrar") + Object registrar; - @SerializedName("mf") - MF("mf"), + /** Required. Open Enum. The ID number type of a business entity. */ + @SerializedName("type") + Type type; - @SerializedName("mg") - MG("mg"), + /** Required. The value of the ID number. */ + @SerializedName("value") + Object value; - @SerializedName("mh") - MH("mh"), + private IdNumber( + Map extraParams, Object registrar, Type type, Object value) { + this.extraParams = extraParams; + this.registrar = registrar; + this.type = type; + this.value = value; + } - @SerializedName("mk") - MK("mk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ml") - ML("ml"), + public static class Builder { + private Map extraParams; - @SerializedName("mm") - MM("mm"), + private Object registrar; - @SerializedName("mn") - MN("mn"), + private Type type; - @SerializedName("mo") - MO("mo"), + private Object value; - @SerializedName("mp") - MP("mp"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.IdNumber build() { + return new AccountUpdateParams.Identity.BusinessDetails.IdNumber( + this.extraParams, this.registrar, this.type, this.value); + } - @SerializedName("mq") - MQ("mq"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.IdNumber#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mr") - MR("mr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.IdNumber#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ms") - MS("ms"), + /** The registrar of the ID number (Only valid for DE ID number types). */ + public Builder setRegistrar(String registrar) { + this.registrar = registrar; + return this; + } - @SerializedName("mt") - MT("mt"), + /** The registrar of the ID number (Only valid for DE ID number types). */ + public Builder setRegistrar(EmptyParam registrar) { + this.registrar = registrar; + return this; + } - @SerializedName("mu") - MU("mu"), + /** Required. Open Enum. The ID number type of a business entity. */ + public Builder setType(AccountUpdateParams.Identity.BusinessDetails.IdNumber.Type type) { + this.type = type; + return this; + } - @SerializedName("mv") - MV("mv"), + /** Required. The value of the ID number. */ + public Builder setValue(String value) { + this.value = value; + return this; + } - @SerializedName("mw") - MW("mw"), + /** Required. The value of the ID number. */ + public Builder setValue(EmptyParam value) { + this.value = value; + return this; + } + } - @SerializedName("mx") - MX("mx"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ae_crn") + AE_CRN("ae_crn"), - @SerializedName("my") - MY("my"), + @SerializedName("ae_vat") + AE_VAT("ae_vat"), - @SerializedName("mz") - MZ("mz"), + @SerializedName("ao_nif") + AO_NIF("ao_nif"), - @SerializedName("na") - NA("na"), + @SerializedName("at_fn") + AT_FN("at_fn"), - @SerializedName("nc") - NC("nc"), + @SerializedName("au_abn") + AU_ABN("au_abn"), - @SerializedName("ne") - NE("ne"), + @SerializedName("au_acn") + AU_ACN("au_acn"), - @SerializedName("nf") - NF("nf"), + @SerializedName("au_in") + AU_IN("au_in"), - @SerializedName("ng") - NG("ng"), + @SerializedName("az_tin") + AZ_TIN("az_tin"), - @SerializedName("ni") - NI("ni"), + @SerializedName("bd_etin") + BD_ETIN("bd_etin"), - @SerializedName("nl") - NL("nl"), + @SerializedName("be_cbe") + BE_CBE("be_cbe"), - @SerializedName("no") - NO("no"), + @SerializedName("bg_uic") + BG_UIC("bg_uic"), - @SerializedName("np") - NP("np"), + @SerializedName("br_cnpj") + BR_CNPJ("br_cnpj"), - @SerializedName("nr") - NR("nr"), + @SerializedName("ca_cn") + CA_CN("ca_cn"), - @SerializedName("nu") - NU("nu"), + @SerializedName("ca_crarr") + CA_CRARR("ca_crarr"), - @SerializedName("nz") - NZ("nz"), + @SerializedName("ca_neq") + CA_NEQ("ca_neq"), - @SerializedName("om") - OM("om"), + @SerializedName("ca_rid") + CA_RID("ca_rid"), - @SerializedName("pa") - PA("pa"), + @SerializedName("ch_chid") + CH_CHID("ch_chid"), - @SerializedName("pe") - PE("pe"), + @SerializedName("ch_uid") + CH_UID("ch_uid"), - @SerializedName("pf") - PF("pf"), + @SerializedName("cr_cpj") + CR_CPJ("cr_cpj"), - @SerializedName("pg") - PG("pg"), + @SerializedName("cr_nite") + CR_NITE("cr_nite"), - @SerializedName("ph") - PH("ph"), + @SerializedName("cy_tic") + CY_TIC("cy_tic"), - @SerializedName("pk") - PK("pk"), + @SerializedName("cz_ico") + CZ_ICO("cz_ico"), - @SerializedName("pl") - PL("pl"), + @SerializedName("de_hrn") + DE_HRN("de_hrn"), - @SerializedName("pm") - PM("pm"), + @SerializedName("de_vat") + DE_VAT("de_vat"), - @SerializedName("pn") - PN("pn"), + @SerializedName("dk_cvr") + DK_CVR("dk_cvr"), - @SerializedName("pr") - PR("pr"), + @SerializedName("do_rcn") + DO_RCN("do_rcn"), - @SerializedName("ps") - PS("ps"), + @SerializedName("ee_rk") + EE_RK("ee_rk"), - @SerializedName("pt") - PT("pt"), + @SerializedName("es_cif") + ES_CIF("es_cif"), - @SerializedName("pw") - PW("pw"), + @SerializedName("fi_yt") + FI_YT("fi_yt"), - @SerializedName("py") - PY("py"), + @SerializedName("fr_siren") + FR_SIREN("fr_siren"), - @SerializedName("qa") - QA("qa"), + @SerializedName("fr_vat") + FR_VAT("fr_vat"), - @SerializedName("qz") - QZ("qz"), + @SerializedName("gb_crn") + GB_CRN("gb_crn"), - @SerializedName("re") - RE("re"), + @SerializedName("gi_crn") + GI_CRN("gi_crn"), - @SerializedName("ro") - RO("ro"), + @SerializedName("gr_gemi") + GR_GEMI("gr_gemi"), - @SerializedName("rs") - RS("rs"), + @SerializedName("gt_nit") + GT_NIT("gt_nit"), - @SerializedName("ru") - RU("ru"), + @SerializedName("hk_br") + HK_BR("hk_br"), - @SerializedName("rw") - RW("rw"), + @SerializedName("hk_cr") + HK_CR("hk_cr"), - @SerializedName("sa") - SA("sa"), + @SerializedName("hk_mbs") + HK_MBS("hk_mbs"), - @SerializedName("sb") - SB("sb"), + @SerializedName("hu_cjs") + HU_CJS("hu_cjs"), - @SerializedName("sc") - SC("sc"), + @SerializedName("ie_crn") + IE_CRN("ie_crn"), - @SerializedName("sd") - SD("sd"), + @SerializedName("it_rea") + IT_REA("it_rea"), - @SerializedName("se") - SE("se"), + @SerializedName("it_vat") + IT_VAT("it_vat"), - @SerializedName("sg") - SG("sg"), + @SerializedName("jp_cn") + JP_CN("jp_cn"), - @SerializedName("sh") - SH("sh"), + @SerializedName("kz_bin") + KZ_BIN("kz_bin"), - @SerializedName("si") - SI("si"), + @SerializedName("li_uid") + LI_UID("li_uid"), - @SerializedName("sj") - SJ("sj"), + @SerializedName("lt_ccrn") + LT_CCRN("lt_ccrn"), - @SerializedName("sk") - SK("sk"), + @SerializedName("lu_rcs") + LU_RCS("lu_rcs"), - @SerializedName("sl") - SL("sl"), + @SerializedName("lv_urn") + LV_URN("lv_urn"), - @SerializedName("sm") - SM("sm"), + @SerializedName("mt_crn") + MT_CRN("mt_crn"), - @SerializedName("sn") - SN("sn"), + @SerializedName("mx_rfc") + MX_RFC("mx_rfc"), - @SerializedName("so") - SO("so"), + @SerializedName("my_brn") + MY_BRN("my_brn"), - @SerializedName("sr") - SR("sr"), + @SerializedName("my_coid") + MY_COID("my_coid"), - @SerializedName("ss") - SS("ss"), + @SerializedName("my_sst") + MY_SST("my_sst"), - @SerializedName("st") - ST("st"), + @SerializedName("mz_nuit") + MZ_NUIT("mz_nuit"), - @SerializedName("sv") - SV("sv"), + @SerializedName("nl_kvk") + NL_KVK("nl_kvk"), - @SerializedName("sx") - SX("sx"), + @SerializedName("no_orgnr") + NO_ORGNR("no_orgnr"), - @SerializedName("sy") - SY("sy"), + @SerializedName("nz_bn") + NZ_BN("nz_bn"), - @SerializedName("sz") - SZ("sz"), + @SerializedName("pe_ruc") + PE_RUC("pe_ruc"), - @SerializedName("tc") - TC("tc"), + @SerializedName("pk_ntn") + PK_NTN("pk_ntn"), - @SerializedName("td") - TD("td"), + @SerializedName("pl_regon") + PL_REGON("pl_regon"), - @SerializedName("tf") - TF("tf"), + @SerializedName("pt_vat") + PT_VAT("pt_vat"), - @SerializedName("tg") - TG("tg"), + @SerializedName("ro_cui") + RO_CUI("ro_cui"), - @SerializedName("th") - TH("th"), + @SerializedName("sa_crn") + SA_CRN("sa_crn"), - @SerializedName("tj") - TJ("tj"), + @SerializedName("sa_tin") + SA_TIN("sa_tin"), - @SerializedName("tk") - TK("tk"), + @SerializedName("se_orgnr") + SE_ORGNR("se_orgnr"), - @SerializedName("tl") - TL("tl"), + @SerializedName("sg_uen") + SG_UEN("sg_uen"), - @SerializedName("tm") - TM("tm"), + @SerializedName("si_msp") + SI_MSP("si_msp"), - @SerializedName("tn") - TN("tn"), + @SerializedName("sk_ico") + SK_ICO("sk_ico"), - @SerializedName("to") - TO("to"), + @SerializedName("th_crn") + TH_CRN("th_crn"), - @SerializedName("tr") - TR("tr"), + @SerializedName("th_prn") + TH_PRN("th_prn"), - @SerializedName("tt") - TT("tt"), + @SerializedName("th_tin") + TH_TIN("th_tin"), - @SerializedName("tv") - TV("tv"), + @SerializedName("us_ein") + US_EIN("us_ein"); - @SerializedName("tw") - TW("tw"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("tz") - TZ("tz"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("ua") - UA("ua"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class MonthlyEstimatedRevenue { + /** A non-negative integer representing the amount in the smallest currency unit. */ + @SerializedName("amount") + Amount amount; - @SerializedName("ug") - UG("ug"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("um") - UM("um"), + private MonthlyEstimatedRevenue(Amount amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } - @SerializedName("us") - US("us"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("uy") - UY("uy"), + public static class Builder { + private Amount amount; - @SerializedName("uz") - UZ("uz"), + private Map extraParams; - @SerializedName("va") - VA("va"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue build() { + return new AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue( + this.amount, this.extraParams); + } - @SerializedName("vc") - VC("vc"), + /** A non-negative integer representing the amount in the smallest currency unit. */ + public Builder setAmount(Amount amount) { + this.amount = amount; + return this; + } - @SerializedName("ve") - VE("ve"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("vg") - VG("vg"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.MonthlyEstimatedRevenue#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } - @SerializedName("vi") - VI("vi"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptAddresses { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("vn") - VN("vn"), + /** Kana Address. */ + @SerializedName("kana") + Kana kana; - @SerializedName("vu") - VU("vu"), + /** Kanji Address. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("wf") - WF("wf"), + private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("ws") - WS("ws"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("xx") - XX("xx"), + public static class Builder { + private Map extraParams; - @SerializedName("ye") - YE("ye"), + private Kana kana; - @SerializedName("yt") - YT("yt"), + private Kanji kanji; - @SerializedName("za") - ZA("za"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses build() { + return new AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses( + this.extraParams, this.kana, this.kanji); + } - @SerializedName("zm") - ZM("zm"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("zw") - ZW("zw"); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** Kana Address. */ + public Builder setKana( + AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana kana) { + this.kana = kana; + return this; + } - Country(String value) { - this.value = value; - } + /** Kanji Address. */ + public Builder setKanji( + AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji kanji) { + this.kanji = kanji; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kanji { + public static class Kana { /** City, district, suburb, town, or village. */ @SerializedName("city") Object city; @@ -24653,7 +13992,7 @@ public static class Kanji { * 3166-1 alpha-2). */ @SerializedName("country") - ApiRequestParams.EnumParam country; + Object country; /** * Map of extra parameters for custom features not available in this client library. The @@ -24685,9 +14024,9 @@ public static class Kanji { @SerializedName("town") Object town; - private Kanji( + private Kana( Object city, - ApiRequestParams.EnumParam country, + Object country, Map extraParams, Object line1, Object line2, @@ -24711,7 +14050,7 @@ public static Builder builder() { public static class Builder { private Object city; - private ApiRequestParams.EnumParam country; + private Object country; private Map extraParams; @@ -24726,8 +14065,8 @@ public static class Builder { private Object town; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji build() { - return new AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji( + public AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana build() { + return new AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana( this.city, this.country, this.extraParams, @@ -24754,8 +14093,7 @@ public Builder setCity(EmptyParam city) { * Two-letter country code (ISO 3166-1 alpha-2). */ - public Builder setCountry( - AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji.Country country) { + public Builder setCountry(String country) { this.country = country; return this; } @@ -24773,8 +14111,8 @@ public Builder setCountry(EmptyParam country) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the - * field documentation. + * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -24788,8 +14126,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the - * field documentation. + * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kana#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -24859,766 +14197,223 @@ public Builder setTown(EmptyParam town) { return this; } } + } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("tj") - TJ("tj"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("tk") - TK("tk"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tl") - TL("tl"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("tm") - TM("tm"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("tn") - TN("tn"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("to") - TO("to"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("tr") - TR("tr"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("tt") - TT("tt"), + private Kanji( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("tv") - TV("tv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tw") - TW("tw"), + public static class Builder { + private Object city; - @SerializedName("tz") - TZ("tz"), + private Object country; - @SerializedName("ua") - UA("ua"), + private Map extraParams; - @SerializedName("ug") - UG("ug"), + private Object line1; - @SerializedName("um") - UM("um"), + private Object line2; - @SerializedName("us") - US("us"), + private Object postalCode; - @SerializedName("uy") - UY("uy"), + private Object state; - @SerializedName("uz") - UZ("uz"), + private Object town; - @SerializedName("va") - VA("va"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji build() { + return new AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("vc") - VC("vc"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("ve") - VE("ve"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("vg") - VG("vg"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("vi") - VI("vi"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("vn") - VN("vn"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("vu") - VU("vu"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.BusinessDetails.ScriptAddresses.Kanji#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("wf") - WF("wf"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("ws") - WS("ws"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("xx") - XX("xx"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("ye") - YE("ye"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("yt") - YT("yt"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("za") - ZA("za"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("zm") - ZM("zm"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("zw") - ZW("zw"); + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - Country(String value) { - this.value = value; + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; } } } @@ -25637,15 +14432,15 @@ public static class ScriptNames { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Persons name in kana script. */ + /** Kana name. */ @SerializedName("kana") - Object kana; + Kana kana; - /** Persons name in kanji script. */ + /** Kanji name. */ @SerializedName("kanji") - Object kanji; + Kanji kanji; - private ScriptNames(Map extraParams, Object kana, Object kanji) { + private ScriptNames(Map extraParams, Kana kana, Kanji kanji) { this.extraParams = extraParams; this.kana = kana; this.kanji = kanji; @@ -25658,21 +14453,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object kana; + private Kana kana; - private Object kanji; + private Kanji kanji; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.ScriptNames build() { - return new AccountUpdateParams.Identity.Individual.ScriptNames( + public AccountUpdateParams.Identity.BusinessDetails.ScriptNames build() { + return new AccountUpdateParams.Identity.BusinessDetails.ScriptNames( this.extraParams, this.kana, this.kanji); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.ScriptNames#extraParams} for - * the field documentation. + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.ScriptNames#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -25685,8 +14480,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Identity.Individual.ScriptNames#extraParams} for - * the field documentation. + * map. See {@link AccountUpdateParams.Identity.BusinessDetails.ScriptNames#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -25696,26 +14491,16 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Persons name in kana script. */ - public Builder setKana(AccountUpdateParams.Identity.Individual.ScriptNames.Kana kana) { - this.kana = kana; - return this; - } - - /** Persons name in kana script. */ - public Builder setKana(EmptyParam kana) { + /** Kana name. */ + public Builder setKana( + AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana kana) { this.kana = kana; return this; } - /** Persons name in kanji script. */ - public Builder setKanji(AccountUpdateParams.Identity.Individual.ScriptNames.Kanji kanji) { - this.kanji = kanji; - return this; - } - - /** Persons name in kanji script. */ - public Builder setKanji(EmptyParam kanji) { + /** Kanji name. */ + public Builder setKanji( + AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji kanji) { this.kanji = kanji; return this; } @@ -25734,18 +14519,13 @@ public static class Kana { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - Object givenName; - - /** The person's last or family name. */ - @SerializedName("surname") - Object surname; + /** Registered name of the business. */ + @SerializedName("registered_name") + Object registeredName; - private Kana(Map extraParams, Object givenName, Object surname) { + private Kana(Map extraParams, Object registeredName) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.registeredName = registeredName; } public static Builder builder() { @@ -25755,22 +14535,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object givenName; - - private Object surname; + private Object registeredName; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.ScriptNames.Kana build() { - return new AccountUpdateParams.Identity.Individual.ScriptNames.Kana( - this.extraParams, this.givenName, this.surname); + public AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana build() { + return new AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana( + this.extraParams, this.registeredName); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -25784,8 +14562,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kana#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -25795,27 +14573,15 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(EmptyParam givenName) { - this.givenName = givenName; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** Registered name of the business. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; return this; } - /** The person's last or family name. */ - public Builder setSurname(EmptyParam surname) { - this.surname = surname; + /** Registered name of the business. */ + public Builder setRegisteredName(EmptyParam registeredName) { + this.registeredName = registeredName; return this; } } @@ -25834,18 +14600,13 @@ public static class Kanji { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - Object givenName; - - /** The person's last or family name. */ - @SerializedName("surname") - Object surname; + /** Registered name of the business. */ + @SerializedName("registered_name") + Object registeredName; - private Kanji(Map extraParams, Object givenName, Object surname) { + private Kanji(Map extraParams, Object registeredName) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.registeredName = registeredName; } public static Builder builder() { @@ -25855,22 +14616,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object givenName; - - private Object surname; + private Object registeredName; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Individual.ScriptNames.Kanji build() { - return new AccountUpdateParams.Identity.Individual.ScriptNames.Kanji( - this.extraParams, this.givenName, this.surname); + public AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji build() { + return new AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji( + this.extraParams, this.registeredName); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -25884,8 +14643,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field - * documentation. + * AccountUpdateParams.Identity.BusinessDetails.ScriptNames.Kanji#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -25895,1585 +14654,3585 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(EmptyParam givenName) { - this.givenName = givenName; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** Registered name of the business. */ + public Builder setRegisteredName(String registeredName) { + this.registeredName = registeredName; return this; } - /** The person's last or family name. */ - public Builder setSurname(EmptyParam surname) { - this.surname = surname; + /** Registered name of the business. */ + public Builder setRegisteredName(EmptyParam registeredName) { + this.registeredName = registeredName; return this; } } } } - public enum LegalGender implements ApiRequestParams.EnumParam { - @SerializedName("female") - FEMALE("female"), + public enum Structure implements ApiRequestParams.EnumParam { + @SerializedName("cooperative") + COOPERATIVE("cooperative"), - @SerializedName("male") - MALE("male"); + @SerializedName("free_zone_establishment") + FREE_ZONE_ESTABLISHMENT("free_zone_establishment"), + + @SerializedName("free_zone_llc") + FREE_ZONE_LLC("free_zone_llc"), + + @SerializedName("governmental_unit") + GOVERNMENTAL_UNIT("governmental_unit"), + + @SerializedName("government_instrumentality") + GOVERNMENT_INSTRUMENTALITY("government_instrumentality"), + + @SerializedName("incorporated_association") + INCORPORATED_ASSOCIATION("incorporated_association"), + + @SerializedName("incorporated_non_profit") + INCORPORATED_NON_PROFIT("incorporated_non_profit"), + + @SerializedName("incorporated_partnership") + INCORPORATED_PARTNERSHIP("incorporated_partnership"), + + @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_listed_corporation") + PUBLIC_LISTED_CORPORATION("public_listed_corporation"), + + @SerializedName("public_partnership") + PUBLIC_PARTNERSHIP("public_partnership"), + + @SerializedName("registered_charity") + REGISTERED_CHARITY("registered_charity"), + + @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("trust") + TRUST("trust"), + + @SerializedName("unincorporated_association") + UNINCORPORATED_ASSOCIATION("unincorporated_association"), + + @SerializedName("unincorporated_non_profit") + UNINCORPORATED_NON_PROFIT("unincorporated_non_profit"), + + @SerializedName("unincorporated_partnership") + UNINCORPORATED_PARTNERSHIP("unincorporated_partnership"); @Getter(onMethod_ = {@Override}) private final String value; - LegalGender(String value) { + Structure(String value) { this.value = value; } } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Individual { + /** Additional addresses associated with the individual. */ + @SerializedName("additional_addresses") + List additionalAddresses; + + /** Additional names (e.g. aliases) associated with the individual. */ + @SerializedName("additional_names") + List additionalNames; + + /** The individual's residential address. */ + @SerializedName("address") + Address address; + + /** The individual's date of birth. */ + @SerializedName("date_of_birth") + DateOfBirth dateOfBirth; + + /** Documents that may be submitted to satisfy various informational requests. */ + @SerializedName("documents") + Documents documents; + + /** The individual's email address. */ + @SerializedName("email") + Object email; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The individual's first name. */ + @SerializedName("given_name") + Object givenName; + + /** The identification numbers (e.g., SSN) associated with the individual. */ + @SerializedName("id_numbers") + List idNumbers; + + /** + * The individual's gender (International regulations require either "male" or + * "female"). + */ + @SerializedName("legal_gender") + LegalGender legalGender; - public enum Nationality implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), + /** + * Set of key-value pairs that you can attach to an object. This can be useful for storing + * additional information about the object in a structured format. + */ + @SerializedName("metadata") + Map metadata; + + /** + * The countries where the individual is a national. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("nationalities") + List nationalities; + + /** The individual's phone number. */ + @SerializedName("phone") + Object phone; - @SerializedName("ae") - AE("ae"), + /** The individual's political exposure. */ + @SerializedName("political_exposure") + PoliticalExposure politicalExposure; + + /** The relationship that this individual has with the account's identity. */ + @SerializedName("relationship") + Relationship relationship; + + /** The script addresses (e.g., non-Latin characters) associated with the individual. */ + @SerializedName("script_addresses") + ScriptAddresses scriptAddresses; - @SerializedName("af") - AF("af"), + /** The individuals primary name in non latin script. */ + @SerializedName("script_names") + ScriptNames scriptNames; + + /** The individual's last name. */ + @SerializedName("surname") + Object surname; + + private Individual( + List additionalAddresses, + List additionalNames, + Address address, + DateOfBirth dateOfBirth, + Documents documents, + Object email, + Map extraParams, + Object givenName, + List idNumbers, + LegalGender legalGender, + Map metadata, + List nationalities, + Object phone, + PoliticalExposure politicalExposure, + Relationship relationship, + ScriptAddresses scriptAddresses, + ScriptNames scriptNames, + Object surname) { + this.additionalAddresses = additionalAddresses; + this.additionalNames = additionalNames; + this.address = address; + this.dateOfBirth = dateOfBirth; + this.documents = documents; + this.email = email; + this.extraParams = extraParams; + this.givenName = givenName; + this.idNumbers = idNumbers; + this.legalGender = legalGender; + this.metadata = metadata; + this.nationalities = nationalities; + this.phone = phone; + this.politicalExposure = politicalExposure; + this.relationship = relationship; + this.scriptAddresses = scriptAddresses; + this.scriptNames = scriptNames; + this.surname = surname; + } - @SerializedName("ag") - AG("ag"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ai") - AI("ai"), + public static class Builder { + private List additionalAddresses; - @SerializedName("al") - AL("al"), + private List additionalNames; - @SerializedName("am") - AM("am"), + private Address address; - @SerializedName("ao") - AO("ao"), + private DateOfBirth dateOfBirth; - @SerializedName("aq") - AQ("aq"), + private Documents documents; - @SerializedName("ar") - AR("ar"), + private Object email; - @SerializedName("as") - AS("as"), + private Map extraParams; - @SerializedName("at") - AT("at"), + private Object givenName; - @SerializedName("au") - AU("au"), + private List idNumbers; - @SerializedName("aw") - AW("aw"), + private LegalGender legalGender; - @SerializedName("ax") - AX("ax"), + private Map metadata; - @SerializedName("az") - AZ("az"), + private List nationalities; - @SerializedName("ba") - BA("ba"), + private Object phone; - @SerializedName("bb") - BB("bb"), + private PoliticalExposure politicalExposure; - @SerializedName("bd") - BD("bd"), + private Relationship relationship; - @SerializedName("be") - BE("be"), + private ScriptAddresses scriptAddresses; - @SerializedName("bf") - BF("bf"), + private ScriptNames scriptNames; - @SerializedName("bg") - BG("bg"), + private Object surname; - @SerializedName("bh") - BH("bh"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual build() { + return new AccountUpdateParams.Identity.Individual( + this.additionalAddresses, + this.additionalNames, + this.address, + this.dateOfBirth, + this.documents, + this.email, + this.extraParams, + this.givenName, + this.idNumbers, + this.legalGender, + this.metadata, + this.nationalities, + this.phone, + this.politicalExposure, + this.relationship, + this.scriptAddresses, + this.scriptNames, + this.surname); + } - @SerializedName("bi") - BI("bi"), + /** + * Add an element to `additionalAddresses` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Identity.Individual#additionalAddresses} for the field + * documentation. + */ + public Builder addAdditionalAddress( + AccountUpdateParams.Identity.Individual.AdditionalAddress element) { + if (this.additionalAddresses == null) { + this.additionalAddresses = new ArrayList<>(); + } + this.additionalAddresses.add(element); + return this; + } - @SerializedName("bj") - BJ("bj"), + /** + * Add all elements to `additionalAddresses` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Identity.Individual#additionalAddresses} for the field + * documentation. + */ + public Builder addAllAdditionalAddress( + List elements) { + if (this.additionalAddresses == null) { + this.additionalAddresses = new ArrayList<>(); + } + this.additionalAddresses.addAll(elements); + return this; + } - @SerializedName("bl") - BL("bl"), + /** + * Add an element to `additionalNames` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Identity.Individual#additionalNames} for the field + * documentation. + */ + public Builder addAdditionalName( + AccountUpdateParams.Identity.Individual.AdditionalName element) { + if (this.additionalNames == null) { + this.additionalNames = new ArrayList<>(); + } + this.additionalNames.add(element); + return this; + } - @SerializedName("bm") - BM("bm"), + /** + * Add all elements to `additionalNames` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Identity.Individual#additionalNames} for the field + * documentation. + */ + public Builder addAllAdditionalName( + List elements) { + if (this.additionalNames == null) { + this.additionalNames = new ArrayList<>(); + } + this.additionalNames.addAll(elements); + return this; + } - @SerializedName("bn") - BN("bn"), + /** The individual's residential address. */ + public Builder setAddress(AccountUpdateParams.Identity.Individual.Address address) { + this.address = address; + return this; + } - @SerializedName("bo") - BO("bo"), + /** The individual's date of birth. */ + public Builder setDateOfBirth( + AccountUpdateParams.Identity.Individual.DateOfBirth dateOfBirth) { + this.dateOfBirth = dateOfBirth; + return this; + } - @SerializedName("bq") - BQ("bq"), + /** Documents that may be submitted to satisfy various informational requests. */ + public Builder setDocuments(AccountUpdateParams.Identity.Individual.Documents documents) { + this.documents = documents; + return this; + } - @SerializedName("br") - BR("br"), + /** The individual's email address. */ + public Builder setEmail(String email) { + this.email = email; + return this; + } - @SerializedName("bs") - BS("bs"), + /** The individual's email address. */ + public Builder setEmail(EmptyParam email) { + this.email = email; + return this; + } - @SerializedName("bt") - BT("bt"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bv") - BV("bv"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("bw") - BW("bw"), + /** The individual's first name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("by") - BY("by"), + /** The individual's first name. */ + public Builder setGivenName(EmptyParam givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("bz") - BZ("bz"), + /** + * Add an element to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Identity.Individual#idNumbers} for the field documentation. + */ + public Builder addIdNumber(AccountUpdateParams.Identity.Individual.IdNumber element) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.add(element); + return this; + } - @SerializedName("ca") - CA("ca"), + /** + * Add all elements to `idNumbers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Identity.Individual#idNumbers} for the field documentation. + */ + public Builder addAllIdNumber( + List elements) { + if (this.idNumbers == null) { + this.idNumbers = new ArrayList<>(); + } + this.idNumbers.addAll(elements); + return this; + } - @SerializedName("cc") - CC("cc"), + /** + * The individual's gender (International regulations require either "male" or + * "female"). + */ + public Builder setLegalGender( + AccountUpdateParams.Identity.Individual.LegalGender legalGender) { + this.legalGender = legalGender; + return this; + } - @SerializedName("cd") - CD("cd"), + /** + * 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 + * AccountUpdateParams.Identity.Individual#metadata} for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } - @SerializedName("cf") - CF("cf"), + /** + * 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 + * AccountUpdateParams.Identity.Individual#metadata} for the field documentation. + */ + public Builder putMetadata(String key, EmptyParam value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } - @SerializedName("cg") - CG("cg"), + /** + * 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. Map values can only be one of the following types: `String`, `EmptyParam`. See + * {@link AccountUpdateParams.Identity.Individual#metadata} for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (!map.values().stream() + .allMatch(v -> v instanceof String || v instanceof EmptyParam)) { + throw new IllegalArgumentException( + "All map values must one of the following types: String, EmptyParam"); + } + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } - @SerializedName("ch") - CH("ch"), + /** + * Add an element to `nationalities` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * AccountUpdateParams.Identity.Individual#nationalities} for the field documentation. + */ + public Builder addNationality(String element) { + if (this.nationalities == null) { + this.nationalities = new ArrayList<>(); + } + this.nationalities.add(element); + return this; + } - @SerializedName("ci") - CI("ci"), + /** + * Add all elements to `nationalities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Identity.Individual#nationalities} for the field + * documentation. + */ + public Builder addAllNationality(List elements) { + if (this.nationalities == null) { + this.nationalities = new ArrayList<>(); + } + this.nationalities.addAll(elements); + return this; + } - @SerializedName("ck") - CK("ck"), + /** The individual's phone number. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } - @SerializedName("cl") - CL("cl"), + /** The individual's phone number. */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; + return this; + } - @SerializedName("cm") - CM("cm"), + /** The individual's political exposure. */ + public Builder setPoliticalExposure( + AccountUpdateParams.Identity.Individual.PoliticalExposure politicalExposure) { + this.politicalExposure = politicalExposure; + return this; + } - @SerializedName("cn") - CN("cn"), + /** The relationship that this individual has with the account's identity. */ + public Builder setRelationship( + AccountUpdateParams.Identity.Individual.Relationship relationship) { + this.relationship = relationship; + return this; + } - @SerializedName("co") - CO("co"), + /** The script addresses (e.g., non-Latin characters) associated with the individual. */ + public Builder setScriptAddresses( + AccountUpdateParams.Identity.Individual.ScriptAddresses scriptAddresses) { + this.scriptAddresses = scriptAddresses; + return this; + } - @SerializedName("cr") - CR("cr"), + /** The individuals primary name in non latin script. */ + public Builder setScriptNames( + AccountUpdateParams.Identity.Individual.ScriptNames scriptNames) { + this.scriptNames = scriptNames; + return this; + } - @SerializedName("cu") - CU("cu"), + /** The individual's last name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } - @SerializedName("cv") - CV("cv"), + /** The individual's last name. */ + public Builder setSurname(EmptyParam surname) { + this.surname = surname; + return this; + } + } - @SerializedName("cw") - CW("cw"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalAddress { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("cx") - CX("cx"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("cy") - CY("cy"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cz") - CZ("cz"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("de") - DE("de"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("dj") - DJ("dj"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("dk") - DK("dk"), + /** Required. Purpose of additional address. */ + @SerializedName("purpose") + Purpose purpose; - @SerializedName("dm") - DM("dm"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("do") - DO("do"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("dz") - DZ("dz"), + private AdditionalAddress( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Purpose purpose, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.purpose = purpose; + this.state = state; + this.town = town; + } - @SerializedName("ec") - EC("ec"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ee") - EE("ee"), + public static class Builder { + private Object city; - @SerializedName("eg") - EG("eg"), + private Object country; - @SerializedName("eh") - EH("eh"), + private Map extraParams; - @SerializedName("er") - ER("er"), + private Object line1; - @SerializedName("es") - ES("es"), + private Object line2; - @SerializedName("et") - ET("et"), + private Object postalCode; - @SerializedName("fi") - FI("fi"), + private Purpose purpose; - @SerializedName("fj") - FJ("fj"), + private Object state; - @SerializedName("fk") - FK("fk"), + private Object town; - @SerializedName("fm") - FM("fm"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.AdditionalAddress build() { + return new AccountUpdateParams.Identity.Individual.AdditionalAddress( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.purpose, + this.state, + this.town); + } - @SerializedName("fo") - FO("fo"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("fr") - FR("fr"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("ga") - GA("ga"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("gb") - GB("gb"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("gd") - GD("gd"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalAddress#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ge") - GE("ge"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalAddress#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("gf") - GF("gf"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("gg") - GG("gg"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("gh") - GH("gh"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("gi") - GI("gi"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("gl") - GL("gl"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("gm") - GM("gm"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("gn") - GN("gn"), + /** Required. Purpose of additional address. */ + public Builder setPurpose( + AccountUpdateParams.Identity.Individual.AdditionalAddress.Purpose purpose) { + this.purpose = purpose; + return this; + } - @SerializedName("gp") - GP("gp"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("gq") - GQ("gq"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("gr") - GR("gr"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("gs") - GS("gs"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } - @SerializedName("gt") - GT("gt"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("registered") + REGISTERED("registered"); - @SerializedName("gu") - GU("gu"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("gw") - GW("gw"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("gy") - GY("gy"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalName { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("hk") - HK("hk"), + /** The person's full name. */ + @SerializedName("full_name") + Object fullName; - @SerializedName("hm") - HM("hm"), + /** The person's first or given name. */ + @SerializedName("given_name") + Object givenName; - @SerializedName("hn") - HN("hn"), + /** Required. The purpose or type of the additional name. */ + @SerializedName("purpose") + Purpose purpose; - @SerializedName("hr") - HR("hr"), + /** The person's last or family name. */ + @SerializedName("surname") + Object surname; - @SerializedName("ht") - HT("ht"), + private AdditionalName( + Map extraParams, + Object fullName, + Object givenName, + Purpose purpose, + Object surname) { + this.extraParams = extraParams; + this.fullName = fullName; + this.givenName = givenName; + this.purpose = purpose; + this.surname = surname; + } - @SerializedName("hu") - HU("hu"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("id") - ID("id"), + public static class Builder { + private Map extraParams; - @SerializedName("ie") - IE("ie"), + private Object fullName; - @SerializedName("il") - IL("il"), + private Object givenName; - @SerializedName("im") - IM("im"), + private Purpose purpose; - @SerializedName("in") - IN("in"), + private Object surname; - @SerializedName("io") - IO("io"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.AdditionalName build() { + return new AccountUpdateParams.Identity.Individual.AdditionalName( + this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); + } - @SerializedName("iq") - IQ("iq"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalName#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ir") - IR("ir"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.AdditionalName#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("is") - IS("is"), + /** The person's full name. */ + public Builder setFullName(String fullName) { + this.fullName = fullName; + return this; + } - @SerializedName("it") - IT("it"), + /** The person's full name. */ + public Builder setFullName(EmptyParam fullName) { + this.fullName = fullName; + return this; + } - @SerializedName("je") - JE("je"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("jm") - JM("jm"), + /** The person's first or given name. */ + public Builder setGivenName(EmptyParam givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("jo") - JO("jo"), + /** Required. The purpose or type of the additional name. */ + public Builder setPurpose( + AccountUpdateParams.Identity.Individual.AdditionalName.Purpose purpose) { + this.purpose = purpose; + return this; + } - @SerializedName("jp") - JP("jp"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } - @SerializedName("ke") - KE("ke"), + /** The person's last or family name. */ + public Builder setSurname(EmptyParam surname) { + this.surname = surname; + return this; + } + } - @SerializedName("kg") - KG("kg"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("alias") + ALIAS("alias"), - @SerializedName("kh") - KH("kh"), + @SerializedName("maiden") + MAIDEN("maiden"); - @SerializedName("ki") - KI("ki"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("km") - KM("km"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("kn") - KN("kn"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("kp") - KP("kp"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("kr") - KR("kr"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("kw") - KW("kw"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("ky") - KY("ky"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("kz") - KZ("kz"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("la") - LA("la"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("lb") - LB("lb"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("lc") - LC("lc"), + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("li") - LI("li"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("lk") - LK("lk"), + public static class Builder { + private Object city; - @SerializedName("lr") - LR("lr"), + private Object country; - @SerializedName("ls") - LS("ls"), + private Map extraParams; - @SerializedName("lt") - LT("lt"), + private Object line1; - @SerializedName("lu") - LU("lu"), + private Object line2; - @SerializedName("lv") - LV("lv"), + private Object postalCode; - @SerializedName("ly") - LY("ly"), + private Object state; - @SerializedName("ma") - MA("ma"), + private Object town; - @SerializedName("mc") - MC("mc"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Address build() { + return new AccountUpdateParams.Identity.Individual.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("md") - MD("md"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("me") - ME("me"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("mf") - MF("mf"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("mg") - MG("mg"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("mh") - MH("mh"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.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; + } - @SerializedName("mk") - MK("mk"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.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; + } - @SerializedName("ml") - ML("ml"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("mm") - MM("mm"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("mn") - MN("mn"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("mo") - MO("mo"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("mp") - MP("mp"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("mq") - MQ("mq"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("mr") - MR("mr"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("ms") - MS("ms"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("mt") - MT("mt"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("mu") - MU("mu"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } - @SerializedName("mv") - MV("mv"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DateOfBirth { + /** Required. The day of the birth. */ + @SerializedName("day") + Long day; - @SerializedName("mw") - MW("mw"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mx") - MX("mx"), + /** Required. The month of birth. */ + @SerializedName("month") + Long month; - @SerializedName("my") - MY("my"), + /** Required. The year of birth. */ + @SerializedName("year") + Long year; - @SerializedName("mz") - MZ("mz"), + private DateOfBirth(Long day, Map extraParams, Long month, Long year) { + this.day = day; + this.extraParams = extraParams; + this.month = month; + this.year = year; + } - @SerializedName("na") - NA("na"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("nc") - NC("nc"), + public static class Builder { + private Long day; - @SerializedName("ne") - NE("ne"), + private Map extraParams; - @SerializedName("nf") - NF("nf"), + private Long month; - @SerializedName("ng") - NG("ng"), + private Long year; - @SerializedName("ni") - NI("ni"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.DateOfBirth build() { + return new AccountUpdateParams.Identity.Individual.DateOfBirth( + this.day, this.extraParams, this.month, this.year); + } - @SerializedName("nl") - NL("nl"), + /** Required. The day of the birth. */ + public Builder setDay(Long day) { + this.day = day; + return this; + } - @SerializedName("no") - NO("no"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.DateOfBirth#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("np") - NP("np"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.DateOfBirth#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("nr") - NR("nr"), + /** Required. The month of birth. */ + public Builder setMonth(Long month) { + this.month = month; + return this; + } - @SerializedName("nu") - NU("nu"), + /** Required. The year of birth. */ + public Builder setYear(Long year) { + this.year = year; + return this; + } + } + } - @SerializedName("nz") - NZ("nz"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Documents { + /** + * One or more documents that demonstrate proof that this person is authorized to represent + * the company. + */ + @SerializedName("company_authorization") + CompanyAuthorization companyAuthorization; - @SerializedName("om") - OM("om"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("pa") - PA("pa"), + /** + * One or more documents showing the person’s passport page with photo and personal data. + */ + @SerializedName("passport") + Passport passport; - @SerializedName("pe") - PE("pe"), + /** + * An identifying document showing the person's name, either a passport or local ID card. + */ + @SerializedName("primary_verification") + PrimaryVerification primaryVerification; - @SerializedName("pf") - PF("pf"), + /** + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. + */ + @SerializedName("secondary_verification") + SecondaryVerification secondaryVerification; - @SerializedName("pg") - PG("pg"), + /** + * One or more documents showing the person’s visa required for living in the country where + * they are residing. + */ + @SerializedName("visa") + Visa visa; - @SerializedName("ph") - PH("ph"), + private Documents( + CompanyAuthorization companyAuthorization, + Map extraParams, + Passport passport, + PrimaryVerification primaryVerification, + SecondaryVerification secondaryVerification, + Visa visa) { + this.companyAuthorization = companyAuthorization; + this.extraParams = extraParams; + this.passport = passport; + this.primaryVerification = primaryVerification; + this.secondaryVerification = secondaryVerification; + this.visa = visa; + } - @SerializedName("pk") - PK("pk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pl") - PL("pl"), + public static class Builder { + private CompanyAuthorization companyAuthorization; - @SerializedName("pm") - PM("pm"), + private Map extraParams; - @SerializedName("pn") - PN("pn"), + private Passport passport; - @SerializedName("pr") - PR("pr"), + private PrimaryVerification primaryVerification; - @SerializedName("ps") - PS("ps"), + private SecondaryVerification secondaryVerification; - @SerializedName("pt") - PT("pt"), + private Visa visa; - @SerializedName("pw") - PW("pw"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents build() { + return new AccountUpdateParams.Identity.Individual.Documents( + this.companyAuthorization, + this.extraParams, + this.passport, + this.primaryVerification, + this.secondaryVerification, + this.visa); + } - @SerializedName("py") - PY("py"), + /** + * One or more documents that demonstrate proof that this person is authorized to + * represent the company. + */ + public Builder setCompanyAuthorization( + AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization + companyAuthorization) { + this.companyAuthorization = companyAuthorization; + return this; + } - @SerializedName("qa") - QA("qa"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.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; + } - @SerializedName("qz") - QZ("qz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.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; + } - @SerializedName("re") - RE("re"), + /** + * One or more documents showing the person’s passport page with photo and personal data. + */ + public Builder setPassport( + AccountUpdateParams.Identity.Individual.Documents.Passport passport) { + this.passport = passport; + return this; + } - @SerializedName("ro") - RO("ro"), + /** + * An identifying document showing the person's name, either a passport or local ID card. + */ + public Builder setPrimaryVerification( + AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification + primaryVerification) { + this.primaryVerification = primaryVerification; + return this; + } - @SerializedName("rs") - RS("rs"), + /** + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. + */ + public Builder setSecondaryVerification( + AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification + secondaryVerification) { + this.secondaryVerification = secondaryVerification; + return this; + } - @SerializedName("ru") - RU("ru"), + /** + * One or more documents showing the person’s visa required for living in the country + * where they are residing. + */ + public Builder setVisa(AccountUpdateParams.Identity.Individual.Documents.Visa visa) { + this.visa = visa; + return this; + } + } - @SerializedName("rw") - RW("rw"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyAuthorization { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sa") - SA("sa"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("sb") - SB("sb"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("sc") - SC("sc"), + private CompanyAuthorization( + Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("sd") - SD("sd"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("se") - SE("se"), + public static class Builder { + private Map extraParams; - @SerializedName("sg") - SG("sg"), + private List files; - @SerializedName("sh") - SH("sh"), + private Type type; - @SerializedName("si") - SI("si"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization build() { + return new AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization( + this.extraParams, this.files, this.type); + } - @SerializedName("sj") - SJ("sj"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sk") - SK("sk"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sl") - SL("sl"), + /** + * 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 + * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#files} for the + * field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("sm") - SM("sm"), + /** + * 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 + * AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization#files} for the + * field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("sn") - SN("sn"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.Individual.Documents.CompanyAuthorization.Type type) { + this.type = type; + return this; + } + } - @SerializedName("so") - SO("so"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("sr") - SR("sr"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("ss") - SS("ss"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("st") - ST("st"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Passport { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sv") - SV("sv"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("sx") - SX("sx"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("sy") - SY("sy"), + private Passport(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("sz") - SZ("sz"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tc") - TC("tc"), + public static class Builder { + private Map extraParams; - @SerializedName("td") - TD("td"), + private List files; - @SerializedName("tf") - TF("tf"), + private Type type; - @SerializedName("tg") - TG("tg"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents.Passport build() { + return new AccountUpdateParams.Identity.Individual.Documents.Passport( + this.extraParams, this.files, this.type); + } - @SerializedName("th") - TH("th"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tj") - TJ("tj"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tk") - TK("tk"), + /** + * 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 + * AccountUpdateParams.Identity.Individual.Documents.Passport#files} for the field + * documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("tl") - TL("tl"), + /** + * 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 + * AccountUpdateParams.Identity.Individual.Documents.Passport#files} for the field + * documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("tm") - TM("tm"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.Individual.Documents.Passport.Type type) { + this.type = type; + return this; + } + } - @SerializedName("tn") - TN("tn"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("to") - TO("to"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("tr") - TR("tr"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("tt") - TT("tt"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrimaryVerification { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tv") - TV("tv"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - @SerializedName("tw") - TW("tw"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - @SerializedName("tz") - TZ("tz"), + private PrimaryVerification( + Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } - @SerializedName("ua") - UA("ua"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ug") - UG("ug"), + public static class Builder { + private Map extraParams; - @SerializedName("um") - UM("um"), + private FrontBack frontBack; - @SerializedName("us") - US("us"), + private Type type; - @SerializedName("uy") - UY("uy"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification build() { + return new AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification( + this.extraParams, this.frontBack, this.type); + } - @SerializedName("uz") - UZ("uz"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("va") - VA("va"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("vc") - VC("vc"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack + frontBack) { + this.frontBack = frontBack; + return this; + } - @SerializedName("ve") - VE("ve"), + /** + * Required. The format of the verification document. Currently + * supports {@code front_back} only. + */ + public Builder setType( + AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.Type type) { + this.type = type; + return this; + } + } - @SerializedName("vg") - VG("vg"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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") + Object back; - @SerializedName("vi") - VI("vi"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("vn") - VN("vn"), + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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") + Object front; - @SerializedName("vu") - VU("vu"), + private FrontBack(Object back, Map extraParams, Object front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; + } - @SerializedName("wf") - WF("wf"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ws") - WS("ws"), + public static class Builder { + private Object back; - @SerializedName("xx") - XX("xx"), + private Map extraParams; - @SerializedName("ye") - YE("ye"), + private Object front; - @SerializedName("yt") - YT("yt"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack + build() { + return new AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification + .FrontBack(this.back, this.extraParams, this.front); + } - @SerializedName("za") - ZA("za"), + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - @SerializedName("zm") - ZM("zm"), + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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(EmptyParam back) { + this.back = back; + return this; + } - @SerializedName("zw") - ZW("zw"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Nationality(String value) { - this.value = value; - } - } + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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 PoliticalExposure implements ApiRequestParams.EnumParam { - @SerializedName("existing") - EXISTING("existing"), + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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(EmptyParam front) { + this.front = front; + return this; + } + } + } - @SerializedName("none") - NONE("none"); + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - PoliticalExposure(String value) { - this.value = value; + Type(String value) { + this.value = value; + } + } } - } - } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SecondaryVerification { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ae") - AE("ae"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - @SerializedName("af") - AF("af"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - @SerializedName("ag") - AG("ag"), + private SecondaryVerification( + Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } - @SerializedName("ai") - AI("ai"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("al") - AL("al"), + public static class Builder { + private Map extraParams; - @SerializedName("am") - AM("am"), + private FrontBack frontBack; - @SerializedName("ao") - AO("ao"), + private Type type; - @SerializedName("aq") - AQ("aq"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification build() { + return new AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification( + this.extraParams, this.frontBack, this.type); + } - @SerializedName("ar") - AR("ar"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("as") - AS("as"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("at") - AT("at"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack + frontBack) { + this.frontBack = frontBack; + return this; + } - @SerializedName("au") - AU("au"), + /** + * Required. The format of the verification document. Currently + * supports {@code front_back} only. + */ + public Builder setType( + AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.Type type) { + this.type = type; + return this; + } + } - @SerializedName("aw") - AW("aw"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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") + Object back; - @SerializedName("ax") - AX("ax"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("az") - AZ("az"), + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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") + Object front; - @SerializedName("ba") - BA("ba"), + private FrontBack(Object back, Map extraParams, Object front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; + } - @SerializedName("bb") - BB("bb"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bd") - BD("bd"), + public static class Builder { + private Object back; - @SerializedName("be") - BE("be"), + private Map extraParams; - @SerializedName("bf") - BF("bf"), + private Object front; - @SerializedName("bg") - BG("bg"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification + .FrontBack + build() { + return new AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification + .FrontBack(this.back, this.extraParams, this.front); + } - @SerializedName("bh") - BH("bh"), + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - @SerializedName("bi") - BI("bi"), + /** + * A file upload + * token representing the back of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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(EmptyParam back) { + this.back = back; + return this; + } - @SerializedName("bj") - BJ("bj"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bl") - BL("bl"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.SecondaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("bm") - BM("bm"), + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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; + } - @SerializedName("bn") - BN("bn"), + /** + * A file upload + * token representing the front of the verification document. The purpose of the + * uploaded file should be 'identity_document'. 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(EmptyParam front) { + this.front = front; + return this; + } + } + } - @SerializedName("bo") - BO("bo"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - @SerializedName("bq") - BQ("bq"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("br") - BR("br"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("bs") - BS("bs"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Visa { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("bt") - BT("bt"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("bv") - BV("bv"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("bw") - BW("bw"), + private Visa(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("by") - BY("by"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bz") - BZ("bz"), + public static class Builder { + private Map extraParams; - @SerializedName("ca") - CA("ca"), + private List files; - @SerializedName("cc") - CC("cc"), + private Type type; - @SerializedName("cd") - CD("cd"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Documents.Visa build() { + return new AccountUpdateParams.Identity.Individual.Documents.Visa( + this.extraParams, this.files, this.type); + } - @SerializedName("cf") - CF("cf"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.Visa#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cg") - CG("cg"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.Documents.Visa#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ch") - CH("ch"), + /** + * 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 + * AccountUpdateParams.Identity.Individual.Documents.Visa#files} for the field + * documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("ci") - CI("ci"), + /** + * 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 + * AccountUpdateParams.Identity.Individual.Documents.Visa#files} for the field + * documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("ck") - CK("ck"), + /** + * Required. The format of the document. Currently supports {@code + * files} only. + */ + public Builder setType( + AccountUpdateParams.Identity.Individual.Documents.Visa.Type type) { + this.type = type; + return this; + } + } - @SerializedName("cl") - CL("cl"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("cm") - CM("cm"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("cn") - CN("cn"), + Type(String value) { + this.value = value; + } + } + } + } - @SerializedName("co") - CO("co"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdNumber { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cr") - CR("cr"), + /** Required. The ID number type of an individual. */ + @SerializedName("type") + Type type; - @SerializedName("cu") - CU("cu"), + /** Required. The value of the ID number. */ + @SerializedName("value") + Object value; - @SerializedName("cv") - CV("cv"), + private IdNumber(Map extraParams, Type type, Object value) { + this.extraParams = extraParams; + this.type = type; + this.value = value; + } - @SerializedName("cw") - CW("cw"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cx") - CX("cx"), + public static class Builder { + private Map extraParams; - @SerializedName("cy") - CY("cy"), + private Type type; - @SerializedName("cz") - CZ("cz"), + private Object value; - @SerializedName("de") - DE("de"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.IdNumber build() { + return new AccountUpdateParams.Identity.Individual.IdNumber( + this.extraParams, this.type, this.value); + } - @SerializedName("dj") - DJ("dj"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.IdNumber#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("dk") - DK("dk"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.IdNumber#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("dm") - DM("dm"), + /** Required. The ID number type of an individual. */ + public Builder setType(AccountUpdateParams.Identity.Individual.IdNumber.Type type) { + this.type = type; + return this; + } - @SerializedName("do") - DO("do"), + /** Required. The value of the ID number. */ + public Builder setValue(String value) { + this.value = value; + return this; + } - @SerializedName("dz") - DZ("dz"), + /** Required. The value of the ID number. */ + public Builder setValue(EmptyParam value) { + this.value = value; + return this; + } + } - @SerializedName("ec") - EC("ec"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ae_eid") + AE_EID("ae_eid"), - @SerializedName("ee") - EE("ee"), + @SerializedName("ao_nif") + AO_NIF("ao_nif"), - @SerializedName("eg") - EG("eg"), + @SerializedName("az_tin") + AZ_TIN("az_tin"), - @SerializedName("eh") - EH("eh"), + @SerializedName("bd_brc") + BD_BRC("bd_brc"), - @SerializedName("er") - ER("er"), + @SerializedName("bd_etin") + BD_ETIN("bd_etin"), - @SerializedName("es") - ES("es"), + @SerializedName("bd_nid") + BD_NID("bd_nid"), - @SerializedName("et") - ET("et"), + @SerializedName("br_cpf") + BR_CPF("br_cpf"), - @SerializedName("fi") - FI("fi"), + @SerializedName("cr_cpf") + CR_CPF("cr_cpf"), - @SerializedName("fj") - FJ("fj"), + @SerializedName("cr_dimex") + CR_DIMEX("cr_dimex"), - @SerializedName("fk") - FK("fk"), + @SerializedName("cr_nite") + CR_NITE("cr_nite"), - @SerializedName("fm") - FM("fm"), + @SerializedName("de_stn") + DE_STN("de_stn"), - @SerializedName("fo") - FO("fo"), + @SerializedName("do_rcn") + DO_RCN("do_rcn"), - @SerializedName("fr") - FR("fr"), + @SerializedName("gt_nit") + GT_NIT("gt_nit"), - @SerializedName("ga") - GA("ga"), + @SerializedName("hk_id") + HK_ID("hk_id"), - @SerializedName("gb") - GB("gb"), + @SerializedName("kz_iin") + KZ_IIN("kz_iin"), - @SerializedName("gd") - GD("gd"), + @SerializedName("mx_rfc") + MX_RFC("mx_rfc"), - @SerializedName("ge") - GE("ge"), + @SerializedName("my_nric") + MY_NRIC("my_nric"), - @SerializedName("gf") - GF("gf"), + @SerializedName("mz_nuit") + MZ_NUIT("mz_nuit"), - @SerializedName("gg") - GG("gg"), + @SerializedName("nl_bsn") + NL_BSN("nl_bsn"), - @SerializedName("gh") - GH("gh"), + @SerializedName("pe_dni") + PE_DNI("pe_dni"), - @SerializedName("gi") - GI("gi"), + @SerializedName("pk_cnic") + PK_CNIC("pk_cnic"), - @SerializedName("gl") - GL("gl"), + @SerializedName("pk_snic") + PK_SNIC("pk_snic"), - @SerializedName("gm") - GM("gm"), + @SerializedName("sa_tin") + SA_TIN("sa_tin"), - @SerializedName("gn") - GN("gn"), + @SerializedName("sg_fin") + SG_FIN("sg_fin"), - @SerializedName("gp") - GP("gp"), + @SerializedName("sg_nric") + SG_NRIC("sg_nric"), - @SerializedName("gq") - GQ("gq"), + @SerializedName("th_lc") + TH_LC("th_lc"), - @SerializedName("gr") - GR("gr"), + @SerializedName("th_pin") + TH_PIN("th_pin"), - @SerializedName("gs") - GS("gs"), + @SerializedName("us_itin") + US_ITIN("us_itin"), - @SerializedName("gt") - GT("gt"), + @SerializedName("us_itin_last_4") + US_ITIN_LAST_4("us_itin_last_4"), - @SerializedName("gu") - GU("gu"), + @SerializedName("us_ssn") + US_SSN("us_ssn"), - @SerializedName("gw") - GW("gw"), + @SerializedName("us_ssn_last_4") + US_SSN_LAST_4("us_ssn_last_4"); - @SerializedName("gy") - GY("gy"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("hk") - HK("hk"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("hm") - HM("hm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Relationship { + /** + * Whether the person is a director of the account's identity. Directors are typically + * members of the governing board of the company, or responsible for ensuring the company + * meets its regulatory obligations. + */ + @SerializedName("director") + Boolean director; - @SerializedName("hn") - HN("hn"), + /** + * Whether the person has significant responsibility to control, manage, or direct the + * organization. + */ + @SerializedName("executive") + Boolean executive; - @SerializedName("hr") - HR("hr"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ht") - HT("ht"), + /** Whether the person is an owner of the account’s identity. */ + @SerializedName("owner") + Boolean owner; - @SerializedName("hu") - HU("hu"), + /** The percent owned by the person of the account's legal entity. */ + @SerializedName("percent_ownership") + Object percentOwnership; - @SerializedName("id") - ID("id"), + /** The person's title (e.g., CEO, Support Engineer). */ + @SerializedName("title") + Object title; - @SerializedName("ie") - IE("ie"), + private Relationship( + Boolean director, + Boolean executive, + Map extraParams, + Boolean owner, + Object percentOwnership, + Object title) { + this.director = director; + this.executive = executive; + this.extraParams = extraParams; + this.owner = owner; + this.percentOwnership = percentOwnership; + this.title = title; + } - @SerializedName("il") - IL("il"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("im") - IM("im"), + public static class Builder { + private Boolean director; - @SerializedName("in") - IN("in"), + private Boolean executive; - @SerializedName("io") - IO("io"), + private Map extraParams; - @SerializedName("iq") - IQ("iq"), + private Boolean owner; - @SerializedName("ir") - IR("ir"), + private Object percentOwnership; - @SerializedName("is") - IS("is"), + private Object title; - @SerializedName("it") - IT("it"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.Relationship build() { + return new AccountUpdateParams.Identity.Individual.Relationship( + this.director, + this.executive, + this.extraParams, + this.owner, + this.percentOwnership, + this.title); + } - @SerializedName("je") - JE("je"), + /** + * Whether the person is a director of the account's identity. Directors are typically + * members of the governing board of the company, or responsible for ensuring the company + * meets its regulatory obligations. + */ + public Builder setDirector(Boolean director) { + this.director = director; + return this; + } - @SerializedName("jm") - JM("jm"), + /** + * Whether the person has significant responsibility to control, manage, or direct the + * organization. + */ + public Builder setExecutive(Boolean executive) { + this.executive = executive; + return this; + } - @SerializedName("jo") - JO("jo"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.Relationship#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("jp") - JP("jp"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.Relationship#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ke") - KE("ke"), + /** Whether the person is an owner of the account’s identity. */ + public Builder setOwner(Boolean owner) { + this.owner = owner; + return this; + } - @SerializedName("kg") - KG("kg"), + /** The percent owned by the person of the account's legal entity. */ + public Builder setPercentOwnership(BigDecimal percentOwnership) { + this.percentOwnership = percentOwnership; + return this; + } - @SerializedName("kh") - KH("kh"), + /** The percent owned by the person of the account's legal entity. */ + public Builder setPercentOwnership(EmptyParam percentOwnership) { + this.percentOwnership = percentOwnership; + return this; + } - @SerializedName("ki") - KI("ki"), + /** The person's title (e.g., CEO, Support Engineer). */ + public Builder setTitle(String title) { + this.title = title; + return this; + } - @SerializedName("km") - KM("km"), + /** The person's title (e.g., CEO, Support Engineer). */ + public Builder setTitle(EmptyParam title) { + this.title = title; + return this; + } + } + } - @SerializedName("kn") - KN("kn"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptAddresses { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("kp") - KP("kp"), + /** Kana Address. */ + @SerializedName("kana") + Kana kana; - @SerializedName("kr") - KR("kr"), + /** Kanji Address. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("kw") - KW("kw"), + private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("ky") - KY("ky"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("kz") - KZ("kz"), + public static class Builder { + private Map extraParams; - @SerializedName("la") - LA("la"), + private Kana kana; - @SerializedName("lb") - LB("lb"), + private Kanji kanji; - @SerializedName("lc") - LC("lc"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.ScriptAddresses build() { + return new AccountUpdateParams.Identity.Individual.ScriptAddresses( + this.extraParams, this.kana, this.kanji); + } - @SerializedName("li") - LI("li"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.ScriptAddresses#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("lk") - LK("lk"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.ScriptAddresses#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("lr") - LR("lr"), + /** Kana Address. */ + public Builder setKana( + AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("ls") - LS("ls"), + /** Kanji Address. */ + public Builder setKanji( + AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("lt") - LT("lt"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("lu") - LU("lu"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("lv") - LV("lv"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ly") - LY("ly"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("ma") - MA("ma"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("mc") - MC("mc"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("md") - MD("md"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("me") - ME("me"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("mf") - MF("mf"), + private Kana( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("mg") - MG("mg"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mh") - MH("mh"), + public static class Builder { + private Object city; - @SerializedName("mk") - MK("mk"), + private Object country; - @SerializedName("ml") - ML("ml"), + private Map extraParams; - @SerializedName("mm") - MM("mm"), + private Object line1; - @SerializedName("mn") - MN("mn"), + private Object line2; - @SerializedName("mo") - MO("mo"), + private Object postalCode; - @SerializedName("mp") - MP("mp"), + private Object state; - @SerializedName("mq") - MQ("mq"), + private Object town; - @SerializedName("mr") - MR("mr"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana build() { + return new AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("ms") - MS("ms"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("mt") - MT("mt"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("mu") - MU("mu"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("mv") - MV("mv"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("mw") - MW("mw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mx") - MX("mx"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kana#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("my") - MY("my"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("mz") - MZ("mz"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("na") - NA("na"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("nc") - NC("nc"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("ne") - NE("ne"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("nf") - NF("nf"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("ng") - NG("ng"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("ni") - NI("ni"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("nl") - NL("nl"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("no") - NO("no"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } - @SerializedName("np") - NP("np"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("nr") - NR("nr"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("nu") - NU("nu"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("nz") - NZ("nz"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("om") - OM("om"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("pa") - PA("pa"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("pe") - PE("pe"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("pf") - PF("pf"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("pg") - PG("pg"), + private Kanji( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("ph") - PH("ph"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pk") - PK("pk"), + public static class Builder { + private Object city; - @SerializedName("pl") - PL("pl"), + private Object country; - @SerializedName("pm") - PM("pm"), + private Map extraParams; - @SerializedName("pn") - PN("pn"), + private Object line1; - @SerializedName("pr") - PR("pr"), + private Object line2; - @SerializedName("ps") - PS("ps"), + private Object postalCode; - @SerializedName("pt") - PT("pt"), + private Object state; - @SerializedName("pw") - PW("pw"), + private Object town; - @SerializedName("py") - PY("py"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji build() { + return new AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("qa") - QA("qa"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("qz") - QZ("qz"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("re") - RE("re"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("ro") - RO("ro"), + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("rs") - RS("rs"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ru") - RU("ru"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptAddresses.Kanji#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("rw") - RW("rw"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("sa") - SA("sa"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("sb") - SB("sb"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("sc") - SC("sc"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("sd") - SD("sd"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("se") - SE("se"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("sg") - SG("sg"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("sh") - SH("sh"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("si") - SI("si"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("sj") - SJ("sj"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } + } - @SerializedName("sk") - SK("sk"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptNames { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sl") - SL("sl"), + /** Persons name in kana script. */ + @SerializedName("kana") + Kana kana; - @SerializedName("sm") - SM("sm"), + /** Persons name in kanji script. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("sn") - SN("sn"), + private ScriptNames(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("so") - SO("so"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sr") - SR("sr"), + public static class Builder { + private Map extraParams; - @SerializedName("ss") - SS("ss"), + private Kana kana; - @SerializedName("st") - ST("st"), + private Kanji kanji; - @SerializedName("sv") - SV("sv"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.ScriptNames build() { + return new AccountUpdateParams.Identity.Individual.ScriptNames( + this.extraParams, this.kana, this.kanji); + } - @SerializedName("sx") - SX("sx"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.ScriptNames#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sy") - SY("sy"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Individual.ScriptNames#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sz") - SZ("sz"), + /** Persons name in kana script. */ + public Builder setKana(AccountUpdateParams.Identity.Individual.ScriptNames.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("tc") - TC("tc"), + /** Persons name in kanji script. */ + public Builder setKanji(AccountUpdateParams.Identity.Individual.ScriptNames.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("td") - TD("td"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tf") - TF("tf"), + /** The person's first or given name. */ + @SerializedName("given_name") + Object givenName; - @SerializedName("tg") - TG("tg"), + /** The person's last or family name. */ + @SerializedName("surname") + Object surname; - @SerializedName("th") - TH("th"), + private Kana(Map extraParams, Object givenName, Object surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("tj") - TJ("tj"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tk") - TK("tk"), + public static class Builder { + private Map extraParams; - @SerializedName("tl") - TL("tl"), + private Object givenName; - @SerializedName("tm") - TM("tm"), + private Object surname; - @SerializedName("tn") - TN("tn"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.ScriptNames.Kana build() { + return new AccountUpdateParams.Identity.Individual.ScriptNames.Kana( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("to") - TO("to"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tr") - TR("tr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tt") - TT("tt"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("tv") - TV("tv"), + /** The person's first or given name. */ + public Builder setGivenName(EmptyParam givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("tw") - TW("tw"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } - @SerializedName("tz") - TZ("tz"), + /** The person's last or family name. */ + public Builder setSurname(EmptyParam surname) { + this.surname = surname; + return this; + } + } + } - @SerializedName("ua") - UA("ua"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ug") - UG("ug"), + /** The person's first or given name. */ + @SerializedName("given_name") + Object givenName; - @SerializedName("um") - UM("um"), + /** The person's last or family name. */ + @SerializedName("surname") + Object surname; - @SerializedName("us") - US("us"), + private Kanji(Map extraParams, Object givenName, Object surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("uy") - UY("uy"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("uz") - UZ("uz"), + public static class Builder { + private Map extraParams; - @SerializedName("va") - VA("va"), + private Object givenName; - @SerializedName("vc") - VC("vc"), + private Object surname; - @SerializedName("ve") - VE("ve"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Individual.ScriptNames.Kanji build() { + return new AccountUpdateParams.Identity.Individual.ScriptNames.Kanji( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("vg") - VG("vg"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("vi") - VI("vi"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Individual.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("vn") - VN("vn"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("vu") - VU("vu"), + /** The person's first or given name. */ + public Builder setGivenName(EmptyParam givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("wf") - WF("wf"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } - @SerializedName("ws") - WS("ws"), + /** The person's last or family name. */ + public Builder setSurname(EmptyParam surname) { + this.surname = surname; + return this; + } + } + } + } - @SerializedName("xx") - XX("xx"), + public enum LegalGender implements ApiRequestParams.EnumParam { + @SerializedName("female") + FEMALE("female"), - @SerializedName("ye") - YE("ye"), + @SerializedName("male") + MALE("male"); - @SerializedName("yt") - YT("yt"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("za") - ZA("za"), + LegalGender(String value) { + this.value = value; + } + } - @SerializedName("zm") - ZM("zm"), + public enum PoliticalExposure implements ApiRequestParams.EnumParam { + @SerializedName("existing") + EXISTING("existing"), - @SerializedName("zw") - ZW("zw"); + @SerializedName("none") + NONE("none"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - Country(String value) { - this.value = value; + PoliticalExposure(String value) { + this.value = value; + } } } diff --git a/src/main/java/com/stripe/param/v2/core/EventDestinationListParams.java b/src/main/java/com/stripe/param/v2/core/EventDestinationListParams.java index 1c36684abab..c13bf0cf2ff 100644 --- a/src/main/java/com/stripe/param/v2/core/EventDestinationListParams.java +++ b/src/main/java/com/stripe/param/v2/core/EventDestinationListParams.java @@ -30,12 +30,12 @@ public class EventDestinationListParams extends ApiRequestParams { /** The page size. */ @SerializedName("limit") - Integer limit; + Long limit; private EventDestinationListParams( Map extraParams, List include, - Integer limit) { + Long limit) { this.extraParams = extraParams; this.include = include; this.limit = limit; @@ -50,7 +50,7 @@ public static class Builder { private List include; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public EventDestinationListParams build() { @@ -110,7 +110,7 @@ public Builder addAllInclude(List elements) } /** The page size. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/core/EventListParams.java b/src/main/java/com/stripe/param/v2/core/EventListParams.java index 735cb6c2b09..b80d95056b9 100644 --- a/src/main/java/com/stripe/param/v2/core/EventListParams.java +++ b/src/main/java/com/stripe/param/v2/core/EventListParams.java @@ -22,13 +22,13 @@ public class EventListParams extends ApiRequestParams { /** The page size. */ @SerializedName("limit") - Integer limit; + Long limit; /** Required. Primary object ID used to retrieve related events. */ @SerializedName("object_id") String objectId; - private EventListParams(Map extraParams, Integer limit, String objectId) { + private EventListParams(Map extraParams, Long limit, String objectId) { this.extraParams = extraParams; this.limit = limit; this.objectId = objectId; @@ -41,7 +41,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; private String objectId; @@ -77,7 +77,7 @@ public Builder putAllExtraParam(Map map) { } /** The page size. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/core/accounts/PersonCreateParams.java b/src/main/java/com/stripe/param/v2/core/accounts/PersonCreateParams.java index 1bec9e519f3..3dbdff2d833 100644 --- a/src/main/java/com/stripe/param/v2/core/accounts/PersonCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/accounts/PersonCreateParams.java @@ -3,6 +3,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; +import java.math.BigDecimal; import java.time.Instant; import java.util.ArrayList; import java.util.HashMap; @@ -75,7 +76,7 @@ public class PersonCreateParams extends ApiRequestParams { /** The nationalities (countries) this person is associated with. */ @SerializedName("nationalities") - List nationalities; + List nationalities; /** The phone number for this person. */ @SerializedName("phone") @@ -114,7 +115,7 @@ private PersonCreateParams( List idNumbers, LegalGender legalGender, Map metadata, - List nationalities, + List nationalities, String phone, PoliticalExposure politicalExposure, Relationship relationship, @@ -171,7 +172,7 @@ public static class Builder { private Map metadata; - private List nationalities; + private List nationalities; private String phone; @@ -390,7 +391,7 @@ public Builder putAllMetadata(Map map) { * call, and subsequent calls adds additional elements to the original list. See {@link * PersonCreateParams#nationalities} for the field documentation. */ - public Builder addNationality(PersonCreateParams.Nationality element) { + public Builder addNationality(String element) { if (this.nationalities == null) { this.nationalities = new ArrayList<>(); } @@ -403,7 +404,7 @@ public Builder addNationality(PersonCreateParams.Nationality element) { * call, and subsequent calls adds additional elements to the original list. See {@link * PersonCreateParams#nationalities} for the field documentation. */ - public Builder addAllNationality(List elements) { + public Builder addAllNationality(List elements) { if (this.nationalities == null) { this.nationalities = new ArrayList<>(); } @@ -460,7 +461,7 @@ public static class AdditionalAddress { * href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">ISO 3166-1 alpha-2). */ @SerializedName("country") - Country country; + String country; /** * Map of extra parameters for custom features not available in this client library. The content @@ -497,7 +498,7 @@ public static class AdditionalAddress { private AdditionalAddress( String city, - Country country, + String country, Map extraParams, String line1, String line2, @@ -523,7 +524,7 @@ public static Builder builder() { public static class Builder { private String city; - private Country country; + private String country; private Map extraParams; @@ -563,7 +564,7 @@ public Builder setCity(String city) { * Required. Two-letter country code (ISO 3166-1 alpha-2). */ - public Builder setCountry(PersonCreateParams.AdditionalAddress.Country country) { + public Builder setCountry(String country) { this.country = country; return this; } @@ -631,820 +632,655 @@ public Builder setTown(String town) { } } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("registered") + REGISTERED("registered"); - @SerializedName("at") - AT("at"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("au") - AU("au"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("aw") - AW("aw"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalName { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ax") - AX("ax"), + /** The person's full name. */ + @SerializedName("full_name") + String fullName; - @SerializedName("az") - AZ("az"), + /** The person's first or given name. */ + @SerializedName("given_name") + String givenName; - @SerializedName("ba") - BA("ba"), + /** Required. The purpose or type of the additional name. */ + @SerializedName("purpose") + Purpose purpose; - @SerializedName("bb") - BB("bb"), + /** The person's last or family name. */ + @SerializedName("surname") + String surname; - @SerializedName("bd") - BD("bd"), + private AdditionalName( + Map extraParams, + String fullName, + String givenName, + Purpose purpose, + String surname) { + this.extraParams = extraParams; + this.fullName = fullName; + this.givenName = givenName; + this.purpose = purpose; + this.surname = surname; + } - @SerializedName("be") - BE("be"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bf") - BF("bf"), + public static class Builder { + private Map extraParams; - @SerializedName("bg") - BG("bg"), + private String fullName; - @SerializedName("bh") - BH("bh"), + private String givenName; - @SerializedName("bi") - BI("bi"), + private Purpose purpose; - @SerializedName("bj") - BJ("bj"), + private String surname; - @SerializedName("bl") - BL("bl"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.AdditionalName build() { + return new PersonCreateParams.AdditionalName( + this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); + } - @SerializedName("bm") - BM("bm"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.AdditionalName#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bn") - BN("bn"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.AdditionalName#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("bo") - BO("bo"), + /** The person's full name. */ + public Builder setFullName(String fullName) { + this.fullName = fullName; + return this; + } - @SerializedName("bq") - BQ("bq"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("br") - BR("br"), + /** Required. The purpose or type of the additional name. */ + public Builder setPurpose(PersonCreateParams.AdditionalName.Purpose purpose) { + this.purpose = purpose; + return this; + } - @SerializedName("bs") - BS("bs"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } + } - @SerializedName("bt") - BT("bt"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("alias") + ALIAS("alias"), - @SerializedName("bv") - BV("bv"), + @SerializedName("maiden") + MAIDEN("maiden"); - @SerializedName("bw") - BW("bw"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("by") - BY("by"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("bz") - BZ("bz"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalTermsOfService { + /** Stripe terms of service agreement. */ + @SerializedName("account") + Account account; - @SerializedName("ca") - CA("ca"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("cc") - CC("cc"), + private AdditionalTermsOfService(Account account, Map extraParams) { + this.account = account; + this.extraParams = extraParams; + } - @SerializedName("cd") - CD("cd"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cf") - CF("cf"), + public static class Builder { + private Account account; - @SerializedName("cg") - CG("cg"), + private Map extraParams; - @SerializedName("ch") - CH("ch"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.AdditionalTermsOfService build() { + return new PersonCreateParams.AdditionalTermsOfService(this.account, this.extraParams); + } - @SerializedName("ci") - CI("ci"), + /** Stripe terms of service agreement. */ + public Builder setAccount(PersonCreateParams.AdditionalTermsOfService.Account account) { + this.account = account; + return this; + } - @SerializedName("ck") - CK("ck"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.AdditionalTermsOfService#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cl") - CL("cl"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.AdditionalTermsOfService#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - @SerializedName("cm") - CM("cm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Account { + /** + * Required. The time when the Account's representative accepted the terms of + * service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - @SerializedName("cn") - CN("cn"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("co") - CO("co"), + /** + * Required. The IP address from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("ip") + String ip; - @SerializedName("cr") - CR("cr"), + /** + * The user agent of the browser from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("cu") - CU("cu"), + private Account(Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("cv") - CV("cv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cw") - CW("cw"), + public static class Builder { + private Instant date; - @SerializedName("cx") - CX("cx"), + private Map extraParams; - @SerializedName("cy") - CY("cy"), + private String ip; - @SerializedName("cz") - CZ("cz"), + private String userAgent; - @SerializedName("de") - DE("de"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.AdditionalTermsOfService.Account build() { + return new PersonCreateParams.AdditionalTermsOfService.Account( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("dj") - DJ("dj"), + /** + * Required. The time when the Account's representative accepted the terms + * of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } - @SerializedName("dk") - DK("dk"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.AdditionalTermsOfService.Account#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("dm") - DM("dm"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.AdditionalTermsOfService.Account#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("do") - DO("do"), + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("dz") - DZ("dz"), + /** + * The user agent of the browser from which the Account's representative accepted the terms + * of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } - @SerializedName("ec") - EC("ec"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("ee") - EE("ee"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("eg") - EG("eg"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("eh") - EH("eh"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("er") - ER("er"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("es") - ES("es"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("et") - ET("et"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("fi") - FI("fi"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("fj") - FJ("fj"), + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state, + String town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("fk") - FK("fk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("fm") - FM("fm"), + public static class Builder { + private String city; - @SerializedName("fo") - FO("fo"), + private String country; - @SerializedName("fr") - FR("fr"), + private Map extraParams; - @SerializedName("ga") - GA("ga"), + private String line1; - @SerializedName("gb") - GB("gb"), + private String line2; - @SerializedName("gd") - GD("gd"), + private String postalCode; - @SerializedName("ge") - GE("ge"), + private String state; - @SerializedName("gf") - GF("gf"), + private String town; - @SerializedName("gg") - GG("gg"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.Address build() { + return new PersonCreateParams.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("gh") - GH("gh"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("gi") - GI("gi"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("gl") - GL("gl"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.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; + } - @SerializedName("gm") - GM("gm"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.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; + } - @SerializedName("gn") - GN("gn"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("gp") - GP("gp"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("gq") - GQ("gq"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("gr") - GR("gr"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("gs") - GS("gs"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } - @SerializedName("gt") - GT("gt"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DateOfBirth { + /** Required. The day of birth. */ + @SerializedName("day") + Long day; - @SerializedName("gu") - GU("gu"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("gw") - GW("gw"), + /** Required. The month of birth. */ + @SerializedName("month") + Long month; - @SerializedName("gy") - GY("gy"), + /** Required. The year of birth. */ + @SerializedName("year") + Long year; - @SerializedName("hk") - HK("hk"), + private DateOfBirth(Long day, Map extraParams, Long month, Long year) { + this.day = day; + this.extraParams = extraParams; + this.month = month; + this.year = year; + } - @SerializedName("hm") - HM("hm"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("hn") - HN("hn"), + public static class Builder { + private Long day; - @SerializedName("hr") - HR("hr"), + private Map extraParams; - @SerializedName("ht") - HT("ht"), + private Long month; - @SerializedName("hu") - HU("hu"), + private Long year; - @SerializedName("id") - ID("id"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.DateOfBirth build() { + return new PersonCreateParams.DateOfBirth( + this.day, this.extraParams, this.month, this.year); + } - @SerializedName("ie") - IE("ie"), + /** Required. The day of birth. */ + public Builder setDay(Long day) { + this.day = day; + return this; + } - @SerializedName("il") - IL("il"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.DateOfBirth#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("im") - IM("im"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.DateOfBirth#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("in") - IN("in"), + /** Required. The month of birth. */ + public Builder setMonth(Long month) { + this.month = month; + return this; + } - @SerializedName("io") - IO("io"), + /** Required. The year of birth. */ + public Builder setYear(Long year) { + this.year = year; + return this; + } + } + } - @SerializedName("iq") - IQ("iq"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Documents { + /** + * One or more documents that demonstrate proof that this person is authorized to represent the + * company. + */ + @SerializedName("company_authorization") + CompanyAuthorization companyAuthorization; - @SerializedName("ir") - IR("ir"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("registered") - REGISTERED("registered"); - - @Getter(onMethod_ = {@Override}) - private final String value; + /** One or more documents showing the person’s passport page with photo and personal data. */ + @SerializedName("passport") + Passport passport; - Purpose(String value) { - this.value = value; - } - } - } + /** An identifying document showing the person's name, either a passport or local ID card. */ + @SerializedName("primary_verification") + PrimaryVerification primaryVerification; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AdditionalName { /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The person's full name. */ - @SerializedName("full_name") - String fullName; - - /** The person's first or given name. */ - @SerializedName("given_name") - String givenName; - - /** Required. The purpose or type of the additional name. */ - @SerializedName("purpose") - Purpose purpose; + @SerializedName("secondary_verification") + SecondaryVerification secondaryVerification; - /** The person's last or family name. */ - @SerializedName("surname") - String surname; + /** + * One or more documents showing the person’s visa required for living in the country where they + * are residing. + */ + @SerializedName("visa") + Visa visa; - private AdditionalName( + private Documents( + CompanyAuthorization companyAuthorization, Map extraParams, - String fullName, - String givenName, - Purpose purpose, - String surname) { + Passport passport, + PrimaryVerification primaryVerification, + SecondaryVerification secondaryVerification, + Visa visa) { + this.companyAuthorization = companyAuthorization; this.extraParams = extraParams; - this.fullName = fullName; - this.givenName = givenName; - this.purpose = purpose; - this.surname = surname; + this.passport = passport; + this.primaryVerification = primaryVerification; + this.secondaryVerification = secondaryVerification; + this.visa = visa; } public static Builder builder() { @@ -1452,26 +1288,43 @@ public static Builder builder() { } public static class Builder { + private CompanyAuthorization companyAuthorization; + private Map extraParams; - private String fullName; + private Passport passport; - private String givenName; + private PrimaryVerification primaryVerification; - private Purpose purpose; + private SecondaryVerification secondaryVerification; - private String surname; + private Visa visa; /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.AdditionalName build() { - return new PersonCreateParams.AdditionalName( - this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); + public PersonCreateParams.Documents build() { + return new PersonCreateParams.Documents( + this.companyAuthorization, + this.extraParams, + this.passport, + this.primaryVerification, + this.secondaryVerification, + this.visa); + } + + /** + * One or more documents that demonstrate proof that this person is authorized to represent + * the company. + */ + public Builder setCompanyAuthorization( + PersonCreateParams.Documents.CompanyAuthorization companyAuthorization) { + this.companyAuthorization = companyAuthorization; + 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 - * PersonCreateParams.AdditionalName#extraParams} for the field documentation. + * PersonCreateParams.Documents#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -1484,7 +1337,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.AdditionalName#extraParams} for the field documentation. + * See {@link PersonCreateParams.Documents#extraParams} for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -1494,127 +1347,42 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's full name. */ - public Builder setFullName(String fullName) { - this.fullName = fullName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** Required. The purpose or type of the additional name. */ - public Builder setPurpose(PersonCreateParams.AdditionalName.Purpose purpose) { - this.purpose = purpose; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** One or more documents showing the person’s passport page with photo and personal data. */ + public Builder setPassport(PersonCreateParams.Documents.Passport passport) { + this.passport = passport; return this; } - } - - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("alias") - ALIAS("alias"), - - @SerializedName("maiden") - MAIDEN("maiden"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Purpose(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AdditionalTermsOfService { - /** Stripe terms of service agreement. */ - @SerializedName("account") - Account account; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private AdditionalTermsOfService(Account account, Map extraParams) { - this.account = account; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Account account; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.AdditionalTermsOfService build() { - return new PersonCreateParams.AdditionalTermsOfService(this.account, this.extraParams); - } - /** Stripe terms of service agreement. */ - public Builder setAccount(PersonCreateParams.AdditionalTermsOfService.Account account) { - this.account = account; + /** An identifying document showing the person's name, either a passport or local ID card. */ + public Builder setPrimaryVerification( + PersonCreateParams.Documents.PrimaryVerification primaryVerification) { + this.primaryVerification = primaryVerification; 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 - * PersonCreateParams.AdditionalTermsOfService#extraParams} for the field documentation. + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); + public Builder setSecondaryVerification( + PersonCreateParams.Documents.SecondaryVerification secondaryVerification) { + this.secondaryVerification = secondaryVerification; return this; } /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.AdditionalTermsOfService#extraParams} for the field - * documentation. + * One or more documents showing the person’s visa required for living in the country where + * they are residing. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); + public Builder setVisa(PersonCreateParams.Documents.Visa visa) { + this.visa = visa; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Account { - /** - * Required. The time when the Account's representative accepted the terms of - * service. Represented as a RFC 3339 date & time UTC value in millisecond precision, for - * example: 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - + public static class CompanyAuthorization { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -1625,24 +1393,24 @@ public static class Account { Map extraParams; /** - * Required. The IP address from which the Account's representative accepted - * the terms of service. + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. */ - @SerializedName("ip") - String ip; + @SerializedName("files") + List files; /** - * The user agent of the browser from which the Account's representative accepted the terms of - * service. + * Required. The format of the document. Currently supports {@code files} + * only. */ - @SerializedName("user_agent") - String userAgent; + @SerializedName("type") + Type type; - private Account(Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; + private CompanyAuthorization(Map extraParams, List files, Type type) { this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; + this.files = files; + this.type = type; } public static Builder builder() { @@ -1650,34 +1418,22 @@ public static Builder builder() { } public static class Builder { - private Instant date; - private Map extraParams; - private String ip; + private List files; - private String userAgent; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.AdditionalTermsOfService.Account build() { - return new PersonCreateParams.AdditionalTermsOfService.Account( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * Required. The time when the Account's representative accepted the terms - * of service. Represented as a RFC 3339 date & time UTC value in millisecond precision, - * for example: 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; + public PersonCreateParams.Documents.CompanyAuthorization build() { + return new PersonCreateParams.Documents.CompanyAuthorization( + this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.AdditionalTermsOfService.Account#extraParams} for the + * map. See {@link PersonCreateParams.Documents.CompanyAuthorization#extraParams} for the * field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1691,7 +1447,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.AdditionalTermsOfService.Account#extraParams} for the + * map. See {@link PersonCreateParams.Documents.CompanyAuthorization#extraParams} for the * field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1703,4425 +1459,404 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. + * 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 + * PersonCreateParams.Documents.CompanyAuthorization#files} for the field documentation. */ - public Builder setIp(String ip) { - this.ip = ip; + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); return this; } /** - * The user agent of the browser from which the Account's representative accepted the terms - * of service. + * 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 + * PersonCreateParams.Documents.CompanyAuthorization#files} for the field documentation. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); return this; } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country country; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + public Builder setType(PersonCreateParams.Documents.CompanyAuthorization.Type type) { + this.type = type; + return this; + } + } - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - String line1; + @Getter(onMethod_ = {@Override}) + private final String value; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - String line2; + Type(String value) { + this.value = value; + } + } + } - /** ZIP or postal code. */ - @SerializedName("postal_code") - String postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - String state; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private Address( - String city, - Country 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 Country 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 PersonCreateParams.Address build() { - return new PersonCreateParams.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Passport { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(PersonCreateParams.Address.Country 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 - * PersonCreateParams.Address#extraParams} for the field documentation. + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @SerializedName("files") + List files; /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.Address#extraParams} for the field documentation. + * Required. The format of the document. Currently supports {@code files} + * only. */ - 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; - } + @SerializedName("type") + Type type; - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; + private Passport(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DateOfBirth { - /** Required. The day of birth. */ - @SerializedName("day") - Integer day; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The month of birth. */ - @SerializedName("month") - Integer month; - - /** Required. The year of birth. */ - @SerializedName("year") - Integer year; - - private DateOfBirth(Integer day, Map extraParams, Integer month, Integer year) { - this.day = day; - this.extraParams = extraParams; - this.month = month; - this.year = year; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Integer day; - - private Map extraParams; - - private Integer month; - - private Integer year; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.DateOfBirth build() { - return new PersonCreateParams.DateOfBirth( - this.day, this.extraParams, this.month, this.year); - } - - /** Required. The day of birth. */ - public Builder setDay(Integer day) { - this.day = day; - 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 - * PersonCreateParams.DateOfBirth#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.DateOfBirth#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The month of birth. */ - public Builder setMonth(Integer month) { - this.month = month; - return this; - } - - /** Required. The year of birth. */ - public Builder setYear(Integer year) { - this.year = year; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Documents { - /** - * One or more documents that demonstrate proof that this person is authorized to represent the - * company. - */ - @SerializedName("company_authorization") - CompanyAuthorization companyAuthorization; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 person’s passport page with photo and personal data. */ - @SerializedName("passport") - Passport passport; - - /** An identifying document showing the person's name, either a passport or local ID card. */ - @SerializedName("primary_verification") - PrimaryVerification primaryVerification; - - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - @SerializedName("secondary_verification") - SecondaryVerification secondaryVerification; - - /** - * One or more documents showing the person’s visa required for living in the country where they - * are residing. - */ - @SerializedName("visa") - Visa visa; - - private Documents( - CompanyAuthorization companyAuthorization, - Map extraParams, - Passport passport, - PrimaryVerification primaryVerification, - SecondaryVerification secondaryVerification, - Visa visa) { - this.companyAuthorization = companyAuthorization; - this.extraParams = extraParams; - this.passport = passport; - this.primaryVerification = primaryVerification; - this.secondaryVerification = secondaryVerification; - this.visa = visa; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private CompanyAuthorization companyAuthorization; - - private Map extraParams; - - private Passport passport; - - private PrimaryVerification primaryVerification; - - private SecondaryVerification secondaryVerification; - - private Visa visa; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.Documents build() { - return new PersonCreateParams.Documents( - this.companyAuthorization, - this.extraParams, - this.passport, - this.primaryVerification, - this.secondaryVerification, - this.visa); - } - - /** - * One or more documents that demonstrate proof that this person is authorized to represent - * the company. - */ - public Builder setCompanyAuthorization( - PersonCreateParams.Documents.CompanyAuthorization companyAuthorization) { - this.companyAuthorization = companyAuthorization; - 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 - * PersonCreateParams.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 PersonCreateParams.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 person’s passport page with photo and personal data. */ - public Builder setPassport(PersonCreateParams.Documents.Passport passport) { - this.passport = passport; - return this; - } - - /** An identifying document showing the person's name, either a passport or local ID card. */ - public Builder setPrimaryVerification( - PersonCreateParams.Documents.PrimaryVerification primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - public Builder setSecondaryVerification( - PersonCreateParams.Documents.SecondaryVerification secondaryVerification) { - this.secondaryVerification = secondaryVerification; - return this; - } - - /** - * One or more documents showing the person’s visa required for living in the country where - * they are residing. - */ - public Builder setVisa(PersonCreateParams.Documents.Visa visa) { - this.visa = visa; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CompanyAuthorization { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyAuthorization(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.Documents.CompanyAuthorization build() { - return new PersonCreateParams.Documents.CompanyAuthorization( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.CompanyAuthorization#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.CompanyAuthorization#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 - * PersonCreateParams.Documents.CompanyAuthorization#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 - * PersonCreateParams.Documents.CompanyAuthorization#files} for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - public Builder setType(PersonCreateParams.Documents.CompanyAuthorization.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Passport { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private Passport(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.Documents.Passport build() { - return new PersonCreateParams.Documents.Passport(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.Passport#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.Passport#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 - * PersonCreateParams.Documents.Passport#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 - * PersonCreateParams.Documents.Passport#files} for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - public Builder setType(PersonCreateParams.Documents.Passport.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PrimaryVerification { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - @SerializedName("type") - Type type; - - private PrimaryVerification(Map extraParams, FrontBack frontBack, Type type) { - this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FrontBack frontBack; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.Documents.PrimaryVerification build() { - return new PersonCreateParams.Documents.PrimaryVerification( - this.extraParams, this.frontBack, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.PrimaryVerification#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.PrimaryVerification#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - PersonCreateParams.Documents.PrimaryVerification.FrontBack frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - public Builder setType(PersonCreateParams.Documents.PrimaryVerification.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload token - * representing the back of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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; - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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 FrontBack(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 PersonCreateParams.Documents.PrimaryVerification.FrontBack build() { - return new PersonCreateParams.Documents.PrimaryVerification.FrontBack( - this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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 PersonCreateParams.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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 Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SecondaryVerification { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - @SerializedName("type") - Type type; - - private SecondaryVerification( - Map extraParams, FrontBack frontBack, Type type) { - this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FrontBack frontBack; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.Documents.SecondaryVerification build() { - return new PersonCreateParams.Documents.SecondaryVerification( - this.extraParams, this.frontBack, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.SecondaryVerification#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.SecondaryVerification#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - PersonCreateParams.Documents.SecondaryVerification.FrontBack frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - public Builder setType(PersonCreateParams.Documents.SecondaryVerification.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload token - * representing the back of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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; - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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 FrontBack(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 PersonCreateParams.Documents.SecondaryVerification.FrontBack build() { - return new PersonCreateParams.Documents.SecondaryVerification.FrontBack( - this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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 - * PersonCreateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * PersonCreateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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 Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Visa { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private Visa(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.Documents.Visa build() { - return new PersonCreateParams.Documents.Visa(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.Visa#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.Documents.Visa#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 - * PersonCreateParams.Documents.Visa#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 - * PersonCreateParams.Documents.Visa#files} for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - public Builder setType(PersonCreateParams.Documents.Visa.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class IdNumber { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The ID number type of an individual. */ - @SerializedName("type") - Type type; - - /** Required. The value of the ID number. */ - @SerializedName("value") - String value; - - private IdNumber(Map extraParams, Type type, String value) { - this.extraParams = extraParams; - this.type = type; - this.value = value; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Type type; - - private String value; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.IdNumber build() { - return new PersonCreateParams.IdNumber(this.extraParams, this.type, this.value); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PersonCreateParams.IdNumber#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.IdNumber#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The ID number type of an individual. */ - public Builder setType(PersonCreateParams.IdNumber.Type type) { - this.type = type; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(String value) { - this.value = value; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ae_eid") - AE_EID("ae_eid"), - - @SerializedName("ao_nif") - AO_NIF("ao_nif"), - - @SerializedName("az_tin") - AZ_TIN("az_tin"), - - @SerializedName("bd_brc") - BD_BRC("bd_brc"), - - @SerializedName("bd_etin") - BD_ETIN("bd_etin"), - - @SerializedName("bd_nid") - BD_NID("bd_nid"), - - @SerializedName("br_cpf") - BR_CPF("br_cpf"), - - @SerializedName("cr_cpf") - CR_CPF("cr_cpf"), - - @SerializedName("cr_dimex") - CR_DIMEX("cr_dimex"), - - @SerializedName("cr_nite") - CR_NITE("cr_nite"), - - @SerializedName("de_stn") - DE_STN("de_stn"), - - @SerializedName("do_rcn") - DO_RCN("do_rcn"), - - @SerializedName("gt_nit") - GT_NIT("gt_nit"), - - @SerializedName("hk_id") - HK_ID("hk_id"), - - @SerializedName("kz_iin") - KZ_IIN("kz_iin"), - - @SerializedName("mx_rfc") - MX_RFC("mx_rfc"), - - @SerializedName("my_nric") - MY_NRIC("my_nric"), - - @SerializedName("mz_nuit") - MZ_NUIT("mz_nuit"), - - @SerializedName("nl_bsn") - NL_BSN("nl_bsn"), - - @SerializedName("pe_dni") - PE_DNI("pe_dni"), - - @SerializedName("pk_cnic") - PK_CNIC("pk_cnic"), - - @SerializedName("pk_snic") - PK_SNIC("pk_snic"), - - @SerializedName("sa_tin") - SA_TIN("sa_tin"), - - @SerializedName("sg_fin") - SG_FIN("sg_fin"), - - @SerializedName("sg_nric") - SG_NRIC("sg_nric"), - - @SerializedName("th_lc") - TH_LC("th_lc"), - - @SerializedName("th_pin") - TH_PIN("th_pin"), - - @SerializedName("us_itin") - US_ITIN("us_itin"), - - @SerializedName("us_itin_last_4") - US_ITIN_LAST_4("us_itin_last_4"), - - @SerializedName("us_ssn") - US_SSN("us_ssn"), - - @SerializedName("us_ssn_last_4") - US_SSN_LAST_4("us_ssn_last_4"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Relationship { - /** Whether the individual is an authorizer of the Account’s legal entity. */ - @SerializedName("authorizer") - Boolean authorizer; - - /** Indicates whether the person is a director of the associated legal entity. */ - @SerializedName("director") - Boolean director; - - /** Indicates whether the person is an executive of the associated legal entity. */ - @SerializedName("executive") - Boolean executive; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Indicates whether the person is a legal guardian of the associated legal entity. */ - @SerializedName("legal_guardian") - Boolean legalGuardian; - - /** Indicates whether the person is an owner of the associated legal entity. */ - @SerializedName("owner") - Boolean owner; - - /** The percentage of ownership the person has in the associated legal entity. */ - @SerializedName("percent_ownership") - String percentOwnership; - - /** Indicates whether the person is a representative of the associated legal entity. */ - @SerializedName("representative") - Boolean representative; - - /** The title or position the person holds in the associated legal entity. */ - @SerializedName("title") - String title; - - private Relationship( - Boolean authorizer, - Boolean director, - Boolean executive, - Map extraParams, - Boolean legalGuardian, - Boolean owner, - String percentOwnership, - Boolean representative, - String title) { - this.authorizer = authorizer; - this.director = director; - this.executive = executive; - this.extraParams = extraParams; - this.legalGuardian = legalGuardian; - this.owner = owner; - this.percentOwnership = percentOwnership; - this.representative = representative; - this.title = title; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean authorizer; - - private Boolean director; - - private Boolean executive; - - private Map extraParams; - - private Boolean legalGuardian; - - private Boolean owner; - - private String percentOwnership; - - private Boolean representative; - - private String title; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.Relationship build() { - return new PersonCreateParams.Relationship( - this.authorizer, - this.director, - this.executive, - this.extraParams, - this.legalGuardian, - this.owner, - this.percentOwnership, - this.representative, - this.title); - } - - /** Whether the individual is an authorizer of the Account’s legal entity. */ - public Builder setAuthorizer(Boolean authorizer) { - this.authorizer = authorizer; - return this; - } - - /** Indicates whether the person is a director of the associated legal entity. */ - public Builder setDirector(Boolean director) { - this.director = director; - return this; - } - - /** Indicates whether the person is an executive of the associated legal entity. */ - public Builder setExecutive(Boolean executive) { - this.executive = executive; - 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 - * PersonCreateParams.Relationship#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.Relationship#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Indicates whether the person is a legal guardian of the associated legal entity. */ - public Builder setLegalGuardian(Boolean legalGuardian) { - this.legalGuardian = legalGuardian; - return this; - } - - /** Indicates whether the person is an owner of the associated legal entity. */ - public Builder setOwner(Boolean owner) { - this.owner = owner; - return this; - } - - /** The percentage of ownership the person has in the associated legal entity. */ - public Builder setPercentOwnership(String percentOwnership) { - this.percentOwnership = percentOwnership; - return this; - } - - /** Indicates whether the person is a representative of the associated legal entity. */ - public Builder setRepresentative(Boolean representative) { - this.representative = representative; - return this; - } - - /** The title or position the person holds in the associated legal entity. */ - public Builder setTitle(String title) { - this.title = title; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptAddresses { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Kana Address. */ - @SerializedName("kana") - Kana kana; - - /** Kanji Address. */ - @SerializedName("kanji") - Kanji kanji; - - private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Kana kana; - - private Kanji kanji; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.ScriptAddresses build() { - return new PersonCreateParams.ScriptAddresses(this.extraParams, this.kana, this.kanji); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PersonCreateParams.ScriptAddresses#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.ScriptAddresses#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Kana Address. */ - public Builder setKana(PersonCreateParams.ScriptAddresses.Kana kana) { - this.kana = kana; - return this; - } - - /** Kanji Address. */ - public Builder setKanji(PersonCreateParams.ScriptAddresses.Kanji kanji) { - this.kanji = kanji; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country 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; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private Kana( - String city, - Country 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 Country 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 PersonCreateParams.ScriptAddresses.Kana build() { - return new PersonCreateParams.ScriptAddresses.Kana( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(PersonCreateParams.ScriptAddresses.Kana.Country 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 PersonCreateParams.ScriptAddresses.Kana#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.ScriptAddresses.Kana#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - Country 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; - - /** Town or cho-me. */ - @SerializedName("town") - String town; - - private Kanji( - String city, - Country 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 Country 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 PersonCreateParams.ScriptAddresses.Kanji build() { - return new PersonCreateParams.ScriptAddresses.Kanji( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(PersonCreateParams.ScriptAddresses.Kanji.Country 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 PersonCreateParams.ScriptAddresses.Kanji#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.ScriptAddresses.Kanji#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; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - @SerializedName("tn") - TN("tn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("to") - TO("to"), + public static class Builder { + private Map extraParams; - @SerializedName("tr") - TR("tr"), + private List files; - @SerializedName("tt") - TT("tt"), + private Type type; - @SerializedName("tv") - TV("tv"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.Documents.Passport build() { + return new PersonCreateParams.Documents.Passport(this.extraParams, this.files, this.type); + } - @SerializedName("tw") - TW("tw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tz") - TZ("tz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ua") - UA("ua"), + /** + * 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 + * PersonCreateParams.Documents.Passport#files} for the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("ug") - UG("ug"), + /** + * 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 + * PersonCreateParams.Documents.Passport#files} for the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("um") - UM("um"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + public Builder setType(PersonCreateParams.Documents.Passport.Type type) { + this.type = type; + return this; + } + } - @SerializedName("us") - US("us"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("uy") - UY("uy"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("uz") - UZ("uz"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("va") - VA("va"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrimaryVerification { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("vc") - VC("vc"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - @SerializedName("ve") - VE("ve"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - @SerializedName("vg") - VG("vg"), + private PrimaryVerification(Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } - @SerializedName("vi") - VI("vi"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vn") - VN("vn"), + public static class Builder { + private Map extraParams; - @SerializedName("vu") - VU("vu"), + private FrontBack frontBack; - @SerializedName("wf") - WF("wf"), + private Type type; - @SerializedName("ws") - WS("ws"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.Documents.PrimaryVerification build() { + return new PersonCreateParams.Documents.PrimaryVerification( + this.extraParams, this.frontBack, this.type); + } - @SerializedName("xx") - XX("xx"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.Documents.PrimaryVerification#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ye") - YE("ye"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.Documents.PrimaryVerification#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("yt") - YT("yt"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + PersonCreateParams.Documents.PrimaryVerification.FrontBack frontBack) { + this.frontBack = frontBack; + return this; + } - @SerializedName("za") - ZA("za"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + public Builder setType(PersonCreateParams.Documents.PrimaryVerification.Type type) { + this.type = type; + return this; + } + } - @SerializedName("zm") - ZM("zm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload token + * representing the back of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; - @SerializedName("zw") - ZW("zw"); + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; - Country(String value) { - this.value = value; + private FrontBack(String back, Map extraParams, String front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptNames { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - /** Persons name in kana script. */ - @SerializedName("kana") - Kana kana; + public static Builder builder() { + return new Builder(); + } - /** Persons name in kanji script. */ - @SerializedName("kanji") - Kanji kanji; + public static class Builder { + private String back; - private ScriptNames(Map extraParams, Kana kana, Kanji kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private String front; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.Documents.PrimaryVerification.FrontBack build() { + return new PersonCreateParams.Documents.PrimaryVerification.FrontBack( + this.back, this.extraParams, this.front); + } - private Kana kana; + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } - private Kanji kanji; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.ScriptNames build() { - return new PersonCreateParams.ScriptNames(this.extraParams, this.kana, this.kanji); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PersonCreateParams.ScriptNames#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; + } } - this.extraParams.put(key, value); - return this; } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonCreateParams.ScriptNames#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - /** Persons name in kana script. */ - public Builder setKana(PersonCreateParams.ScriptNames.Kana kana) { - this.kana = kana; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** Persons name in kanji script. */ - public Builder setKanji(PersonCreateParams.ScriptNames.Kanji kanji) { - this.kanji = kanji; - return this; + Type(String value) { + this.value = value; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kana { + public static class SecondaryVerification { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6131,18 +1866,26 @@ public static class Kana { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - String givenName; + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - /** The person's last or family name. */ - @SerializedName("surname") - String surname; + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - private Kana(Map extraParams, String givenName, String surname) { + private SecondaryVerification( + Map extraParams, FrontBack frontBack, Type type) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.frontBack = frontBack; + this.type = type; } public static Builder builder() { @@ -6152,21 +1895,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String givenName; + private FrontBack frontBack; - private String surname; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.ScriptNames.Kana build() { - return new PersonCreateParams.ScriptNames.Kana( - this.extraParams, this.givenName, this.surname); + public PersonCreateParams.Documents.SecondaryVerification build() { + return new PersonCreateParams.Documents.SecondaryVerification( + this.extraParams, this.frontBack, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.ScriptNames.Kana#extraParams} for the field - * documentation. + * map. See {@link PersonCreateParams.Documents.SecondaryVerification#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6179,8 +1922,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.ScriptNames.Kana#extraParams} for the field - * documentation. + * map. See {@link PersonCreateParams.Documents.SecondaryVerification#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6190,23 +1933,154 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + PersonCreateParams.Documents.SecondaryVerification.FrontBack frontBack) { + this.frontBack = frontBack; + return this; + } + + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + public Builder setType(PersonCreateParams.Documents.SecondaryVerification.Type type) { + this.type = type; return this; } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload token + * representing the back of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; + + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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 FrontBack(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 PersonCreateParams.Documents.SecondaryVerification.FrontBack build() { + return new PersonCreateParams.Documents.SecondaryVerification.FrontBack( + this.back, this.extraParams, this.front); + } + + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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 + * PersonCreateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PersonCreateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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; + } + } + } - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; - return this; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kanji { + public static class Visa { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6216,18 +2090,25 @@ public static class Kanji { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - String givenName; + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - /** The person's last or family name. */ - @SerializedName("surname") - String surname; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - private Kanji(Map extraParams, String givenName, String surname) { + private Visa(Map extraParams, List files, Type type) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.files = files; + this.type = type; } public static Builder builder() { @@ -6237,20 +2118,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String givenName; + private List files; - private String surname; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public PersonCreateParams.ScriptNames.Kanji build() { - return new PersonCreateParams.ScriptNames.Kanji( - this.extraParams, this.givenName, this.surname); + public PersonCreateParams.Documents.Visa build() { + return new PersonCreateParams.Documents.Visa(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.ScriptNames.Kanji#extraParams} for the field + * map. See {@link PersonCreateParams.Documents.Visa#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6264,7 +2144,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonCreateParams.ScriptNames.Kanji#extraParams} for the field + * map. See {@link PersonCreateParams.Documents.Visa#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -6275,794 +2155,1105 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; + /** + * 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 + * PersonCreateParams.Documents.Visa#files} for the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); return this; } - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** + * 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 + * PersonCreateParams.Documents.Visa#files} for the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); return this; } - } - } - } - public enum LegalGender implements ApiRequestParams.EnumParam { - @SerializedName("female") - FEMALE("female"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + public Builder setType(PersonCreateParams.Documents.Visa.Type type) { + this.type = type; + return this; + } + } - @SerializedName("male") - MALE("male"); + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - LegalGender(String value) { - this.value = value; + Type(String value) { + this.value = value; + } + } } } - public enum Nationality implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdNumber { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("eh") - EH("eh"), + /** Required. The ID number type of an individual. */ + @SerializedName("type") + Type type; - @SerializedName("er") - ER("er"), + /** Required. The value of the ID number. */ + @SerializedName("value") + String value; - @SerializedName("es") - ES("es"), + private IdNumber(Map extraParams, Type type, String value) { + this.extraParams = extraParams; + this.type = type; + this.value = value; + } - @SerializedName("et") - ET("et"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("fi") - FI("fi"), + public static class Builder { + private Map extraParams; - @SerializedName("fj") - FJ("fj"), + private Type type; - @SerializedName("fk") - FK("fk"), + private String value; - @SerializedName("fm") - FM("fm"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.IdNumber build() { + return new PersonCreateParams.IdNumber(this.extraParams, this.type, this.value); + } - @SerializedName("fo") - FO("fo"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.IdNumber#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("fr") - FR("fr"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.IdNumber#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ga") - GA("ga"), + /** Required. The ID number type of an individual. */ + public Builder setType(PersonCreateParams.IdNumber.Type type) { + this.type = type; + return this; + } - @SerializedName("gb") - GB("gb"), + /** Required. The value of the ID number. */ + public Builder setValue(String value) { + this.value = value; + return this; + } + } - @SerializedName("gd") - GD("gd"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ae_eid") + AE_EID("ae_eid"), - @SerializedName("ge") - GE("ge"), + @SerializedName("ao_nif") + AO_NIF("ao_nif"), - @SerializedName("gf") - GF("gf"), + @SerializedName("az_tin") + AZ_TIN("az_tin"), - @SerializedName("gg") - GG("gg"), + @SerializedName("bd_brc") + BD_BRC("bd_brc"), - @SerializedName("gh") - GH("gh"), + @SerializedName("bd_etin") + BD_ETIN("bd_etin"), - @SerializedName("gi") - GI("gi"), + @SerializedName("bd_nid") + BD_NID("bd_nid"), - @SerializedName("gl") - GL("gl"), + @SerializedName("br_cpf") + BR_CPF("br_cpf"), - @SerializedName("gm") - GM("gm"), + @SerializedName("cr_cpf") + CR_CPF("cr_cpf"), - @SerializedName("gn") - GN("gn"), + @SerializedName("cr_dimex") + CR_DIMEX("cr_dimex"), - @SerializedName("gp") - GP("gp"), + @SerializedName("cr_nite") + CR_NITE("cr_nite"), - @SerializedName("gq") - GQ("gq"), + @SerializedName("de_stn") + DE_STN("de_stn"), - @SerializedName("gr") - GR("gr"), + @SerializedName("do_rcn") + DO_RCN("do_rcn"), - @SerializedName("gs") - GS("gs"), + @SerializedName("gt_nit") + GT_NIT("gt_nit"), - @SerializedName("gt") - GT("gt"), + @SerializedName("hk_id") + HK_ID("hk_id"), - @SerializedName("gu") - GU("gu"), + @SerializedName("kz_iin") + KZ_IIN("kz_iin"), - @SerializedName("gw") - GW("gw"), + @SerializedName("mx_rfc") + MX_RFC("mx_rfc"), - @SerializedName("gy") - GY("gy"), + @SerializedName("my_nric") + MY_NRIC("my_nric"), - @SerializedName("hk") - HK("hk"), + @SerializedName("mz_nuit") + MZ_NUIT("mz_nuit"), - @SerializedName("hm") - HM("hm"), + @SerializedName("nl_bsn") + NL_BSN("nl_bsn"), - @SerializedName("hn") - HN("hn"), + @SerializedName("pe_dni") + PE_DNI("pe_dni"), - @SerializedName("hr") - HR("hr"), + @SerializedName("pk_cnic") + PK_CNIC("pk_cnic"), - @SerializedName("ht") - HT("ht"), + @SerializedName("pk_snic") + PK_SNIC("pk_snic"), - @SerializedName("hu") - HU("hu"), + @SerializedName("sa_tin") + SA_TIN("sa_tin"), - @SerializedName("id") - ID("id"), + @SerializedName("sg_fin") + SG_FIN("sg_fin"), - @SerializedName("ie") - IE("ie"), + @SerializedName("sg_nric") + SG_NRIC("sg_nric"), - @SerializedName("il") - IL("il"), + @SerializedName("th_lc") + TH_LC("th_lc"), - @SerializedName("im") - IM("im"), + @SerializedName("th_pin") + TH_PIN("th_pin"), - @SerializedName("in") - IN("in"), + @SerializedName("us_itin") + US_ITIN("us_itin"), - @SerializedName("io") - IO("io"), + @SerializedName("us_itin_last_4") + US_ITIN_LAST_4("us_itin_last_4"), - @SerializedName("iq") - IQ("iq"), + @SerializedName("us_ssn") + US_SSN("us_ssn"), - @SerializedName("ir") - IR("ir"), + @SerializedName("us_ssn_last_4") + US_SSN_LAST_4("us_ssn_last_4"); - @SerializedName("is") - IS("is"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("it") - IT("it"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("je") - JE("je"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Relationship { + /** Whether the individual is an authorizer of the Account’s legal entity. */ + @SerializedName("authorizer") + Boolean authorizer; - @SerializedName("jm") - JM("jm"), + /** Indicates whether the person is a director of the associated legal entity. */ + @SerializedName("director") + Boolean director; - @SerializedName("jo") - JO("jo"), + /** Indicates whether the person is an executive of the associated legal entity. */ + @SerializedName("executive") + Boolean executive; - @SerializedName("jp") - JP("jp"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ke") - KE("ke"), + /** Indicates whether the person is a legal guardian of the associated legal entity. */ + @SerializedName("legal_guardian") + Boolean legalGuardian; - @SerializedName("kg") - KG("kg"), + /** Indicates whether the person is an owner of the associated legal entity. */ + @SerializedName("owner") + Boolean owner; - @SerializedName("kh") - KH("kh"), + /** The percentage of ownership the person has in the associated legal entity. */ + @SerializedName("percent_ownership") + BigDecimal percentOwnership; - @SerializedName("ki") - KI("ki"), + /** Indicates whether the person is a representative of the associated legal entity. */ + @SerializedName("representative") + Boolean representative; - @SerializedName("km") - KM("km"), + /** The title or position the person holds in the associated legal entity. */ + @SerializedName("title") + String title; - @SerializedName("kn") - KN("kn"), + private Relationship( + Boolean authorizer, + Boolean director, + Boolean executive, + Map extraParams, + Boolean legalGuardian, + Boolean owner, + BigDecimal percentOwnership, + Boolean representative, + String title) { + this.authorizer = authorizer; + this.director = director; + this.executive = executive; + this.extraParams = extraParams; + this.legalGuardian = legalGuardian; + this.owner = owner; + this.percentOwnership = percentOwnership; + this.representative = representative; + this.title = title; + } - @SerializedName("kp") - KP("kp"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("kr") - KR("kr"), + public static class Builder { + private Boolean authorizer; - @SerializedName("kw") - KW("kw"), + private Boolean director; - @SerializedName("ky") - KY("ky"), + private Boolean executive; - @SerializedName("kz") - KZ("kz"), + private Map extraParams; - @SerializedName("la") - LA("la"), + private Boolean legalGuardian; - @SerializedName("lb") - LB("lb"), + private Boolean owner; - @SerializedName("lc") - LC("lc"), + private BigDecimal percentOwnership; - @SerializedName("li") - LI("li"), + private Boolean representative; - @SerializedName("lk") - LK("lk"), + private String title; - @SerializedName("lr") - LR("lr"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.Relationship build() { + return new PersonCreateParams.Relationship( + this.authorizer, + this.director, + this.executive, + this.extraParams, + this.legalGuardian, + this.owner, + this.percentOwnership, + this.representative, + this.title); + } - @SerializedName("ls") - LS("ls"), + /** Whether the individual is an authorizer of the Account’s legal entity. */ + public Builder setAuthorizer(Boolean authorizer) { + this.authorizer = authorizer; + return this; + } - @SerializedName("lt") - LT("lt"), + /** Indicates whether the person is a director of the associated legal entity. */ + public Builder setDirector(Boolean director) { + this.director = director; + return this; + } - @SerializedName("lu") - LU("lu"), + /** Indicates whether the person is an executive of the associated legal entity. */ + public Builder setExecutive(Boolean executive) { + this.executive = executive; + return this; + } - @SerializedName("lv") - LV("lv"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.Relationship#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ly") - LY("ly"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.Relationship#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ma") - MA("ma"), + /** Indicates whether the person is a legal guardian of the associated legal entity. */ + public Builder setLegalGuardian(Boolean legalGuardian) { + this.legalGuardian = legalGuardian; + return this; + } - @SerializedName("mc") - MC("mc"), + /** Indicates whether the person is an owner of the associated legal entity. */ + public Builder setOwner(Boolean owner) { + this.owner = owner; + return this; + } - @SerializedName("md") - MD("md"), + /** The percentage of ownership the person has in the associated legal entity. */ + public Builder setPercentOwnership(BigDecimal percentOwnership) { + this.percentOwnership = percentOwnership; + return this; + } - @SerializedName("me") - ME("me"), + /** Indicates whether the person is a representative of the associated legal entity. */ + public Builder setRepresentative(Boolean representative) { + this.representative = representative; + return this; + } - @SerializedName("mf") - MF("mf"), + /** The title or position the person holds in the associated legal entity. */ + public Builder setTitle(String title) { + this.title = title; + return this; + } + } + } - @SerializedName("mg") - MG("mg"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptAddresses { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mh") - MH("mh"), + /** Kana Address. */ + @SerializedName("kana") + Kana kana; - @SerializedName("mk") - MK("mk"), + /** Kanji Address. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("ml") - ML("ml"), + private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("mm") - MM("mm"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mn") - MN("mn"), + public static class Builder { + private Map extraParams; - @SerializedName("mo") - MO("mo"), + private Kana kana; - @SerializedName("mp") - MP("mp"), + private Kanji kanji; - @SerializedName("mq") - MQ("mq"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.ScriptAddresses build() { + return new PersonCreateParams.ScriptAddresses(this.extraParams, this.kana, this.kanji); + } - @SerializedName("mr") - MR("mr"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.ScriptAddresses#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ms") - MS("ms"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.ScriptAddresses#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mt") - MT("mt"), + /** Kana Address. */ + public Builder setKana(PersonCreateParams.ScriptAddresses.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("mu") - MU("mu"), + /** Kanji Address. */ + public Builder setKanji(PersonCreateParams.ScriptAddresses.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("mv") - MV("mv"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("mw") - MW("mw"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("mx") - MX("mx"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("my") - MY("my"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("mz") - MZ("mz"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("na") - NA("na"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("nc") - NC("nc"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("ne") - NE("ne"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("nf") - NF("nf"), + private Kana( + 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; + } - @SerializedName("ng") - NG("ng"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ni") - NI("ni"), + public static class Builder { + private String city; - @SerializedName("nl") - NL("nl"), + private String country; - @SerializedName("no") - NO("no"), + private Map extraParams; - @SerializedName("np") - NP("np"), + private String line1; - @SerializedName("nr") - NR("nr"), + private String line2; - @SerializedName("nu") - NU("nu"), + private String postalCode; - @SerializedName("nz") - NZ("nz"), + private String state; - @SerializedName("om") - OM("om"), + private String town; - @SerializedName("pa") - PA("pa"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.ScriptAddresses.Kana build() { + return new PersonCreateParams.ScriptAddresses.Kana( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("pe") - PE("pe"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("pf") - PF("pf"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("pg") - PG("pg"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptAddresses.Kana#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ph") - PH("ph"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptAddresses.Kana#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("pk") - PK("pk"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("pl") - PL("pl"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("pm") - PM("pm"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("pn") - PN("pn"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("pr") - PR("pr"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } - @SerializedName("ps") - PS("ps"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - @SerializedName("pt") - PT("pt"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - @SerializedName("pw") - PW("pw"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("py") - PY("py"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - @SerializedName("qa") - QA("qa"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; - @SerializedName("qz") - QZ("qz"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; - @SerializedName("re") - RE("re"), + /** State, county, province, or region. */ + @SerializedName("state") + String state; - @SerializedName("ro") - RO("ro"), + /** Town or cho-me. */ + @SerializedName("town") + String town; - @SerializedName("rs") - RS("rs"), + private Kanji( + 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; + } - @SerializedName("ru") - RU("ru"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("rw") - RW("rw"), + public static class Builder { + private String city; - @SerializedName("sa") - SA("sa"), + private String country; - @SerializedName("sb") - SB("sb"), + private Map extraParams; - @SerializedName("sc") - SC("sc"), + private String line1; - @SerializedName("sd") - SD("sd"), + private String line2; - @SerializedName("se") - SE("se"), + private String postalCode; - @SerializedName("sg") - SG("sg"), + private String state; - @SerializedName("sh") - SH("sh"), + private String town; - @SerializedName("si") - SI("si"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.ScriptAddresses.Kanji build() { + return new PersonCreateParams.ScriptAddresses.Kanji( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("sj") - SJ("sj"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("sk") - SK("sk"), + /** + * Required. Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("sl") - SL("sl"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptAddresses.Kanji#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sm") - SM("sm"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptAddresses.Kanji#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sn") - SN("sn"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("so") - SO("so"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("sr") - SR("sr"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("ss") - SS("ss"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("st") - ST("st"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } + } + } + } - @SerializedName("sv") - SV("sv"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptNames { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sx") - SX("sx"), + /** Persons name in kana script. */ + @SerializedName("kana") + Kana kana; - @SerializedName("sy") - SY("sy"), + /** Persons name in kanji script. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("sz") - SZ("sz"), + private ScriptNames(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("tc") - TC("tc"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("td") - TD("td"), + public static class Builder { + private Map extraParams; - @SerializedName("tf") - TF("tf"), + private Kana kana; - @SerializedName("tg") - TG("tg"), + private Kanji kanji; - @SerializedName("th") - TH("th"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.ScriptNames build() { + return new PersonCreateParams.ScriptNames(this.extraParams, this.kana, this.kanji); + } - @SerializedName("tj") - TJ("tj"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonCreateParams.ScriptNames#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tk") - TK("tk"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonCreateParams.ScriptNames#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tl") - TL("tl"), + /** Persons name in kana script. */ + public Builder setKana(PersonCreateParams.ScriptNames.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("tm") - TM("tm"), + /** Persons name in kanji script. */ + public Builder setKanji(PersonCreateParams.ScriptNames.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("tn") - TN("tn"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("to") - TO("to"), + /** The person's first or given name. */ + @SerializedName("given_name") + String givenName; - @SerializedName("tr") - TR("tr"), + /** The person's last or family name. */ + @SerializedName("surname") + String surname; - @SerializedName("tt") - TT("tt"), + private Kana(Map extraParams, String givenName, String surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("tv") - TV("tv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("tw") - TW("tw"), + public static class Builder { + private Map extraParams; - @SerializedName("tz") - TZ("tz"), + private String givenName; - @SerializedName("ua") - UA("ua"), + private String surname; - @SerializedName("ug") - UG("ug"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.ScriptNames.Kana build() { + return new PersonCreateParams.ScriptNames.Kana( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("um") - UM("um"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("us") - US("us"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("uy") - UY("uy"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("uz") - UZ("uz"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } + } + } - @SerializedName("va") - VA("va"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("vc") - VC("vc"), + /** The person's first or given name. */ + @SerializedName("given_name") + String givenName; - @SerializedName("ve") - VE("ve"), + /** The person's last or family name. */ + @SerializedName("surname") + String surname; - @SerializedName("vg") - VG("vg"), + private Kanji(Map extraParams, String givenName, String surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("vi") - VI("vi"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vn") - VN("vn"), + public static class Builder { + private Map extraParams; - @SerializedName("vu") - VU("vu"), + private String givenName; - @SerializedName("wf") - WF("wf"), + private String surname; - @SerializedName("ws") - WS("ws"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonCreateParams.ScriptNames.Kanji build() { + return new PersonCreateParams.ScriptNames.Kanji( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("xx") - XX("xx"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ye") - YE("ye"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonCreateParams.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("yt") - YT("yt"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("za") - ZA("za"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } + } + } + } - @SerializedName("zm") - ZM("zm"), + public enum LegalGender implements ApiRequestParams.EnumParam { + @SerializedName("female") + FEMALE("female"), - @SerializedName("zw") - ZW("zw"); + @SerializedName("male") + MALE("male"); @Getter(onMethod_ = {@Override}) private final String value; - Nationality(String value) { + LegalGender(String value) { this.value = value; } } diff --git a/src/main/java/com/stripe/param/v2/core/accounts/PersonListParams.java b/src/main/java/com/stripe/param/v2/core/accounts/PersonListParams.java index 5bd85271b4b..c27d8412a60 100644 --- a/src/main/java/com/stripe/param/v2/core/accounts/PersonListParams.java +++ b/src/main/java/com/stripe/param/v2/core/accounts/PersonListParams.java @@ -22,9 +22,9 @@ public class PersonListParams extends ApiRequestParams { /** The upper limit on the number of accounts returned by the List Account request. */ @SerializedName("limit") - Integer limit; + Long limit; - private PersonListParams(Map extraParams, Integer limit) { + private PersonListParams(Map extraParams, Long limit) { this.extraParams = extraParams; this.limit = limit; } @@ -36,7 +36,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public PersonListParams build() { @@ -70,7 +70,7 @@ public Builder putAllExtraParam(Map map) { } /** The upper limit on the number of accounts returned by the List Account request. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/core/accounts/PersonUpdateParams.java b/src/main/java/com/stripe/param/v2/core/accounts/PersonUpdateParams.java index 3cfc266cc5a..45700552040 100644 --- a/src/main/java/com/stripe/param/v2/core/accounts/PersonUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/core/accounts/PersonUpdateParams.java @@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; import com.stripe.param.common.EmptyParam; +import java.math.BigDecimal; import java.time.Instant; import java.util.ArrayList; import java.util.HashMap; @@ -76,7 +77,7 @@ public class PersonUpdateParams extends ApiRequestParams { /** The nationalities (countries) this person is associated with. */ @SerializedName("nationalities") - List nationalities; + List nationalities; /** The phone number for this person. */ @SerializedName("phone") @@ -92,11 +93,11 @@ public class PersonUpdateParams extends ApiRequestParams { /** The script addresses (e.g., non-Latin characters) associated with the person. */ @SerializedName("script_addresses") - Object scriptAddresses; + ScriptAddresses scriptAddresses; /** The script names (e.g. non-Latin characters) associated with the person. */ @SerializedName("script_names") - Object scriptNames; + ScriptNames scriptNames; /** The person's last name. */ @SerializedName("surname") @@ -115,12 +116,12 @@ private PersonUpdateParams( List idNumbers, LegalGender legalGender, Map metadata, - List nationalities, + List nationalities, Object phone, PoliticalExposure politicalExposure, Relationship relationship, - Object scriptAddresses, - Object scriptNames, + ScriptAddresses scriptAddresses, + ScriptNames scriptNames, Object surname) { this.additionalAddresses = additionalAddresses; this.additionalNames = additionalNames; @@ -172,7 +173,7 @@ public static class Builder { private Map metadata; - private List nationalities; + private List nationalities; private Object phone; @@ -180,9 +181,9 @@ public static class Builder { private Relationship relationship; - private Object scriptAddresses; + private ScriptAddresses scriptAddresses; - private Object scriptNames; + private ScriptNames scriptNames; private Object surname; @@ -421,7 +422,7 @@ public Builder putAllMetadata(Map map) { * call, and subsequent calls adds additional elements to the original list. See {@link * PersonUpdateParams#nationalities} for the field documentation. */ - public Builder addNationality(PersonUpdateParams.Nationality element) { + public Builder addNationality(String element) { if (this.nationalities == null) { this.nationalities = new ArrayList<>(); } @@ -434,7 +435,7 @@ public Builder addNationality(PersonUpdateParams.Nationality element) { * call, and subsequent calls adds additional elements to the original list. See {@link * PersonUpdateParams#nationalities} for the field documentation. */ - public Builder addAllNationality(List elements) { + public Builder addAllNationality(List elements) { if (this.nationalities == null) { this.nationalities = new ArrayList<>(); } @@ -472,24 +473,12 @@ public Builder setScriptAddresses(PersonUpdateParams.ScriptAddresses scriptAddre return this; } - /** The script addresses (e.g., non-Latin characters) associated with the person. */ - public Builder setScriptAddresses(EmptyParam scriptAddresses) { - this.scriptAddresses = scriptAddresses; - return this; - } - /** The script names (e.g. non-Latin characters) associated with the person. */ public Builder setScriptNames(PersonUpdateParams.ScriptNames scriptNames) { this.scriptNames = scriptNames; return this; } - /** The script names (e.g. non-Latin characters) associated with the person. */ - public Builder setScriptNames(EmptyParam scriptNames) { - this.scriptNames = scriptNames; - return this; - } - /** The person's last name. */ public Builder setSurname(String surname) { this.surname = surname; @@ -515,7 +504,7 @@ public static class AdditionalAddress { * 3166-1 alpha-2). */ @SerializedName("country") - ApiRequestParams.EnumParam country; + Object country; /** * Map of extra parameters for custom features not available in this client library. The content @@ -552,7 +541,7 @@ public static class AdditionalAddress { private AdditionalAddress( Object city, - ApiRequestParams.EnumParam country, + Object country, Map extraParams, Object line1, Object line2, @@ -578,7 +567,7 @@ public static Builder builder() { public static class Builder { private Object city; - private ApiRequestParams.EnumParam country; + private Object country; private Map extraParams; @@ -624,7 +613,7 @@ public Builder setCity(EmptyParam city) { * Two-letter country code (ISO * 3166-1 alpha-2). */ - public Builder setCountry(PersonUpdateParams.AdditionalAddress.Country country) { + public Builder setCountry(String country) { this.country = country; return this; } @@ -731,5762 +720,1326 @@ public Builder setTown(EmptyParam town) { } } - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("registered") + REGISTERED("registered"); - @SerializedName("af") - AF("af"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("ag") - AG("ag"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("ai") - AI("ai"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalName { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("al") - AL("al"), + /** The person's full name. */ + @SerializedName("full_name") + Object fullName; - @SerializedName("am") - AM("am"), + /** The person's first or given name. */ + @SerializedName("given_name") + Object givenName; - @SerializedName("ao") - AO("ao"), + /** Required. The purpose or type of the additional name. */ + @SerializedName("purpose") + Purpose purpose; - @SerializedName("aq") - AQ("aq"), + /** The person's last or family name. */ + @SerializedName("surname") + Object surname; - @SerializedName("ar") - AR("ar"), + private AdditionalName( + Map extraParams, + Object fullName, + Object givenName, + Purpose purpose, + Object surname) { + this.extraParams = extraParams; + this.fullName = fullName; + this.givenName = givenName; + this.purpose = purpose; + this.surname = surname; + } - @SerializedName("as") - AS("as"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("at") - AT("at"), + public static class Builder { + private Map extraParams; - @SerializedName("au") - AU("au"), + private Object fullName; - @SerializedName("aw") - AW("aw"), + private Object givenName; - @SerializedName("ax") - AX("ax"), + private Purpose purpose; - @SerializedName("az") - AZ("az"), + private Object surname; - @SerializedName("ba") - BA("ba"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.AdditionalName build() { + return new PersonUpdateParams.AdditionalName( + this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); + } - @SerializedName("bb") - BB("bb"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.AdditionalName#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("bd") - BD("bd"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.AdditionalName#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("be") - BE("be"), + /** The person's full name. */ + public Builder setFullName(String fullName) { + this.fullName = fullName; + return this; + } - @SerializedName("bf") - BF("bf"), + /** The person's full name. */ + public Builder setFullName(EmptyParam fullName) { + this.fullName = fullName; + return this; + } - @SerializedName("bg") - BG("bg"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("bh") - BH("bh"), + /** The person's first or given name. */ + public Builder setGivenName(EmptyParam givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("bi") - BI("bi"), + /** Required. The purpose or type of the additional name. */ + public Builder setPurpose(PersonUpdateParams.AdditionalName.Purpose purpose) { + this.purpose = purpose; + return this; + } - @SerializedName("bj") - BJ("bj"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } - @SerializedName("bl") - BL("bl"), + /** The person's last or family name. */ + public Builder setSurname(EmptyParam surname) { + this.surname = surname; + return this; + } + } - @SerializedName("bm") - BM("bm"), + public enum Purpose implements ApiRequestParams.EnumParam { + @SerializedName("alias") + ALIAS("alias"), - @SerializedName("bn") - BN("bn"), + @SerializedName("maiden") + MAIDEN("maiden"); - @SerializedName("bo") - BO("bo"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("bq") - BQ("bq"), + Purpose(String value) { + this.value = value; + } + } + } - @SerializedName("br") - BR("br"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AdditionalTermsOfService { + /** Stripe terms of service agreement. */ + @SerializedName("account") + Account account; - @SerializedName("bs") - BS("bs"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("bt") - BT("bt"), + private AdditionalTermsOfService(Account account, Map extraParams) { + this.account = account; + this.extraParams = extraParams; + } - @SerializedName("bv") - BV("bv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bw") - BW("bw"), + public static class Builder { + private Account account; - @SerializedName("by") - BY("by"), + private Map extraParams; - @SerializedName("bz") - BZ("bz"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.AdditionalTermsOfService build() { + return new PersonUpdateParams.AdditionalTermsOfService(this.account, this.extraParams); + } - @SerializedName("ca") - CA("ca"), + /** Stripe terms of service agreement. */ + public Builder setAccount(PersonUpdateParams.AdditionalTermsOfService.Account account) { + this.account = account; + return this; + } - @SerializedName("cc") - CC("cc"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.AdditionalTermsOfService#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cd") - CD("cd"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.AdditionalTermsOfService#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - @SerializedName("cf") - CF("cf"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Account { + /** + * The time when the Account's representative accepted the terms of service. Represented as a + * RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - @SerializedName("cg") - CG("cg"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ch") - CH("ch"), + /** The IP address from which the Account's representative accepted the terms of service. */ + @SerializedName("ip") + Object ip; - @SerializedName("ci") - CI("ci"), + /** + * The user agent of the browser from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("user_agent") + Object userAgent; - @SerializedName("ck") - CK("ck"), + private Account(Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("cl") - CL("cl"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("cm") - CM("cm"), + public static class Builder { + private Instant date; - @SerializedName("cn") - CN("cn"), + private Map extraParams; - @SerializedName("co") - CO("co"), + private Object ip; - @SerializedName("cr") - CR("cr"), + private Object userAgent; - @SerializedName("cu") - CU("cu"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.AdditionalTermsOfService.Account build() { + return new PersonUpdateParams.AdditionalTermsOfService.Account( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("cv") - CV("cv"), + /** + * The time when the Account's representative accepted the terms of service. Represented as + * a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } - @SerializedName("cw") - CW("cw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.AdditionalTermsOfService.Account#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cx") - CX("cx"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.AdditionalTermsOfService.Account#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("cy") - CY("cy"), + /** The IP address from which the Account's representative accepted the terms of service. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("cz") - CZ("cz"), + /** The IP address from which the Account's representative accepted the terms of service. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - @SerializedName("de") - DE("de"), + /** + * The user agent of the browser from which the Account's representative accepted the terms + * of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - @SerializedName("dj") - DJ("dj"), + /** + * The user agent of the browser from which the Account's representative accepted the terms + * of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } - @SerializedName("dk") - DK("dk"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("dm") - DM("dm"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("do") - DO("do"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("dz") - DZ("dz"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("ec") - EC("ec"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("ee") - EE("ee"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("eg") - EG("eg"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("eh") - EH("eh"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("er") - ER("er"), + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("es") - ES("es"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("et") - ET("et"), + public static class Builder { + private Object city; - @SerializedName("fi") - FI("fi"), + private Object country; - @SerializedName("fj") - FJ("fj"), + private Map extraParams; - @SerializedName("fk") - FK("fk"), + private Object line1; - @SerializedName("fm") - FM("fm"), + private Object line2; - @SerializedName("fo") - FO("fo"), + private Object postalCode; - @SerializedName("fr") - FR("fr"), + private Object state; - @SerializedName("ga") - GA("ga"), + private Object town; - @SerializedName("gb") - GB("gb"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Address build() { + return new PersonUpdateParams.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("gd") - GD("gd"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("ge") - GE("ge"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("gf") - GF("gf"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("gg") - GG("gg"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("gh") - GH("gh"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.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; + } - @SerializedName("gi") - GI("gi"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.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; + } - @SerializedName("gl") - GL("gl"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("gm") - GM("gm"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("gn") - GN("gn"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("gp") - GP("gp"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("gq") - GQ("gq"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("gr") - GR("gr"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("gs") - GS("gs"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("gt") - GT("gt"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("gu") - GU("gu"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("gw") - GW("gw"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } - @SerializedName("gy") - GY("gy"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class DateOfBirth { + /** Required. The day of the birth. */ + @SerializedName("day") + Long day; - @SerializedName("hk") - HK("hk"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("hm") - HM("hm"), + /** Required. The month of birth. */ + @SerializedName("month") + Long month; - @SerializedName("hn") - HN("hn"), + /** Required. The year of birth. */ + @SerializedName("year") + Long year; - @SerializedName("hr") - HR("hr"), + private DateOfBirth(Long day, Map extraParams, Long month, Long year) { + this.day = day; + this.extraParams = extraParams; + this.month = month; + this.year = year; + } - @SerializedName("ht") - HT("ht"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("hu") - HU("hu"), + public static class Builder { + private Long day; - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), + private Map extraParams; - @SerializedName("it") - IT("it"), + private Long month; - @SerializedName("je") - JE("je"), + private Long year; - @SerializedName("jm") - JM("jm"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.DateOfBirth build() { + return new PersonUpdateParams.DateOfBirth( + this.day, this.extraParams, this.month, this.year); + } - @SerializedName("jo") - JO("jo"), + /** Required. The day of the birth. */ + public Builder setDay(Long day) { + this.day = day; + return this; + } - @SerializedName("jp") - JP("jp"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.DateOfBirth#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ke") - KE("ke"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.DateOfBirth#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("kg") - KG("kg"), + /** Required. The month of birth. */ + public Builder setMonth(Long month) { + this.month = month; + return this; + } - @SerializedName("kh") - KH("kh"), + /** Required. The year of birth. */ + public Builder setYear(Long year) { + this.year = year; + return this; + } + } + } - @SerializedName("ki") - KI("ki"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Documents { + /** + * One or more documents that demonstrate proof that this person is authorized to represent the + * company. + */ + @SerializedName("company_authorization") + CompanyAuthorization companyAuthorization; - @SerializedName("km") - KM("km"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("kn") - KN("kn"), + /** One or more documents showing the person’s passport page with photo and personal data. */ + @SerializedName("passport") + Passport passport; - @SerializedName("kp") - KP("kp"), + /** An identifying document showing the person's name, either a passport or local ID card. */ + @SerializedName("primary_verification") + PrimaryVerification primaryVerification; - @SerializedName("kr") - KR("kr"), + /** + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. + */ + @SerializedName("secondary_verification") + SecondaryVerification secondaryVerification; - @SerializedName("kw") - KW("kw"), + /** + * One or more documents showing the person’s visa required for living in the country where they + * are residing. + */ + @SerializedName("visa") + Visa visa; - @SerializedName("ky") - KY("ky"), + private Documents( + CompanyAuthorization companyAuthorization, + Map extraParams, + Passport passport, + PrimaryVerification primaryVerification, + SecondaryVerification secondaryVerification, + Visa visa) { + this.companyAuthorization = companyAuthorization; + this.extraParams = extraParams; + this.passport = passport; + this.primaryVerification = primaryVerification; + this.secondaryVerification = secondaryVerification; + this.visa = visa; + } - @SerializedName("kz") - KZ("kz"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("la") - LA("la"), + public static class Builder { + private CompanyAuthorization companyAuthorization; - @SerializedName("lb") - LB("lb"), + private Map extraParams; - @SerializedName("lc") - LC("lc"), + private Passport passport; - @SerializedName("li") - LI("li"), + private PrimaryVerification primaryVerification; - @SerializedName("lk") - LK("lk"), + private SecondaryVerification secondaryVerification; - @SerializedName("lr") - LR("lr"), + private Visa visa; - @SerializedName("ls") - LS("ls"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Documents build() { + return new PersonUpdateParams.Documents( + this.companyAuthorization, + this.extraParams, + this.passport, + this.primaryVerification, + this.secondaryVerification, + this.visa); + } - @SerializedName("lt") - LT("lt"), + /** + * One or more documents that demonstrate proof that this person is authorized to represent + * the company. + */ + public Builder setCompanyAuthorization( + PersonUpdateParams.Documents.CompanyAuthorization companyAuthorization) { + this.companyAuthorization = companyAuthorization; + return this; + } - @SerializedName("lu") - LU("lu"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.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; + } - @SerializedName("lv") - LV("lv"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.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; + } - @SerializedName("ly") - LY("ly"), + /** One or more documents showing the person’s passport page with photo and personal data. */ + public Builder setPassport(PersonUpdateParams.Documents.Passport passport) { + this.passport = passport; + return this; + } - @SerializedName("ma") - MA("ma"), + /** An identifying document showing the person's name, either a passport or local ID card. */ + public Builder setPrimaryVerification( + PersonUpdateParams.Documents.PrimaryVerification primaryVerification) { + this.primaryVerification = primaryVerification; + return this; + } - @SerializedName("mc") - MC("mc"), + /** + * A document showing address, either a passport, local ID card, or utility bill from a + * well-known utility company. + */ + public Builder setSecondaryVerification( + PersonUpdateParams.Documents.SecondaryVerification secondaryVerification) { + this.secondaryVerification = secondaryVerification; + return this; + } - @SerializedName("md") - MD("md"), + /** + * One or more documents showing the person’s visa required for living in the country where + * they are residing. + */ + public Builder setVisa(PersonUpdateParams.Documents.Visa visa) { + this.visa = visa; + return this; + } + } - @SerializedName("me") - ME("me"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CompanyAuthorization { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("mf") - MF("mf"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("mg") - MG("mg"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("mh") - MH("mh"), + private CompanyAuthorization(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("mk") - MK("mk"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ml") - ML("ml"), + public static class Builder { + private Map extraParams; - @SerializedName("mm") - MM("mm"), + private List files; - @SerializedName("mn") - MN("mn"), + private Type type; - @SerializedName("mo") - MO("mo"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Documents.CompanyAuthorization build() { + return new PersonUpdateParams.Documents.CompanyAuthorization( + this.extraParams, this.files, this.type); + } - @SerializedName("mp") - MP("mp"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.CompanyAuthorization#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("mq") - MQ("mq"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.CompanyAuthorization#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("mr") - MR("mr"), + /** + * 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 + * PersonUpdateParams.Documents.CompanyAuthorization#files} for the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("registered") - REGISTERED("registered"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Purpose(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AdditionalName { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 person's full name. */ - @SerializedName("full_name") - Object fullName; - - /** The person's first or given name. */ - @SerializedName("given_name") - Object givenName; - - /** Required. The purpose or type of the additional name. */ - @SerializedName("purpose") - Purpose purpose; - - /** The person's last or family name. */ - @SerializedName("surname") - Object surname; - - private AdditionalName( - Map extraParams, - Object fullName, - Object givenName, - Purpose purpose, - Object surname) { - this.extraParams = extraParams; - this.fullName = fullName; - this.givenName = givenName; - this.purpose = purpose; - this.surname = surname; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Object fullName; - - private Object givenName; - - private Purpose purpose; - - private Object surname; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.AdditionalName build() { - return new PersonUpdateParams.AdditionalName( - this.extraParams, this.fullName, this.givenName, this.purpose, this.surname); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PersonUpdateParams.AdditionalName#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonUpdateParams.AdditionalName#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 person's full name. */ - public Builder setFullName(String fullName) { - this.fullName = fullName; - return this; - } - - /** The person's full name. */ - public Builder setFullName(EmptyParam fullName) { - this.fullName = fullName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(EmptyParam givenName) { - this.givenName = givenName; - return this; - } - - /** Required. The purpose or type of the additional name. */ - public Builder setPurpose(PersonUpdateParams.AdditionalName.Purpose purpose) { - this.purpose = purpose; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; - return this; - } - - /** The person's last or family name. */ - public Builder setSurname(EmptyParam surname) { - this.surname = surname; - return this; - } - } - - public enum Purpose implements ApiRequestParams.EnumParam { - @SerializedName("alias") - ALIAS("alias"), - - @SerializedName("maiden") - MAIDEN("maiden"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Purpose(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AdditionalTermsOfService { - /** Stripe terms of service agreement. */ - @SerializedName("account") - Account account; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private AdditionalTermsOfService(Account account, Map extraParams) { - this.account = account; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Account account; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.AdditionalTermsOfService build() { - return new PersonUpdateParams.AdditionalTermsOfService(this.account, this.extraParams); - } - - /** Stripe terms of service agreement. */ - public Builder setAccount(PersonUpdateParams.AdditionalTermsOfService.Account account) { - this.account = account; - 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 - * PersonUpdateParams.AdditionalTermsOfService#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonUpdateParams.AdditionalTermsOfService#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Account { - /** - * The time when the Account's representative accepted the terms of service. Represented as a - * RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - @SerializedName("date") - Instant date; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The IP address from which the Account's representative accepted the terms of service. */ - @SerializedName("ip") - Object ip; - - /** - * The user agent of the browser from which the Account's representative accepted the terms of - * service. - */ - @SerializedName("user_agent") - Object userAgent; - - private Account(Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Instant date; - - private Map extraParams; - - private Object ip; - - private Object userAgent; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.AdditionalTermsOfService.Account build() { - return new PersonUpdateParams.AdditionalTermsOfService.Account( - this.date, this.extraParams, this.ip, this.userAgent); - } - - /** - * The time when the Account's representative accepted the terms of service. Represented as - * a RFC 3339 date & time UTC value in millisecond precision, for example: - * 2022-09-18T13:22:18.123Z. - */ - public Builder setDate(Instant date) { - this.date = date; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.AdditionalTermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.AdditionalTermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** The IP address from which the Account's representative accepted the terms of service. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } - - /** The IP address from which the Account's representative accepted the terms of service. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the terms - * of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - - /** - * The user agent of the browser from which the Account's representative accepted the terms - * of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam 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") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or cho-me. */ - @SerializedName("town") - Object town; - - private Address( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object city; - - private ApiRequestParams.EnumParam country; - - private Map extraParams; - - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Address build() { - return new PersonUpdateParams.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(PersonUpdateParams.Address.Country country) { - this.country = country; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam 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 - * PersonUpdateParams.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 PersonUpdateParams.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 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class DateOfBirth { - /** Required. The day of the birth. */ - @SerializedName("day") - Integer day; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The month of birth. */ - @SerializedName("month") - Integer month; - - /** Required. The year of birth. */ - @SerializedName("year") - Integer year; - - private DateOfBirth(Integer day, Map extraParams, Integer month, Integer year) { - this.day = day; - this.extraParams = extraParams; - this.month = month; - this.year = year; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Integer day; - - private Map extraParams; - - private Integer month; - - private Integer year; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.DateOfBirth build() { - return new PersonUpdateParams.DateOfBirth( - this.day, this.extraParams, this.month, this.year); - } - - /** Required. The day of the birth. */ - public Builder setDay(Integer day) { - this.day = day; - 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 - * PersonUpdateParams.DateOfBirth#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonUpdateParams.DateOfBirth#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The month of birth. */ - public Builder setMonth(Integer month) { - this.month = month; - return this; - } - - /** Required. The year of birth. */ - public Builder setYear(Integer year) { - this.year = year; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Documents { - /** - * One or more documents that demonstrate proof that this person is authorized to represent the - * company. - */ - @SerializedName("company_authorization") - CompanyAuthorization companyAuthorization; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 person’s passport page with photo and personal data. */ - @SerializedName("passport") - Passport passport; - - /** An identifying document showing the person's name, either a passport or local ID card. */ - @SerializedName("primary_verification") - Object primaryVerification; - - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - @SerializedName("secondary_verification") - Object secondaryVerification; - - /** - * One or more documents showing the person’s visa required for living in the country where they - * are residing. - */ - @SerializedName("visa") - Visa visa; - - private Documents( - CompanyAuthorization companyAuthorization, - Map extraParams, - Passport passport, - Object primaryVerification, - Object secondaryVerification, - Visa visa) { - this.companyAuthorization = companyAuthorization; - this.extraParams = extraParams; - this.passport = passport; - this.primaryVerification = primaryVerification; - this.secondaryVerification = secondaryVerification; - this.visa = visa; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private CompanyAuthorization companyAuthorization; - - private Map extraParams; - - private Passport passport; - - private Object primaryVerification; - - private Object secondaryVerification; - - private Visa visa; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents build() { - return new PersonUpdateParams.Documents( - this.companyAuthorization, - this.extraParams, - this.passport, - this.primaryVerification, - this.secondaryVerification, - this.visa); - } - - /** - * One or more documents that demonstrate proof that this person is authorized to represent - * the company. - */ - public Builder setCompanyAuthorization( - PersonUpdateParams.Documents.CompanyAuthorization companyAuthorization) { - this.companyAuthorization = companyAuthorization; - 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 - * PersonUpdateParams.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 PersonUpdateParams.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 person’s passport page with photo and personal data. */ - public Builder setPassport(PersonUpdateParams.Documents.Passport passport) { - this.passport = passport; - return this; - } - - /** An identifying document showing the person's name, either a passport or local ID card. */ - public Builder setPrimaryVerification( - PersonUpdateParams.Documents.PrimaryVerification primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** An identifying document showing the person's name, either a passport or local ID card. */ - public Builder setPrimaryVerification(EmptyParam primaryVerification) { - this.primaryVerification = primaryVerification; - return this; - } - - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - public Builder setSecondaryVerification( - PersonUpdateParams.Documents.SecondaryVerification secondaryVerification) { - this.secondaryVerification = secondaryVerification; - return this; - } - - /** - * A document showing address, either a passport, local ID card, or utility bill from a - * well-known utility company. - */ - public Builder setSecondaryVerification(EmptyParam secondaryVerification) { - this.secondaryVerification = secondaryVerification; - return this; - } - - /** - * One or more documents showing the person’s visa required for living in the country where - * they are residing. - */ - public Builder setVisa(PersonUpdateParams.Documents.Visa visa) { - this.visa = visa; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CompanyAuthorization { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private CompanyAuthorization(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents.CompanyAuthorization build() { - return new PersonUpdateParams.Documents.CompanyAuthorization( - this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.CompanyAuthorization#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.CompanyAuthorization#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 - * PersonUpdateParams.Documents.CompanyAuthorization#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 - * PersonUpdateParams.Documents.CompanyAuthorization#files} for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - public Builder setType(PersonUpdateParams.Documents.CompanyAuthorization.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Passport { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private Passport(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents.Passport build() { - return new PersonUpdateParams.Documents.Passport(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.Passport#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.Passport#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 - * PersonUpdateParams.Documents.Passport#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 - * PersonUpdateParams.Documents.Passport#files} for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - public Builder setType(PersonUpdateParams.Documents.Passport.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PrimaryVerification { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - @SerializedName("type") - Type type; - - private PrimaryVerification(Map extraParams, FrontBack frontBack, Type type) { - this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FrontBack frontBack; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents.PrimaryVerification build() { - return new PersonUpdateParams.Documents.PrimaryVerification( - this.extraParams, this.frontBack, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.PrimaryVerification#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.PrimaryVerification#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - PersonUpdateParams.Documents.PrimaryVerification.FrontBack frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - public Builder setType(PersonUpdateParams.Documents.PrimaryVerification.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload token - * representing the back of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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") - Object 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; - - /** - * A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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") - Object front; - - private FrontBack(Object back, Map extraParams, Object front) { - this.back = back; - this.extraParams = extraParams; - this.front = front; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object back; - - private Map extraParams; - - private Object front; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents.PrimaryVerification.FrontBack build() { - return new PersonUpdateParams.Documents.PrimaryVerification.FrontBack( - this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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; - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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(EmptyParam 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 PersonUpdateParams.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.PrimaryVerification.FrontBack#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * A file upload - * token representing the front of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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; - } - - /** - * A file upload - * token representing the front of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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(EmptyParam front) { - this.front = front; - return this; - } - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class SecondaryVerification { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - @SerializedName("front_back") - FrontBack frontBack; - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - @SerializedName("type") - Type type; - - private SecondaryVerification( - Map extraParams, FrontBack frontBack, Type type) { - this.extraParams = extraParams; - this.frontBack = frontBack; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private FrontBack frontBack; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents.SecondaryVerification build() { - return new PersonUpdateParams.Documents.SecondaryVerification( - this.extraParams, this.frontBack, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.SecondaryVerification#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.SecondaryVerification#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. The file upload tokens - * referring to each side of the document. - */ - public Builder setFrontBack( - PersonUpdateParams.Documents.SecondaryVerification.FrontBack frontBack) { - this.frontBack = frontBack; - return this; - } - - /** - * Required. The format of the verification document. Currently supports - * {@code front_back} only. - */ - public Builder setType(PersonUpdateParams.Documents.SecondaryVerification.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FrontBack { - /** - * A file upload token - * representing the back of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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") - Object 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; - - /** - * A file upload token - * representing the front of the verification document. The purpose of the uploaded file - * should be 'identity_document'. 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") - Object front; - - private FrontBack(Object back, Map extraParams, Object front) { - this.back = back; - this.extraParams = extraParams; - this.front = front; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object back; - - private Map extraParams; - - private Object front; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents.SecondaryVerification.FrontBack build() { - return new PersonUpdateParams.Documents.SecondaryVerification.FrontBack( - this.back, this.extraParams, this.front); - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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; - } - - /** - * A file upload - * token representing the back of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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(EmptyParam 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 - * PersonUpdateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * PersonUpdateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * A file upload - * token representing the front of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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; - } - - /** - * A file upload - * token representing the front of the verification document. The purpose of the uploaded - * file should be 'identity_document'. 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(EmptyParam front) { - this.front = front; - return this; - } - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("front_back") - FRONT_BACK("front_back"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Visa { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. One or more document IDs returned by a file upload with a - * purpose value of {@code account_requirement}. - */ - @SerializedName("files") - List files; - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - @SerializedName("type") - Type type; - - private Visa(Map extraParams, List files, Type type) { - this.extraParams = extraParams; - this.files = files; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private List files; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Documents.Visa build() { - return new PersonUpdateParams.Documents.Visa(this.extraParams, this.files, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.Visa#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.Documents.Visa#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 - * PersonUpdateParams.Documents.Visa#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 - * PersonUpdateParams.Documents.Visa#files} for the field documentation. - */ - public Builder addAllFile(List elements) { - if (this.files == null) { - this.files = new ArrayList<>(); - } - this.files.addAll(elements); - return this; - } - - /** - * Required. The format of the document. Currently supports {@code files} - * only. - */ - public Builder setType(PersonUpdateParams.Documents.Visa.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("files") - FILES("files"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class IdNumber { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The ID number type of an individual. */ - @SerializedName("type") - Type type; - - /** Required. The value of the ID number. */ - @SerializedName("value") - Object value; - - private IdNumber(Map extraParams, Type type, Object value) { - this.extraParams = extraParams; - this.type = type; - this.value = value; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Type type; - - private Object value; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.IdNumber build() { - return new PersonUpdateParams.IdNumber(this.extraParams, this.type, this.value); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PersonUpdateParams.IdNumber#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonUpdateParams.IdNumber#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The ID number type of an individual. */ - public Builder setType(PersonUpdateParams.IdNumber.Type type) { - this.type = type; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(String value) { - this.value = value; - return this; - } - - /** Required. The value of the ID number. */ - public Builder setValue(EmptyParam value) { - this.value = value; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("ae_eid") - AE_EID("ae_eid"), - - @SerializedName("ao_nif") - AO_NIF("ao_nif"), - - @SerializedName("az_tin") - AZ_TIN("az_tin"), - - @SerializedName("bd_brc") - BD_BRC("bd_brc"), - - @SerializedName("bd_etin") - BD_ETIN("bd_etin"), - - @SerializedName("bd_nid") - BD_NID("bd_nid"), - - @SerializedName("br_cpf") - BR_CPF("br_cpf"), - - @SerializedName("cr_cpf") - CR_CPF("cr_cpf"), - - @SerializedName("cr_dimex") - CR_DIMEX("cr_dimex"), - - @SerializedName("cr_nite") - CR_NITE("cr_nite"), - - @SerializedName("de_stn") - DE_STN("de_stn"), - - @SerializedName("do_rcn") - DO_RCN("do_rcn"), - - @SerializedName("gt_nit") - GT_NIT("gt_nit"), - - @SerializedName("hk_id") - HK_ID("hk_id"), - - @SerializedName("kz_iin") - KZ_IIN("kz_iin"), - - @SerializedName("mx_rfc") - MX_RFC("mx_rfc"), - - @SerializedName("my_nric") - MY_NRIC("my_nric"), - - @SerializedName("mz_nuit") - MZ_NUIT("mz_nuit"), - - @SerializedName("nl_bsn") - NL_BSN("nl_bsn"), - - @SerializedName("pe_dni") - PE_DNI("pe_dni"), - - @SerializedName("pk_cnic") - PK_CNIC("pk_cnic"), - - @SerializedName("pk_snic") - PK_SNIC("pk_snic"), - - @SerializedName("sa_tin") - SA_TIN("sa_tin"), - - @SerializedName("sg_fin") - SG_FIN("sg_fin"), - - @SerializedName("sg_nric") - SG_NRIC("sg_nric"), - - @SerializedName("th_lc") - TH_LC("th_lc"), - - @SerializedName("th_pin") - TH_PIN("th_pin"), - - @SerializedName("us_itin") - US_ITIN("us_itin"), - - @SerializedName("us_itin_last_4") - US_ITIN_LAST_4("us_itin_last_4"), - - @SerializedName("us_ssn") - US_SSN("us_ssn"), - - @SerializedName("us_ssn_last_4") - US_SSN_LAST_4("us_ssn_last_4"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Relationship { - /** Whether the individual is an authorizer of the Account’s legal entity. */ - @SerializedName("authorizer") - Boolean authorizer; - - /** Indicates whether the person is a director of the associated legal entity. */ - @SerializedName("director") - Boolean director; - - /** Indicates whether the person is an executive of the associated legal entity. */ - @SerializedName("executive") - Boolean executive; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Indicates whether the person is a legal guardian of the associated legal entity. */ - @SerializedName("legal_guardian") - Boolean legalGuardian; - - /** Indicates whether the person is an owner of the associated legal entity. */ - @SerializedName("owner") - Boolean owner; - - /** The percentage of ownership the person has in the associated legal entity. */ - @SerializedName("percent_ownership") - Object percentOwnership; - - /** Indicates whether the person is a representative of the associated legal entity. */ - @SerializedName("representative") - Boolean representative; - - /** The title or position the person holds in the associated legal entity. */ - @SerializedName("title") - Object title; - - private Relationship( - Boolean authorizer, - Boolean director, - Boolean executive, - Map extraParams, - Boolean legalGuardian, - Boolean owner, - Object percentOwnership, - Boolean representative, - Object title) { - this.authorizer = authorizer; - this.director = director; - this.executive = executive; - this.extraParams = extraParams; - this.legalGuardian = legalGuardian; - this.owner = owner; - this.percentOwnership = percentOwnership; - this.representative = representative; - this.title = title; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean authorizer; - - private Boolean director; - - private Boolean executive; - - private Map extraParams; - - private Boolean legalGuardian; - - private Boolean owner; - - private Object percentOwnership; - - private Boolean representative; - - private Object title; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.Relationship build() { - return new PersonUpdateParams.Relationship( - this.authorizer, - this.director, - this.executive, - this.extraParams, - this.legalGuardian, - this.owner, - this.percentOwnership, - this.representative, - this.title); - } - - /** Whether the individual is an authorizer of the Account’s legal entity. */ - public Builder setAuthorizer(Boolean authorizer) { - this.authorizer = authorizer; - return this; - } - - /** Indicates whether the person is a director of the associated legal entity. */ - public Builder setDirector(Boolean director) { - this.director = director; - return this; - } - - /** Indicates whether the person is an executive of the associated legal entity. */ - public Builder setExecutive(Boolean executive) { - this.executive = executive; - 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 - * PersonUpdateParams.Relationship#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonUpdateParams.Relationship#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Indicates whether the person is a legal guardian of the associated legal entity. */ - public Builder setLegalGuardian(Boolean legalGuardian) { - this.legalGuardian = legalGuardian; - return this; - } - - /** Indicates whether the person is an owner of the associated legal entity. */ - public Builder setOwner(Boolean owner) { - this.owner = owner; - return this; - } - - /** The percentage of ownership the person has in the associated legal entity. */ - public Builder setPercentOwnership(String percentOwnership) { - this.percentOwnership = percentOwnership; - return this; - } - - /** The percentage of ownership the person has in the associated legal entity. */ - public Builder setPercentOwnership(EmptyParam percentOwnership) { - this.percentOwnership = percentOwnership; - return this; - } - - /** Indicates whether the person is a representative of the associated legal entity. */ - public Builder setRepresentative(Boolean representative) { - this.representative = representative; - return this; - } - - /** The title or position the person holds in the associated legal entity. */ - public Builder setTitle(String title) { - this.title = title; - return this; - } - - /** The title or position the person holds in the associated legal entity. */ - public Builder setTitle(EmptyParam title) { - this.title = title; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptAddresses { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Kana Address. */ - @SerializedName("kana") - Object kana; - - /** Kanji Address. */ - @SerializedName("kanji") - Object kanji; - - private ScriptAddresses(Map extraParams, Object kana, Object kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Object kana; - - private Object kanji; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.ScriptAddresses build() { - return new PersonUpdateParams.ScriptAddresses(this.extraParams, this.kana, this.kanji); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PersonUpdateParams.ScriptAddresses#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonUpdateParams.ScriptAddresses#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Kana Address. */ - public Builder setKana(PersonUpdateParams.ScriptAddresses.Kana kana) { - this.kana = kana; - return this; - } - - /** Kana Address. */ - public Builder setKana(EmptyParam kana) { - this.kana = kana; - return this; - } - - /** Kanji Address. */ - public Builder setKanji(PersonUpdateParams.ScriptAddresses.Kanji kanji) { - this.kanji = kanji; - return this; - } - - /** Kanji Address. */ - public Builder setKanji(EmptyParam kanji) { - this.kanji = kanji; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kana { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam 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") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or cho-me. */ - @SerializedName("town") - Object town; - - private Kana( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object city; - - private ApiRequestParams.EnumParam country; - - private Map extraParams; - - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.ScriptAddresses.Kana build() { - return new PersonUpdateParams.ScriptAddresses.Kana( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(PersonUpdateParams.ScriptAddresses.Kana.Country country) { - this.country = country; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam 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 PersonUpdateParams.ScriptAddresses.Kana#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.ScriptAddresses.Kana#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), - - @SerializedName("td") - TD("td"), - - @SerializedName("tf") - TF("tf"), - - @SerializedName("tg") - TG("tg"), - - @SerializedName("th") - TH("th"), - - @SerializedName("tj") - TJ("tj"), - - @SerializedName("tk") - TK("tk"), - - @SerializedName("tl") - TL("tl"), - - @SerializedName("tm") - TM("tm"), - - @SerializedName("tn") - TN("tn"), - - @SerializedName("to") - TO("to"), - - @SerializedName("tr") - TR("tr"), - - @SerializedName("tt") - TT("tt"), - - @SerializedName("tv") - TV("tv"), - - @SerializedName("tw") - TW("tw"), - - @SerializedName("tz") - TZ("tz"), - - @SerializedName("ua") - UA("ua"), - - @SerializedName("ug") - UG("ug"), - - @SerializedName("um") - UM("um"), - - @SerializedName("us") - US("us"), - - @SerializedName("uy") - UY("uy"), - - @SerializedName("uz") - UZ("uz"), - - @SerializedName("va") - VA("va"), - - @SerializedName("vc") - VC("vc"), - - @SerializedName("ve") - VE("ve"), - - @SerializedName("vg") - VG("vg"), - - @SerializedName("vi") - VI("vi"), - - @SerializedName("vn") - VN("vn"), - - @SerializedName("vu") - VU("vu"), - - @SerializedName("wf") - WF("wf"), - - @SerializedName("ws") - WS("ws"), - - @SerializedName("xx") - XX("xx"), - - @SerializedName("ye") - YE("ye"), - - @SerializedName("yt") - YT("yt"), - - @SerializedName("za") - ZA("za"), - - @SerializedName("zm") - ZM("zm"), - - @SerializedName("zw") - ZW("zw"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Country(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Kanji { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - ApiRequestParams.EnumParam 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") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or cho-me. */ - @SerializedName("town") - Object town; - - private Kanji( - Object city, - ApiRequestParams.EnumParam country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object city; - - private ApiRequestParams.EnumParam country; - - private Map extraParams; - - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; - - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.ScriptAddresses.Kanji build() { - return new PersonUpdateParams.ScriptAddresses.Kanji( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(PersonUpdateParams.ScriptAddresses.Kanji.Country country) { - this.country = country; - return this; - } - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam 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 PersonUpdateParams.ScriptAddresses.Kanji#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.ScriptAddresses.Kanji#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 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(EmptyParam line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(EmptyParam line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } - - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } - - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; - return this; - } - } - - public enum Country implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), - - @SerializedName("ck") - CK("ck"), - - @SerializedName("cl") - CL("cl"), - - @SerializedName("cm") - CM("cm"), - - @SerializedName("cn") - CN("cn"), - - @SerializedName("co") - CO("co"), - - @SerializedName("cr") - CR("cr"), - - @SerializedName("cu") - CU("cu"), - - @SerializedName("cv") - CV("cv"), - - @SerializedName("cw") - CW("cw"), - - @SerializedName("cx") - CX("cx"), - - @SerializedName("cy") - CY("cy"), - - @SerializedName("cz") - CZ("cz"), - - @SerializedName("de") - DE("de"), - - @SerializedName("dj") - DJ("dj"), - - @SerializedName("dk") - DK("dk"), - - @SerializedName("dm") - DM("dm"), - - @SerializedName("do") - DO("do"), - - @SerializedName("dz") - DZ("dz"), - - @SerializedName("ec") - EC("ec"), - - @SerializedName("ee") - EE("ee"), - - @SerializedName("eg") - EG("eg"), - - @SerializedName("eh") - EH("eh"), - - @SerializedName("er") - ER("er"), - - @SerializedName("es") - ES("es"), - - @SerializedName("et") - ET("et"), - - @SerializedName("fi") - FI("fi"), - - @SerializedName("fj") - FJ("fj"), - - @SerializedName("fk") - FK("fk"), - - @SerializedName("fm") - FM("fm"), - - @SerializedName("fo") - FO("fo"), - - @SerializedName("fr") - FR("fr"), - - @SerializedName("ga") - GA("ga"), - - @SerializedName("gb") - GB("gb"), - - @SerializedName("gd") - GD("gd"), - - @SerializedName("ge") - GE("ge"), - - @SerializedName("gf") - GF("gf"), - - @SerializedName("gg") - GG("gg"), - - @SerializedName("gh") - GH("gh"), - - @SerializedName("gi") - GI("gi"), - - @SerializedName("gl") - GL("gl"), - - @SerializedName("gm") - GM("gm"), - - @SerializedName("gn") - GN("gn"), - - @SerializedName("gp") - GP("gp"), - - @SerializedName("gq") - GQ("gq"), - - @SerializedName("gr") - GR("gr"), - - @SerializedName("gs") - GS("gs"), - - @SerializedName("gt") - GT("gt"), - - @SerializedName("gu") - GU("gu"), - - @SerializedName("gw") - GW("gw"), - - @SerializedName("gy") - GY("gy"), - - @SerializedName("hk") - HK("hk"), - - @SerializedName("hm") - HM("hm"), - - @SerializedName("hn") - HN("hn"), - - @SerializedName("hr") - HR("hr"), - - @SerializedName("ht") - HT("ht"), - - @SerializedName("hu") - HU("hu"), - - @SerializedName("id") - ID("id"), - - @SerializedName("ie") - IE("ie"), - - @SerializedName("il") - IL("il"), - - @SerializedName("im") - IM("im"), - - @SerializedName("in") - IN("in"), - - @SerializedName("io") - IO("io"), - - @SerializedName("iq") - IQ("iq"), - - @SerializedName("ir") - IR("ir"), - - @SerializedName("is") - IS("is"), - - @SerializedName("it") - IT("it"), - - @SerializedName("je") - JE("je"), - - @SerializedName("jm") - JM("jm"), - - @SerializedName("jo") - JO("jo"), - - @SerializedName("jp") - JP("jp"), - - @SerializedName("ke") - KE("ke"), - - @SerializedName("kg") - KG("kg"), - - @SerializedName("kh") - KH("kh"), - - @SerializedName("ki") - KI("ki"), - - @SerializedName("km") - KM("km"), - - @SerializedName("kn") - KN("kn"), - - @SerializedName("kp") - KP("kp"), - - @SerializedName("kr") - KR("kr"), - - @SerializedName("kw") - KW("kw"), - - @SerializedName("ky") - KY("ky"), - - @SerializedName("kz") - KZ("kz"), - - @SerializedName("la") - LA("la"), - - @SerializedName("lb") - LB("lb"), - - @SerializedName("lc") - LC("lc"), - - @SerializedName("li") - LI("li"), - - @SerializedName("lk") - LK("lk"), - - @SerializedName("lr") - LR("lr"), - - @SerializedName("ls") - LS("ls"), - - @SerializedName("lt") - LT("lt"), - - @SerializedName("lu") - LU("lu"), - - @SerializedName("lv") - LV("lv"), - - @SerializedName("ly") - LY("ly"), - - @SerializedName("ma") - MA("ma"), - - @SerializedName("mc") - MC("mc"), - - @SerializedName("md") - MD("md"), - - @SerializedName("me") - ME("me"), - - @SerializedName("mf") - MF("mf"), - - @SerializedName("mg") - MG("mg"), - - @SerializedName("mh") - MH("mh"), - - @SerializedName("mk") - MK("mk"), - - @SerializedName("ml") - ML("ml"), - - @SerializedName("mm") - MM("mm"), - - @SerializedName("mn") - MN("mn"), - - @SerializedName("mo") - MO("mo"), - - @SerializedName("mp") - MP("mp"), - - @SerializedName("mq") - MQ("mq"), - - @SerializedName("mr") - MR("mr"), - - @SerializedName("ms") - MS("ms"), - - @SerializedName("mt") - MT("mt"), - - @SerializedName("mu") - MU("mu"), - - @SerializedName("mv") - MV("mv"), - - @SerializedName("mw") - MW("mw"), - - @SerializedName("mx") - MX("mx"), - - @SerializedName("my") - MY("my"), - - @SerializedName("mz") - MZ("mz"), - - @SerializedName("na") - NA("na"), - - @SerializedName("nc") - NC("nc"), - - @SerializedName("ne") - NE("ne"), - - @SerializedName("nf") - NF("nf"), - - @SerializedName("ng") - NG("ng"), - - @SerializedName("ni") - NI("ni"), - - @SerializedName("nl") - NL("nl"), - - @SerializedName("no") - NO("no"), - - @SerializedName("np") - NP("np"), - - @SerializedName("nr") - NR("nr"), - - @SerializedName("nu") - NU("nu"), - - @SerializedName("nz") - NZ("nz"), - - @SerializedName("om") - OM("om"), - - @SerializedName("pa") - PA("pa"), - - @SerializedName("pe") - PE("pe"), - - @SerializedName("pf") - PF("pf"), - - @SerializedName("pg") - PG("pg"), - - @SerializedName("ph") - PH("ph"), - - @SerializedName("pk") - PK("pk"), - - @SerializedName("pl") - PL("pl"), - - @SerializedName("pm") - PM("pm"), - - @SerializedName("pn") - PN("pn"), - - @SerializedName("pr") - PR("pr"), - - @SerializedName("ps") - PS("ps"), - - @SerializedName("pt") - PT("pt"), - - @SerializedName("pw") - PW("pw"), - - @SerializedName("py") - PY("py"), - - @SerializedName("qa") - QA("qa"), - - @SerializedName("qz") - QZ("qz"), - - @SerializedName("re") - RE("re"), - - @SerializedName("ro") - RO("ro"), - - @SerializedName("rs") - RS("rs"), - - @SerializedName("ru") - RU("ru"), - - @SerializedName("rw") - RW("rw"), - - @SerializedName("sa") - SA("sa"), - - @SerializedName("sb") - SB("sb"), - - @SerializedName("sc") - SC("sc"), - - @SerializedName("sd") - SD("sd"), - - @SerializedName("se") - SE("se"), - - @SerializedName("sg") - SG("sg"), - - @SerializedName("sh") - SH("sh"), - - @SerializedName("si") - SI("si"), - - @SerializedName("sj") - SJ("sj"), - - @SerializedName("sk") - SK("sk"), - - @SerializedName("sl") - SL("sl"), - - @SerializedName("sm") - SM("sm"), - - @SerializedName("sn") - SN("sn"), - - @SerializedName("so") - SO("so"), - - @SerializedName("sr") - SR("sr"), - - @SerializedName("ss") - SS("ss"), - - @SerializedName("st") - ST("st"), - - @SerializedName("sv") - SV("sv"), - - @SerializedName("sx") - SX("sx"), - - @SerializedName("sy") - SY("sy"), - - @SerializedName("sz") - SZ("sz"), - - @SerializedName("tc") - TC("tc"), + /** + * 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 + * PersonUpdateParams.Documents.CompanyAuthorization#files} for the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("td") - TD("td"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + public Builder setType(PersonUpdateParams.Documents.CompanyAuthorization.Type type) { + this.type = type; + return this; + } + } - @SerializedName("tf") - TF("tf"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("tg") - TG("tg"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("th") - TH("th"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("tj") - TJ("tj"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Passport { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tk") - TK("tk"), + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - @SerializedName("tl") - TL("tl"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - @SerializedName("tm") - TM("tm"), + private Passport(Map extraParams, List files, Type type) { + this.extraParams = extraParams; + this.files = files; + this.type = type; + } - @SerializedName("tn") - TN("tn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("to") - TO("to"), + public static class Builder { + private Map extraParams; - @SerializedName("tr") - TR("tr"), + private List files; - @SerializedName("tt") - TT("tt"), + private Type type; - @SerializedName("tv") - TV("tv"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Documents.Passport build() { + return new PersonUpdateParams.Documents.Passport(this.extraParams, this.files, this.type); + } - @SerializedName("tw") - TW("tw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tz") - TZ("tz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.Passport#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ua") - UA("ua"), + /** + * 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 + * PersonUpdateParams.Documents.Passport#files} for the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); + return this; + } - @SerializedName("ug") - UG("ug"), + /** + * 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 + * PersonUpdateParams.Documents.Passport#files} for the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); + return this; + } - @SerializedName("um") - UM("um"), + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + public Builder setType(PersonUpdateParams.Documents.Passport.Type type) { + this.type = type; + return this; + } + } - @SerializedName("us") - US("us"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @SerializedName("uy") - UY("uy"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("uz") - UZ("uz"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("va") - VA("va"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrimaryVerification { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("vc") - VC("vc"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - @SerializedName("ve") - VE("ve"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - @SerializedName("vg") - VG("vg"), + private PrimaryVerification(Map extraParams, FrontBack frontBack, Type type) { + this.extraParams = extraParams; + this.frontBack = frontBack; + this.type = type; + } - @SerializedName("vi") - VI("vi"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vn") - VN("vn"), + public static class Builder { + private Map extraParams; - @SerializedName("vu") - VU("vu"), + private FrontBack frontBack; - @SerializedName("wf") - WF("wf"), + private Type type; - @SerializedName("ws") - WS("ws"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Documents.PrimaryVerification build() { + return new PersonUpdateParams.Documents.PrimaryVerification( + this.extraParams, this.frontBack, this.type); + } - @SerializedName("xx") - XX("xx"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.PrimaryVerification#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ye") - YE("ye"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.PrimaryVerification#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("yt") - YT("yt"), + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + PersonUpdateParams.Documents.PrimaryVerification.FrontBack frontBack) { + this.frontBack = frontBack; + return this; + } - @SerializedName("za") - ZA("za"), + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + public Builder setType(PersonUpdateParams.Documents.PrimaryVerification.Type type) { + this.type = type; + return this; + } + } - @SerializedName("zm") - ZM("zm"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload token + * representing the back of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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") + Object back; - @SerializedName("zw") - ZW("zw"); + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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") + Object front; - Country(String value) { - this.value = value; + private FrontBack(Object back, Map extraParams, Object front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ScriptNames { - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static Builder builder() { + return new Builder(); + } - /** Persons name in kana script. */ - @SerializedName("kana") - Object kana; + public static class Builder { + private Object back; - /** Persons name in kanji script. */ - @SerializedName("kanji") - Object kanji; + private Map extraParams; - private ScriptNames(Map extraParams, Object kana, Object kanji) { - this.extraParams = extraParams; - this.kana = kana; - this.kanji = kanji; - } + private Object front; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Documents.PrimaryVerification.FrontBack build() { + return new PersonUpdateParams.Documents.PrimaryVerification.FrontBack( + this.back, this.extraParams, this.front); + } - public static class Builder { - private Map extraParams; + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } - private Object kana; + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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(EmptyParam back) { + this.back = back; + return this; + } - private Object kanji; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.ScriptNames build() { - return new PersonUpdateParams.ScriptNames(this.extraParams, this.kana, this.kanji); - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.Documents.PrimaryVerification.FrontBack#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * PersonUpdateParams.ScriptNames#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * A file upload + * token representing the front of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link PersonUpdateParams.ScriptNames#extraParams} for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * A file upload + * token representing the front of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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(EmptyParam front) { + this.front = front; + return this; + } } - this.extraParams.putAll(map); - return this; - } - - /** Persons name in kana script. */ - public Builder setKana(PersonUpdateParams.ScriptNames.Kana kana) { - this.kana = kana; - return this; } - /** Persons name in kana script. */ - public Builder setKana(EmptyParam kana) { - this.kana = kana; - return this; - } + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); - /** Persons name in kanji script. */ - public Builder setKanji(PersonUpdateParams.ScriptNames.Kanji kanji) { - this.kanji = kanji; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** Persons name in kanji script. */ - public Builder setKanji(EmptyParam kanji) { - this.kanji = kanji; - return this; + Type(String value) { + this.value = value; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kana { + public static class SecondaryVerification { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6496,18 +2049,26 @@ public static class Kana { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - Object givenName; + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + @SerializedName("front_back") + FrontBack frontBack; - /** The person's last or family name. */ - @SerializedName("surname") - Object surname; + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + @SerializedName("type") + Type type; - private Kana(Map extraParams, Object givenName, Object surname) { + private SecondaryVerification( + Map extraParams, FrontBack frontBack, Type type) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.frontBack = frontBack; + this.type = type; } public static Builder builder() { @@ -6517,21 +2078,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object givenName; + private FrontBack frontBack; - private Object surname; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.ScriptNames.Kana build() { - return new PersonUpdateParams.ScriptNames.Kana( - this.extraParams, this.givenName, this.surname); + public PersonUpdateParams.Documents.SecondaryVerification build() { + return new PersonUpdateParams.Documents.SecondaryVerification( + this.extraParams, this.frontBack, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.ScriptNames.Kana#extraParams} for the field - * documentation. + * map. See {@link PersonUpdateParams.Documents.SecondaryVerification#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6544,8 +2105,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.ScriptNames.Kana#extraParams} for the field - * documentation. + * map. See {@link PersonUpdateParams.Documents.SecondaryVerification#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6555,35 +2116,177 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; + /** + * Required. The file upload tokens + * referring to each side of the document. + */ + public Builder setFrontBack( + PersonUpdateParams.Documents.SecondaryVerification.FrontBack frontBack) { + this.frontBack = frontBack; return this; } - /** The person's first or given name. */ - public Builder setGivenName(EmptyParam givenName) { - this.givenName = givenName; + /** + * Required. The format of the verification document. Currently supports + * {@code front_back} only. + */ + public Builder setType(PersonUpdateParams.Documents.SecondaryVerification.Type type) { + this.type = type; return this; } + } - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrontBack { + /** + * A file upload token + * representing the back of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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") + Object 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; + + /** + * A file upload token + * representing the front of the verification document. The purpose of the uploaded file + * should be 'identity_document'. 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") + Object front; + + private FrontBack(Object back, Map extraParams, Object front) { + this.back = back; + this.extraParams = extraParams; + this.front = front; } - /** The person's last or family name. */ - public Builder setSurname(EmptyParam surname) { - this.surname = surname; - return this; + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object back; + + private Map extraParams; + + private Object front; + + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Documents.SecondaryVerification.FrontBack build() { + return new PersonUpdateParams.Documents.SecondaryVerification.FrontBack( + this.back, this.extraParams, this.front); + } + + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } + + /** + * A file upload + * token representing the back of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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(EmptyParam 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 + * PersonUpdateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PersonUpdateParams.Documents.SecondaryVerification.FrontBack#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * A file upload + * token representing the front of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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; + } + + /** + * A file upload + * token representing the front of the verification document. The purpose of the uploaded + * file should be 'identity_document'. 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(EmptyParam front) { + this.front = front; + return this; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("front_back") + FRONT_BACK("front_back"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Kanji { + public static class Visa { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6593,18 +2296,25 @@ public static class Kanji { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The person's first or given name. */ - @SerializedName("given_name") - Object givenName; + /** + * Required. One or more document IDs returned by a file upload with a + * purpose value of {@code account_requirement}. + */ + @SerializedName("files") + List files; - /** The person's last or family name. */ - @SerializedName("surname") - Object surname; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + @SerializedName("type") + Type type; - private Kanji(Map extraParams, Object givenName, Object surname) { + private Visa(Map extraParams, List files, Type type) { this.extraParams = extraParams; - this.givenName = givenName; - this.surname = surname; + this.files = files; + this.type = type; } public static Builder builder() { @@ -6614,20 +2324,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object givenName; + private List files; - private Object surname; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public PersonUpdateParams.ScriptNames.Kanji build() { - return new PersonUpdateParams.ScriptNames.Kanji( - this.extraParams, this.givenName, this.surname); + public PersonUpdateParams.Documents.Visa build() { + return new PersonUpdateParams.Documents.Visa(this.extraParams, this.files, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.ScriptNames.Kanji#extraParams} for the field + * map. See {@link PersonUpdateParams.Documents.Visa#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6641,7 +2350,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link PersonUpdateParams.ScriptNames.Kanji#extraParams} for the field + * map. See {@link PersonUpdateParams.Documents.Visa#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -6652,806 +2361,1237 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The person's first or given name. */ - public Builder setGivenName(String givenName) { - this.givenName = givenName; - return this; - } - - /** The person's first or given name. */ - public Builder setGivenName(EmptyParam givenName) { - this.givenName = givenName; + /** + * 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 + * PersonUpdateParams.Documents.Visa#files} for the field documentation. + */ + public Builder addFile(String element) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.add(element); return this; } - /** The person's last or family name. */ - public Builder setSurname(String surname) { - this.surname = surname; + /** + * 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 + * PersonUpdateParams.Documents.Visa#files} for the field documentation. + */ + public Builder addAllFile(List elements) { + if (this.files == null) { + this.files = new ArrayList<>(); + } + this.files.addAll(elements); return this; } - /** The person's last or family name. */ - public Builder setSurname(EmptyParam surname) { - this.surname = surname; + /** + * Required. The format of the document. Currently supports {@code files} + * only. + */ + public Builder setType(PersonUpdateParams.Documents.Visa.Type type) { + this.type = type; return this; } } - } - } - - public enum LegalGender implements ApiRequestParams.EnumParam { - @SerializedName("female") - FEMALE("female"), - @SerializedName("male") - MALE("male"); + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("files") + FILES("files"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - LegalGender(String value) { - this.value = value; + Type(String value) { + this.value = value; + } + } } } - public enum Nationality implements ApiRequestParams.EnumParam { - @SerializedName("ad") - AD("ad"), - - @SerializedName("ae") - AE("ae"), - - @SerializedName("af") - AF("af"), - - @SerializedName("ag") - AG("ag"), - - @SerializedName("ai") - AI("ai"), - - @SerializedName("al") - AL("al"), - - @SerializedName("am") - AM("am"), - - @SerializedName("ao") - AO("ao"), - - @SerializedName("aq") - AQ("aq"), - - @SerializedName("ar") - AR("ar"), - - @SerializedName("as") - AS("as"), - - @SerializedName("at") - AT("at"), - - @SerializedName("au") - AU("au"), - - @SerializedName("aw") - AW("aw"), - - @SerializedName("ax") - AX("ax"), - - @SerializedName("az") - AZ("az"), - - @SerializedName("ba") - BA("ba"), - - @SerializedName("bb") - BB("bb"), - - @SerializedName("bd") - BD("bd"), - - @SerializedName("be") - BE("be"), - - @SerializedName("bf") - BF("bf"), - - @SerializedName("bg") - BG("bg"), - - @SerializedName("bh") - BH("bh"), - - @SerializedName("bi") - BI("bi"), - - @SerializedName("bj") - BJ("bj"), - - @SerializedName("bl") - BL("bl"), - - @SerializedName("bm") - BM("bm"), - - @SerializedName("bn") - BN("bn"), - - @SerializedName("bo") - BO("bo"), - - @SerializedName("bq") - BQ("bq"), - - @SerializedName("br") - BR("br"), - - @SerializedName("bs") - BS("bs"), - - @SerializedName("bt") - BT("bt"), - - @SerializedName("bv") - BV("bv"), - - @SerializedName("bw") - BW("bw"), - - @SerializedName("by") - BY("by"), - - @SerializedName("bz") - BZ("bz"), - - @SerializedName("ca") - CA("ca"), - - @SerializedName("cc") - CC("cc"), - - @SerializedName("cd") - CD("cd"), - - @SerializedName("cf") - CF("cf"), - - @SerializedName("cg") - CG("cg"), - - @SerializedName("ch") - CH("ch"), - - @SerializedName("ci") - CI("ci"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class IdNumber { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ck") - CK("ck"), + /** Required. The ID number type of an individual. */ + @SerializedName("type") + Type type; - @SerializedName("cl") - CL("cl"), + /** Required. The value of the ID number. */ + @SerializedName("value") + Object value; - @SerializedName("cm") - CM("cm"), + private IdNumber(Map extraParams, Type type, Object value) { + this.extraParams = extraParams; + this.type = type; + this.value = value; + } - @SerializedName("cn") - CN("cn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("co") - CO("co"), + public static class Builder { + private Map extraParams; - @SerializedName("cr") - CR("cr"), + private Type type; - @SerializedName("cu") - CU("cu"), + private Object value; - @SerializedName("cv") - CV("cv"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.IdNumber build() { + return new PersonUpdateParams.IdNumber(this.extraParams, this.type, this.value); + } - @SerializedName("cw") - CW("cw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.IdNumber#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("cx") - CX("cx"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.IdNumber#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("cy") - CY("cy"), + /** Required. The ID number type of an individual. */ + public Builder setType(PersonUpdateParams.IdNumber.Type type) { + this.type = type; + return this; + } - @SerializedName("cz") - CZ("cz"), + /** Required. The value of the ID number. */ + public Builder setValue(String value) { + this.value = value; + return this; + } - @SerializedName("de") - DE("de"), + /** Required. The value of the ID number. */ + public Builder setValue(EmptyParam value) { + this.value = value; + return this; + } + } - @SerializedName("dj") - DJ("dj"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("ae_eid") + AE_EID("ae_eid"), - @SerializedName("dk") - DK("dk"), + @SerializedName("ao_nif") + AO_NIF("ao_nif"), - @SerializedName("dm") - DM("dm"), + @SerializedName("az_tin") + AZ_TIN("az_tin"), - @SerializedName("do") - DO("do"), + @SerializedName("bd_brc") + BD_BRC("bd_brc"), - @SerializedName("dz") - DZ("dz"), + @SerializedName("bd_etin") + BD_ETIN("bd_etin"), - @SerializedName("ec") - EC("ec"), + @SerializedName("bd_nid") + BD_NID("bd_nid"), - @SerializedName("ee") - EE("ee"), + @SerializedName("br_cpf") + BR_CPF("br_cpf"), - @SerializedName("eg") - EG("eg"), + @SerializedName("cr_cpf") + CR_CPF("cr_cpf"), - @SerializedName("eh") - EH("eh"), + @SerializedName("cr_dimex") + CR_DIMEX("cr_dimex"), - @SerializedName("er") - ER("er"), + @SerializedName("cr_nite") + CR_NITE("cr_nite"), - @SerializedName("es") - ES("es"), + @SerializedName("de_stn") + DE_STN("de_stn"), - @SerializedName("et") - ET("et"), + @SerializedName("do_rcn") + DO_RCN("do_rcn"), - @SerializedName("fi") - FI("fi"), + @SerializedName("gt_nit") + GT_NIT("gt_nit"), - @SerializedName("fj") - FJ("fj"), + @SerializedName("hk_id") + HK_ID("hk_id"), - @SerializedName("fk") - FK("fk"), + @SerializedName("kz_iin") + KZ_IIN("kz_iin"), - @SerializedName("fm") - FM("fm"), + @SerializedName("mx_rfc") + MX_RFC("mx_rfc"), - @SerializedName("fo") - FO("fo"), + @SerializedName("my_nric") + MY_NRIC("my_nric"), - @SerializedName("fr") - FR("fr"), + @SerializedName("mz_nuit") + MZ_NUIT("mz_nuit"), - @SerializedName("ga") - GA("ga"), + @SerializedName("nl_bsn") + NL_BSN("nl_bsn"), - @SerializedName("gb") - GB("gb"), + @SerializedName("pe_dni") + PE_DNI("pe_dni"), - @SerializedName("gd") - GD("gd"), + @SerializedName("pk_cnic") + PK_CNIC("pk_cnic"), - @SerializedName("ge") - GE("ge"), + @SerializedName("pk_snic") + PK_SNIC("pk_snic"), - @SerializedName("gf") - GF("gf"), + @SerializedName("sa_tin") + SA_TIN("sa_tin"), - @SerializedName("gg") - GG("gg"), + @SerializedName("sg_fin") + SG_FIN("sg_fin"), - @SerializedName("gh") - GH("gh"), + @SerializedName("sg_nric") + SG_NRIC("sg_nric"), - @SerializedName("gi") - GI("gi"), + @SerializedName("th_lc") + TH_LC("th_lc"), - @SerializedName("gl") - GL("gl"), + @SerializedName("th_pin") + TH_PIN("th_pin"), - @SerializedName("gm") - GM("gm"), + @SerializedName("us_itin") + US_ITIN("us_itin"), - @SerializedName("gn") - GN("gn"), + @SerializedName("us_itin_last_4") + US_ITIN_LAST_4("us_itin_last_4"), - @SerializedName("gp") - GP("gp"), + @SerializedName("us_ssn") + US_SSN("us_ssn"), - @SerializedName("gq") - GQ("gq"), + @SerializedName("us_ssn_last_4") + US_SSN_LAST_4("us_ssn_last_4"); - @SerializedName("gr") - GR("gr"), + @Getter(onMethod_ = {@Override}) + private final String value; - @SerializedName("gs") - GS("gs"), + Type(String value) { + this.value = value; + } + } + } - @SerializedName("gt") - GT("gt"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Relationship { + /** Whether the individual is an authorizer of the Account’s legal entity. */ + @SerializedName("authorizer") + Boolean authorizer; - @SerializedName("gu") - GU("gu"), + /** Indicates whether the person is a director of the associated legal entity. */ + @SerializedName("director") + Boolean director; - @SerializedName("gw") - GW("gw"), + /** Indicates whether the person is an executive of the associated legal entity. */ + @SerializedName("executive") + Boolean executive; - @SerializedName("gy") - GY("gy"), + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("hk") - HK("hk"), + /** Indicates whether the person is a legal guardian of the associated legal entity. */ + @SerializedName("legal_guardian") + Boolean legalGuardian; - @SerializedName("hm") - HM("hm"), + /** Indicates whether the person is an owner of the associated legal entity. */ + @SerializedName("owner") + Boolean owner; - @SerializedName("hn") - HN("hn"), + /** The percentage of ownership the person has in the associated legal entity. */ + @SerializedName("percent_ownership") + Object percentOwnership; - @SerializedName("hr") - HR("hr"), + /** Indicates whether the person is a representative of the associated legal entity. */ + @SerializedName("representative") + Boolean representative; - @SerializedName("ht") - HT("ht"), + /** The title or position the person holds in the associated legal entity. */ + @SerializedName("title") + Object title; - @SerializedName("hu") - HU("hu"), + private Relationship( + Boolean authorizer, + Boolean director, + Boolean executive, + Map extraParams, + Boolean legalGuardian, + Boolean owner, + Object percentOwnership, + Boolean representative, + Object title) { + this.authorizer = authorizer; + this.director = director; + this.executive = executive; + this.extraParams = extraParams; + this.legalGuardian = legalGuardian; + this.owner = owner; + this.percentOwnership = percentOwnership; + this.representative = representative; + this.title = title; + } - @SerializedName("id") - ID("id"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ie") - IE("ie"), + public static class Builder { + private Boolean authorizer; - @SerializedName("il") - IL("il"), + private Boolean director; - @SerializedName("im") - IM("im"), + private Boolean executive; - @SerializedName("in") - IN("in"), + private Map extraParams; - @SerializedName("io") - IO("io"), + private Boolean legalGuardian; - @SerializedName("iq") - IQ("iq"), + private Boolean owner; - @SerializedName("ir") - IR("ir"), + private Object percentOwnership; - @SerializedName("is") - IS("is"), + private Boolean representative; - @SerializedName("it") - IT("it"), + private Object title; - @SerializedName("je") - JE("je"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.Relationship build() { + return new PersonUpdateParams.Relationship( + this.authorizer, + this.director, + this.executive, + this.extraParams, + this.legalGuardian, + this.owner, + this.percentOwnership, + this.representative, + this.title); + } - @SerializedName("jm") - JM("jm"), + /** Whether the individual is an authorizer of the Account’s legal entity. */ + public Builder setAuthorizer(Boolean authorizer) { + this.authorizer = authorizer; + return this; + } - @SerializedName("jo") - JO("jo"), + /** Indicates whether the person is a director of the associated legal entity. */ + public Builder setDirector(Boolean director) { + this.director = director; + return this; + } - @SerializedName("jp") - JP("jp"), + /** Indicates whether the person is an executive of the associated legal entity. */ + public Builder setExecutive(Boolean executive) { + this.executive = executive; + return this; + } - @SerializedName("ke") - KE("ke"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.Relationship#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("kg") - KG("kg"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.Relationship#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("kh") - KH("kh"), + /** Indicates whether the person is a legal guardian of the associated legal entity. */ + public Builder setLegalGuardian(Boolean legalGuardian) { + this.legalGuardian = legalGuardian; + return this; + } - @SerializedName("ki") - KI("ki"), + /** Indicates whether the person is an owner of the associated legal entity. */ + public Builder setOwner(Boolean owner) { + this.owner = owner; + return this; + } - @SerializedName("km") - KM("km"), + /** The percentage of ownership the person has in the associated legal entity. */ + public Builder setPercentOwnership(BigDecimal percentOwnership) { + this.percentOwnership = percentOwnership; + return this; + } - @SerializedName("kn") - KN("kn"), + /** The percentage of ownership the person has in the associated legal entity. */ + public Builder setPercentOwnership(EmptyParam percentOwnership) { + this.percentOwnership = percentOwnership; + return this; + } - @SerializedName("kp") - KP("kp"), + /** Indicates whether the person is a representative of the associated legal entity. */ + public Builder setRepresentative(Boolean representative) { + this.representative = representative; + return this; + } - @SerializedName("kr") - KR("kr"), + /** The title or position the person holds in the associated legal entity. */ + public Builder setTitle(String title) { + this.title = title; + return this; + } - @SerializedName("kw") - KW("kw"), + /** The title or position the person holds in the associated legal entity. */ + public Builder setTitle(EmptyParam title) { + this.title = title; + return this; + } + } + } - @SerializedName("ky") - KY("ky"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptAddresses { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("kz") - KZ("kz"), + /** Kana Address. */ + @SerializedName("kana") + Kana kana; - @SerializedName("la") - LA("la"), + /** Kanji Address. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("lb") - LB("lb"), + private ScriptAddresses(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("lc") - LC("lc"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("li") - LI("li"), + public static class Builder { + private Map extraParams; - @SerializedName("lk") - LK("lk"), + private Kana kana; - @SerializedName("lr") - LR("lr"), + private Kanji kanji; - @SerializedName("ls") - LS("ls"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.ScriptAddresses build() { + return new PersonUpdateParams.ScriptAddresses(this.extraParams, this.kana, this.kanji); + } - @SerializedName("lt") - LT("lt"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.ScriptAddresses#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("lu") - LU("lu"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.ScriptAddresses#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("lv") - LV("lv"), + /** Kana Address. */ + public Builder setKana(PersonUpdateParams.ScriptAddresses.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("ly") - LY("ly"), + /** Kanji Address. */ + public Builder setKanji(PersonUpdateParams.ScriptAddresses.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("ma") - MA("ma"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("mc") - MC("mc"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("md") - MD("md"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("me") - ME("me"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("mf") - MF("mf"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("mg") - MG("mg"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("mh") - MH("mh"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("mk") - MK("mk"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("ml") - ML("ml"), + private Kana( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("mm") - MM("mm"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("mn") - MN("mn"), + public static class Builder { + private Object city; - @SerializedName("mo") - MO("mo"), + private Object country; - @SerializedName("mp") - MP("mp"), + private Map extraParams; - @SerializedName("mq") - MQ("mq"), + private Object line1; - @SerializedName("mr") - MR("mr"), + private Object line2; - @SerializedName("ms") - MS("ms"), + private Object postalCode; - @SerializedName("mt") - MT("mt"), + private Object state; - @SerializedName("mu") - MU("mu"), + private Object town; - @SerializedName("mv") - MV("mv"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.ScriptAddresses.Kana build() { + return new PersonUpdateParams.ScriptAddresses.Kana( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("mw") - MW("mw"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("mx") - MX("mx"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("my") - MY("my"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("mz") - MZ("mz"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("na") - NA("na"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptAddresses.Kana#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("nc") - NC("nc"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptAddresses.Kana#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ne") - NE("ne"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("nf") - NF("nf"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("ng") - NG("ng"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("ni") - NI("ni"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("nl") - NL("nl"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("no") - NO("no"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("np") - NP("np"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("nr") - NR("nr"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("nu") - NU("nu"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("nz") - NZ("nz"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } - @SerializedName("om") - OM("om"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; - @SerializedName("pa") - PA("pa"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; - @SerializedName("pe") - PE("pe"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("pf") - PF("pf"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - @SerializedName("pg") - PG("pg"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + Object line2; - @SerializedName("ph") - PH("ph"), + /** ZIP or postal code. */ + @SerializedName("postal_code") + Object postalCode; - @SerializedName("pk") - PK("pk"), + /** State, county, province, or region. */ + @SerializedName("state") + Object state; - @SerializedName("pl") - PL("pl"), + /** Town or cho-me. */ + @SerializedName("town") + Object town; - @SerializedName("pm") - PM("pm"), + private Kanji( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object town) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + this.town = town; + } - @SerializedName("pn") - PN("pn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pr") - PR("pr"), + public static class Builder { + private Object city; - @SerializedName("ps") - PS("ps"), + private Object country; - @SerializedName("pt") - PT("pt"), + private Map extraParams; - @SerializedName("pw") - PW("pw"), + private Object line1; - @SerializedName("py") - PY("py"), + private Object line2; - @SerializedName("qa") - QA("qa"), + private Object postalCode; - @SerializedName("qz") - QZ("qz"), + private Object state; - @SerializedName("re") - RE("re"), + private Object town; - @SerializedName("ro") - RO("ro"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.ScriptAddresses.Kanji build() { + return new PersonUpdateParams.ScriptAddresses.Kanji( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state, + this.town); + } - @SerializedName("rs") - RS("rs"), + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } - @SerializedName("ru") - RU("ru"), + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; + return this; + } - @SerializedName("rw") - RW("rw"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } - @SerializedName("sa") - SA("sa"), + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + public Builder setCountry(EmptyParam country) { + this.country = country; + return this; + } - @SerializedName("sb") - SB("sb"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptAddresses.Kanji#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("sc") - SC("sc"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptAddresses.Kanji#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("sd") - SD("sd"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } - @SerializedName("se") - SE("se"), + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(EmptyParam line1) { + this.line1 = line1; + return this; + } - @SerializedName("sg") - SG("sg"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } - @SerializedName("sh") - SH("sh"), + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(EmptyParam line2) { + this.line2 = line2; + return this; + } - @SerializedName("si") - SI("si"), + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("sj") - SJ("sj"), + /** ZIP or postal code. */ + public Builder setPostalCode(EmptyParam postalCode) { + this.postalCode = postalCode; + return this; + } - @SerializedName("sk") - SK("sk"), + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } - @SerializedName("sl") - SL("sl"), + /** State, county, province, or region. */ + public Builder setState(EmptyParam state) { + this.state = state; + return this; + } - @SerializedName("sm") - SM("sm"), + /** Town or cho-me. */ + public Builder setTown(String town) { + this.town = town; + return this; + } - @SerializedName("sn") - SN("sn"), + /** Town or cho-me. */ + public Builder setTown(EmptyParam town) { + this.town = town; + return this; + } + } + } + } - @SerializedName("so") - SO("so"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScriptNames { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("sr") - SR("sr"), + /** Persons name in kana script. */ + @SerializedName("kana") + Kana kana; - @SerializedName("ss") - SS("ss"), + /** Persons name in kanji script. */ + @SerializedName("kanji") + Kanji kanji; - @SerializedName("st") - ST("st"), + private ScriptNames(Map extraParams, Kana kana, Kanji kanji) { + this.extraParams = extraParams; + this.kana = kana; + this.kanji = kanji; + } - @SerializedName("sv") - SV("sv"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sx") - SX("sx"), + public static class Builder { + private Map extraParams; - @SerializedName("sy") - SY("sy"), + private Kana kana; - @SerializedName("sz") - SZ("sz"), + private Kanji kanji; - @SerializedName("tc") - TC("tc"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.ScriptNames build() { + return new PersonUpdateParams.ScriptNames(this.extraParams, this.kana, this.kanji); + } - @SerializedName("td") - TD("td"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PersonUpdateParams.ScriptNames#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tf") - TF("tf"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PersonUpdateParams.ScriptNames#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("tg") - TG("tg"), + /** Persons name in kana script. */ + public Builder setKana(PersonUpdateParams.ScriptNames.Kana kana) { + this.kana = kana; + return this; + } - @SerializedName("th") - TH("th"), + /** Persons name in kanji script. */ + public Builder setKanji(PersonUpdateParams.ScriptNames.Kanji kanji) { + this.kanji = kanji; + return this; + } + } - @SerializedName("tj") - TJ("tj"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kana { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("tk") - TK("tk"), + /** The person's first or given name. */ + @SerializedName("given_name") + Object givenName; - @SerializedName("tl") - TL("tl"), + /** The person's last or family name. */ + @SerializedName("surname") + Object surname; - @SerializedName("tm") - TM("tm"), + private Kana(Map extraParams, Object givenName, Object surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("tn") - TN("tn"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("to") - TO("to"), + public static class Builder { + private Map extraParams; - @SerializedName("tr") - TR("tr"), + private Object givenName; - @SerializedName("tt") - TT("tt"), + private Object surname; - @SerializedName("tv") - TV("tv"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.ScriptNames.Kana build() { + return new PersonUpdateParams.ScriptNames.Kana( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("tw") - TW("tw"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("tz") - TZ("tz"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptNames.Kana#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ua") - UA("ua"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("ug") - UG("ug"), + /** The person's first or given name. */ + public Builder setGivenName(EmptyParam givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("um") - UM("um"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } - @SerializedName("us") - US("us"), + /** The person's last or family name. */ + public Builder setSurname(EmptyParam surname) { + this.surname = surname; + return this; + } + } + } - @SerializedName("uy") - UY("uy"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Kanji { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("uz") - UZ("uz"), + /** The person's first or given name. */ + @SerializedName("given_name") + Object givenName; - @SerializedName("va") - VA("va"), + /** The person's last or family name. */ + @SerializedName("surname") + Object surname; - @SerializedName("vc") - VC("vc"), + private Kanji(Map extraParams, Object givenName, Object surname) { + this.extraParams = extraParams; + this.givenName = givenName; + this.surname = surname; + } - @SerializedName("ve") - VE("ve"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("vg") - VG("vg"), + public static class Builder { + private Map extraParams; - @SerializedName("vi") - VI("vi"), + private Object givenName; - @SerializedName("vn") - VN("vn"), + private Object surname; - @SerializedName("vu") - VU("vu"), + /** Finalize and obtain parameter instance from this builder. */ + public PersonUpdateParams.ScriptNames.Kanji build() { + return new PersonUpdateParams.ScriptNames.Kanji( + this.extraParams, this.givenName, this.surname); + } - @SerializedName("wf") - WF("wf"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("ws") - WS("ws"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PersonUpdateParams.ScriptNames.Kanji#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("xx") - XX("xx"), + /** The person's first or given name. */ + public Builder setGivenName(String givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("ye") - YE("ye"), + /** The person's first or given name. */ + public Builder setGivenName(EmptyParam givenName) { + this.givenName = givenName; + return this; + } - @SerializedName("yt") - YT("yt"), + /** The person's last or family name. */ + public Builder setSurname(String surname) { + this.surname = surname; + return this; + } - @SerializedName("za") - ZA("za"), + /** The person's last or family name. */ + public Builder setSurname(EmptyParam surname) { + this.surname = surname; + return this; + } + } + } + } - @SerializedName("zm") - ZM("zm"), + public enum LegalGender implements ApiRequestParams.EnumParam { + @SerializedName("female") + FEMALE("female"), - @SerializedName("zw") - ZW("zw"); + @SerializedName("male") + MALE("male"); @Getter(onMethod_ = {@Override}) private final String value; - Nationality(String value) { + LegalGender(String value) { this.value = value; } } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/AdjustmentListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/AdjustmentListParams.java index 0a8ddbb5a3e..053aeb16d78 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/AdjustmentListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/AdjustmentListParams.java @@ -62,7 +62,7 @@ public class AdjustmentListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; private AdjustmentListParams( String adjustedFlow, @@ -72,7 +72,7 @@ private AdjustmentListParams( Instant createdLt, Instant createdLte, Map extraParams, - Integer limit) { + Long limit) { this.adjustedFlow = adjustedFlow; this.created = created; this.createdGt = createdGt; @@ -102,7 +102,7 @@ public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public AdjustmentListParams build() { @@ -195,7 +195,7 @@ public Builder putAllExtraParam(Map map) { } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountCreateParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountCreateParams.java index 72e1abace6c..40cd4ae211a 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountCreateParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountCreateParams.java @@ -163,11 +163,9 @@ public static class Storage { /** Required. The currencies that this FinancialAccount can hold. */ @SerializedName("holds_currencies") - List holdsCurrencies; + List holdsCurrencies; - private Storage( - Map extraParams, - List holdsCurrencies) { + private Storage(Map extraParams, List holdsCurrencies) { this.extraParams = extraParams; this.holdsCurrencies = holdsCurrencies; } @@ -179,7 +177,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private List holdsCurrencies; + private List holdsCurrencies; /** Finalize and obtain parameter instance from this builder. */ public FinancialAccountCreateParams.Storage build() { @@ -217,7 +215,7 @@ public Builder putAllExtraParam(Map map) { * call, and subsequent calls adds additional elements to the original list. See {@link * FinancialAccountCreateParams.Storage#holdsCurrencies} for the field documentation. */ - public Builder addHoldsCurrency(FinancialAccountCreateParams.Storage.HoldsCurrency element) { + public Builder addHoldsCurrency(String element) { if (this.holdsCurrencies == null) { this.holdsCurrencies = new ArrayList<>(); } @@ -230,8 +228,7 @@ public Builder addHoldsCurrency(FinancialAccountCreateParams.Storage.HoldsCurren * `add/addAll` call, and subsequent calls adds additional elements to the original list. See * {@link FinancialAccountCreateParams.Storage#holdsCurrencies} for the field documentation. */ - public Builder addAllHoldsCurrency( - List elements) { + public Builder addAllHoldsCurrency(List elements) { if (this.holdsCurrencies == null) { this.holdsCurrencies = new ArrayList<>(); } @@ -239,555 +236,6 @@ public Builder addAllHoldsCurrency( return this; } } - - public enum HoldsCurrency implements ApiRequestParams.EnumParam { - @SerializedName("aed") - AED("aed"), - - @SerializedName("afn") - AFN("afn"), - - @SerializedName("all") - ALL("all"), - - @SerializedName("amd") - AMD("amd"), - - @SerializedName("ang") - ANG("ang"), - - @SerializedName("aoa") - AOA("aoa"), - - @SerializedName("ars") - ARS("ars"), - - @SerializedName("aud") - AUD("aud"), - - @SerializedName("awg") - AWG("awg"), - - @SerializedName("azn") - AZN("azn"), - - @SerializedName("bam") - BAM("bam"), - - @SerializedName("bbd") - BBD("bbd"), - - @SerializedName("bdt") - BDT("bdt"), - - @SerializedName("bgn") - BGN("bgn"), - - @SerializedName("bhd") - BHD("bhd"), - - @SerializedName("bif") - BIF("bif"), - - @SerializedName("bmd") - BMD("bmd"), - - @SerializedName("bnd") - BND("bnd"), - - @SerializedName("bob") - BOB("bob"), - - @SerializedName("bov") - BOV("bov"), - - @SerializedName("brl") - BRL("brl"), - - @SerializedName("bsd") - BSD("bsd"), - - @SerializedName("btn") - BTN("btn"), - - @SerializedName("bwp") - BWP("bwp"), - - @SerializedName("byn") - BYN("byn"), - - @SerializedName("byr") - BYR("byr"), - - @SerializedName("bzd") - BZD("bzd"), - - @SerializedName("cad") - CAD("cad"), - - @SerializedName("cdf") - CDF("cdf"), - - @SerializedName("che") - CHE("che"), - - @SerializedName("chf") - CHF("chf"), - - @SerializedName("chw") - CHW("chw"), - - @SerializedName("clf") - CLF("clf"), - - @SerializedName("clp") - CLP("clp"), - - @SerializedName("cny") - CNY("cny"), - - @SerializedName("cop") - COP("cop"), - - @SerializedName("cou") - COU("cou"), - - @SerializedName("crc") - CRC("crc"), - - @SerializedName("cuc") - CUC("cuc"), - - @SerializedName("cup") - CUP("cup"), - - @SerializedName("cve") - CVE("cve"), - - @SerializedName("czk") - CZK("czk"), - - @SerializedName("djf") - DJF("djf"), - - @SerializedName("dkk") - DKK("dkk"), - - @SerializedName("dop") - DOP("dop"), - - @SerializedName("dzd") - DZD("dzd"), - - @SerializedName("eek") - EEK("eek"), - - @SerializedName("egp") - EGP("egp"), - - @SerializedName("ern") - ERN("ern"), - - @SerializedName("etb") - ETB("etb"), - - @SerializedName("eur") - EUR("eur"), - - @SerializedName("fjd") - FJD("fjd"), - - @SerializedName("fkp") - FKP("fkp"), - - @SerializedName("gbp") - GBP("gbp"), - - @SerializedName("gel") - GEL("gel"), - - @SerializedName("ghc") - GHC("ghc"), - - @SerializedName("ghs") - GHS("ghs"), - - @SerializedName("gip") - GIP("gip"), - - @SerializedName("gmd") - GMD("gmd"), - - @SerializedName("gnf") - GNF("gnf"), - - @SerializedName("gtq") - GTQ("gtq"), - - @SerializedName("gyd") - GYD("gyd"), - - @SerializedName("hkd") - HKD("hkd"), - - @SerializedName("hnl") - HNL("hnl"), - - @SerializedName("hrk") - HRK("hrk"), - - @SerializedName("htg") - HTG("htg"), - - @SerializedName("huf") - HUF("huf"), - - @SerializedName("idr") - IDR("idr"), - - @SerializedName("ils") - ILS("ils"), - - @SerializedName("inr") - INR("inr"), - - @SerializedName("iqd") - IQD("iqd"), - - @SerializedName("irr") - IRR("irr"), - - @SerializedName("isk") - ISK("isk"), - - @SerializedName("jmd") - JMD("jmd"), - - @SerializedName("jod") - JOD("jod"), - - @SerializedName("jpy") - JPY("jpy"), - - @SerializedName("kes") - KES("kes"), - - @SerializedName("kgs") - KGS("kgs"), - - @SerializedName("khr") - KHR("khr"), - - @SerializedName("kmf") - KMF("kmf"), - - @SerializedName("kpw") - KPW("kpw"), - - @SerializedName("krw") - KRW("krw"), - - @SerializedName("kwd") - KWD("kwd"), - - @SerializedName("kyd") - KYD("kyd"), - - @SerializedName("kzt") - KZT("kzt"), - - @SerializedName("lak") - LAK("lak"), - - @SerializedName("lbp") - LBP("lbp"), - - @SerializedName("lkr") - LKR("lkr"), - - @SerializedName("lrd") - LRD("lrd"), - - @SerializedName("lsl") - LSL("lsl"), - - @SerializedName("ltl") - LTL("ltl"), - - @SerializedName("lvl") - LVL("lvl"), - - @SerializedName("lyd") - LYD("lyd"), - - @SerializedName("mad") - MAD("mad"), - - @SerializedName("mdl") - MDL("mdl"), - - @SerializedName("mga") - MGA("mga"), - - @SerializedName("mkd") - MKD("mkd"), - - @SerializedName("mmk") - MMK("mmk"), - - @SerializedName("mnt") - MNT("mnt"), - - @SerializedName("mop") - MOP("mop"), - - @SerializedName("mro") - MRO("mro"), - - @SerializedName("mru") - MRU("mru"), - - @SerializedName("mur") - MUR("mur"), - - @SerializedName("mvr") - MVR("mvr"), - - @SerializedName("mwk") - MWK("mwk"), - - @SerializedName("mxn") - MXN("mxn"), - - @SerializedName("mxv") - MXV("mxv"), - - @SerializedName("myr") - MYR("myr"), - - @SerializedName("mzn") - MZN("mzn"), - - @SerializedName("nad") - NAD("nad"), - - @SerializedName("ngn") - NGN("ngn"), - - @SerializedName("nio") - NIO("nio"), - - @SerializedName("nok") - NOK("nok"), - - @SerializedName("npr") - NPR("npr"), - - @SerializedName("nzd") - NZD("nzd"), - - @SerializedName("omr") - OMR("omr"), - - @SerializedName("pab") - PAB("pab"), - - @SerializedName("pen") - PEN("pen"), - - @SerializedName("pgk") - PGK("pgk"), - - @SerializedName("php") - PHP("php"), - - @SerializedName("pkr") - PKR("pkr"), - - @SerializedName("pln") - PLN("pln"), - - @SerializedName("pyg") - PYG("pyg"), - - @SerializedName("qar") - QAR("qar"), - - @SerializedName("ron") - RON("ron"), - - @SerializedName("rsd") - RSD("rsd"), - - @SerializedName("rub") - RUB("rub"), - - @SerializedName("rwf") - RWF("rwf"), - - @SerializedName("sar") - SAR("sar"), - - @SerializedName("sbd") - SBD("sbd"), - - @SerializedName("scr") - SCR("scr"), - - @SerializedName("sdg") - SDG("sdg"), - - @SerializedName("sek") - SEK("sek"), - - @SerializedName("sgd") - SGD("sgd"), - - @SerializedName("shp") - SHP("shp"), - - @SerializedName("sle") - SLE("sle"), - - @SerializedName("sll") - SLL("sll"), - - @SerializedName("sos") - SOS("sos"), - - @SerializedName("srd") - SRD("srd"), - - @SerializedName("ssp") - SSP("ssp"), - - @SerializedName("std") - STD("std"), - - @SerializedName("stn") - STN("stn"), - - @SerializedName("svc") - SVC("svc"), - - @SerializedName("syp") - SYP("syp"), - - @SerializedName("szl") - SZL("szl"), - - @SerializedName("thb") - THB("thb"), - - @SerializedName("tjs") - TJS("tjs"), - - @SerializedName("tmt") - TMT("tmt"), - - @SerializedName("tnd") - TND("tnd"), - - @SerializedName("top") - TOP("top"), - - @SerializedName("try") - TRY("try"), - - @SerializedName("ttd") - TTD("ttd"), - - @SerializedName("twd") - TWD("twd"), - - @SerializedName("tzs") - TZS("tzs"), - - @SerializedName("uah") - UAH("uah"), - - @SerializedName("ugx") - UGX("ugx"), - - @SerializedName("usd") - USD("usd"), - - @SerializedName("usdb") - USDB("usdb"), - - @SerializedName("usdc") - USDC("usdc"), - - @SerializedName("usn") - USN("usn"), - - @SerializedName("uyi") - UYI("uyi"), - - @SerializedName("uyu") - UYU("uyu"), - - @SerializedName("uzs") - UZS("uzs"), - - @SerializedName("vef") - VEF("vef"), - - @SerializedName("ves") - VES("ves"), - - @SerializedName("vnd") - VND("vnd"), - - @SerializedName("vuv") - VUV("vuv"), - - @SerializedName("wst") - WST("wst"), - - @SerializedName("xaf") - XAF("xaf"), - - @SerializedName("xcd") - XCD("xcd"), - - @SerializedName("xcg") - XCG("xcg"), - - @SerializedName("xof") - XOF("xof"), - - @SerializedName("xpf") - XPF("xpf"), - - @SerializedName("yer") - YER("yer"), - - @SerializedName("zar") - ZAR("zar"), - - @SerializedName("zmk") - ZMK("zmk"), - - @SerializedName("zmw") - ZMW("zmw"), - - @SerializedName("zwd") - ZWD("zwd"), - - @SerializedName("zwg") - ZWG("zwg"), - - @SerializedName("zwl") - ZWL("zwl"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - HoldsCurrency(String value) { - this.value = value; - } - } } public enum Type implements ApiRequestParams.EnumParam { diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java index dd6bd5cf0dd..62b3602e534 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java @@ -22,7 +22,7 @@ public class FinancialAccountListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; /** * The status of the FinancialAccount to filter by. By default, closed FinancialAccounts are not @@ -31,8 +31,7 @@ public class FinancialAccountListParams extends ApiRequestParams { @SerializedName("status") Status status; - private FinancialAccountListParams( - Map extraParams, Integer limit, Status status) { + private FinancialAccountListParams(Map extraParams, Long limit, Status status) { this.extraParams = extraParams; this.limit = limit; this.status = status; @@ -45,7 +44,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; private Status status; @@ -81,7 +80,7 @@ public Builder putAllExtraParam(Map map) { } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressCreateParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressCreateParams.java index 32713fc5470..6d63e32b118 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressCreateParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressCreateParams.java @@ -16,7 +16,7 @@ public class FinancialAddressCreateParams extends ApiRequestParams { * Currently, only the {@code usd} and {@code gbp} values are supported. */ @SerializedName("currency") - Currency currency; + String currency; /** * Map of extra parameters for custom features not available in this client library. The content @@ -35,7 +35,7 @@ public class FinancialAddressCreateParams extends ApiRequestParams { String financialAccount; private FinancialAddressCreateParams( - Currency currency, Map extraParams, String financialAccount) { + String currency, Map extraParams, String financialAccount) { this.currency = currency; this.extraParams = extraParams; this.financialAccount = financialAccount; @@ -46,7 +46,7 @@ public static Builder builder() { } public static class Builder { - private Currency currency; + private String currency; private Map extraParams; @@ -62,7 +62,7 @@ public FinancialAddressCreateParams build() { * Required. Open Enum. The currency the FinancialAddress should support. * Currently, only the {@code usd} and {@code gbp} values are supported. */ - public Builder setCurrency(FinancialAddressCreateParams.Currency currency) { + public Builder setCurrency(String currency) { this.currency = currency; return this; } @@ -102,553 +102,4 @@ public Builder setFinancialAccount(String financialAccount) { return this; } } - - public enum Currency implements ApiRequestParams.EnumParam { - @SerializedName("aed") - AED("aed"), - - @SerializedName("afn") - AFN("afn"), - - @SerializedName("all") - ALL("all"), - - @SerializedName("amd") - AMD("amd"), - - @SerializedName("ang") - ANG("ang"), - - @SerializedName("aoa") - AOA("aoa"), - - @SerializedName("ars") - ARS("ars"), - - @SerializedName("aud") - AUD("aud"), - - @SerializedName("awg") - AWG("awg"), - - @SerializedName("azn") - AZN("azn"), - - @SerializedName("bam") - BAM("bam"), - - @SerializedName("bbd") - BBD("bbd"), - - @SerializedName("bdt") - BDT("bdt"), - - @SerializedName("bgn") - BGN("bgn"), - - @SerializedName("bhd") - BHD("bhd"), - - @SerializedName("bif") - BIF("bif"), - - @SerializedName("bmd") - BMD("bmd"), - - @SerializedName("bnd") - BND("bnd"), - - @SerializedName("bob") - BOB("bob"), - - @SerializedName("bov") - BOV("bov"), - - @SerializedName("brl") - BRL("brl"), - - @SerializedName("bsd") - BSD("bsd"), - - @SerializedName("btn") - BTN("btn"), - - @SerializedName("bwp") - BWP("bwp"), - - @SerializedName("byn") - BYN("byn"), - - @SerializedName("byr") - BYR("byr"), - - @SerializedName("bzd") - BZD("bzd"), - - @SerializedName("cad") - CAD("cad"), - - @SerializedName("cdf") - CDF("cdf"), - - @SerializedName("che") - CHE("che"), - - @SerializedName("chf") - CHF("chf"), - - @SerializedName("chw") - CHW("chw"), - - @SerializedName("clf") - CLF("clf"), - - @SerializedName("clp") - CLP("clp"), - - @SerializedName("cny") - CNY("cny"), - - @SerializedName("cop") - COP("cop"), - - @SerializedName("cou") - COU("cou"), - - @SerializedName("crc") - CRC("crc"), - - @SerializedName("cuc") - CUC("cuc"), - - @SerializedName("cup") - CUP("cup"), - - @SerializedName("cve") - CVE("cve"), - - @SerializedName("czk") - CZK("czk"), - - @SerializedName("djf") - DJF("djf"), - - @SerializedName("dkk") - DKK("dkk"), - - @SerializedName("dop") - DOP("dop"), - - @SerializedName("dzd") - DZD("dzd"), - - @SerializedName("eek") - EEK("eek"), - - @SerializedName("egp") - EGP("egp"), - - @SerializedName("ern") - ERN("ern"), - - @SerializedName("etb") - ETB("etb"), - - @SerializedName("eur") - EUR("eur"), - - @SerializedName("fjd") - FJD("fjd"), - - @SerializedName("fkp") - FKP("fkp"), - - @SerializedName("gbp") - GBP("gbp"), - - @SerializedName("gel") - GEL("gel"), - - @SerializedName("ghc") - GHC("ghc"), - - @SerializedName("ghs") - GHS("ghs"), - - @SerializedName("gip") - GIP("gip"), - - @SerializedName("gmd") - GMD("gmd"), - - @SerializedName("gnf") - GNF("gnf"), - - @SerializedName("gtq") - GTQ("gtq"), - - @SerializedName("gyd") - GYD("gyd"), - - @SerializedName("hkd") - HKD("hkd"), - - @SerializedName("hnl") - HNL("hnl"), - - @SerializedName("hrk") - HRK("hrk"), - - @SerializedName("htg") - HTG("htg"), - - @SerializedName("huf") - HUF("huf"), - - @SerializedName("idr") - IDR("idr"), - - @SerializedName("ils") - ILS("ils"), - - @SerializedName("inr") - INR("inr"), - - @SerializedName("iqd") - IQD("iqd"), - - @SerializedName("irr") - IRR("irr"), - - @SerializedName("isk") - ISK("isk"), - - @SerializedName("jmd") - JMD("jmd"), - - @SerializedName("jod") - JOD("jod"), - - @SerializedName("jpy") - JPY("jpy"), - - @SerializedName("kes") - KES("kes"), - - @SerializedName("kgs") - KGS("kgs"), - - @SerializedName("khr") - KHR("khr"), - - @SerializedName("kmf") - KMF("kmf"), - - @SerializedName("kpw") - KPW("kpw"), - - @SerializedName("krw") - KRW("krw"), - - @SerializedName("kwd") - KWD("kwd"), - - @SerializedName("kyd") - KYD("kyd"), - - @SerializedName("kzt") - KZT("kzt"), - - @SerializedName("lak") - LAK("lak"), - - @SerializedName("lbp") - LBP("lbp"), - - @SerializedName("lkr") - LKR("lkr"), - - @SerializedName("lrd") - LRD("lrd"), - - @SerializedName("lsl") - LSL("lsl"), - - @SerializedName("ltl") - LTL("ltl"), - - @SerializedName("lvl") - LVL("lvl"), - - @SerializedName("lyd") - LYD("lyd"), - - @SerializedName("mad") - MAD("mad"), - - @SerializedName("mdl") - MDL("mdl"), - - @SerializedName("mga") - MGA("mga"), - - @SerializedName("mkd") - MKD("mkd"), - - @SerializedName("mmk") - MMK("mmk"), - - @SerializedName("mnt") - MNT("mnt"), - - @SerializedName("mop") - MOP("mop"), - - @SerializedName("mro") - MRO("mro"), - - @SerializedName("mru") - MRU("mru"), - - @SerializedName("mur") - MUR("mur"), - - @SerializedName("mvr") - MVR("mvr"), - - @SerializedName("mwk") - MWK("mwk"), - - @SerializedName("mxn") - MXN("mxn"), - - @SerializedName("mxv") - MXV("mxv"), - - @SerializedName("myr") - MYR("myr"), - - @SerializedName("mzn") - MZN("mzn"), - - @SerializedName("nad") - NAD("nad"), - - @SerializedName("ngn") - NGN("ngn"), - - @SerializedName("nio") - NIO("nio"), - - @SerializedName("nok") - NOK("nok"), - - @SerializedName("npr") - NPR("npr"), - - @SerializedName("nzd") - NZD("nzd"), - - @SerializedName("omr") - OMR("omr"), - - @SerializedName("pab") - PAB("pab"), - - @SerializedName("pen") - PEN("pen"), - - @SerializedName("pgk") - PGK("pgk"), - - @SerializedName("php") - PHP("php"), - - @SerializedName("pkr") - PKR("pkr"), - - @SerializedName("pln") - PLN("pln"), - - @SerializedName("pyg") - PYG("pyg"), - - @SerializedName("qar") - QAR("qar"), - - @SerializedName("ron") - RON("ron"), - - @SerializedName("rsd") - RSD("rsd"), - - @SerializedName("rub") - RUB("rub"), - - @SerializedName("rwf") - RWF("rwf"), - - @SerializedName("sar") - SAR("sar"), - - @SerializedName("sbd") - SBD("sbd"), - - @SerializedName("scr") - SCR("scr"), - - @SerializedName("sdg") - SDG("sdg"), - - @SerializedName("sek") - SEK("sek"), - - @SerializedName("sgd") - SGD("sgd"), - - @SerializedName("shp") - SHP("shp"), - - @SerializedName("sle") - SLE("sle"), - - @SerializedName("sll") - SLL("sll"), - - @SerializedName("sos") - SOS("sos"), - - @SerializedName("srd") - SRD("srd"), - - @SerializedName("ssp") - SSP("ssp"), - - @SerializedName("std") - STD("std"), - - @SerializedName("stn") - STN("stn"), - - @SerializedName("svc") - SVC("svc"), - - @SerializedName("syp") - SYP("syp"), - - @SerializedName("szl") - SZL("szl"), - - @SerializedName("thb") - THB("thb"), - - @SerializedName("tjs") - TJS("tjs"), - - @SerializedName("tmt") - TMT("tmt"), - - @SerializedName("tnd") - TND("tnd"), - - @SerializedName("top") - TOP("top"), - - @SerializedName("try") - TRY("try"), - - @SerializedName("ttd") - TTD("ttd"), - - @SerializedName("twd") - TWD("twd"), - - @SerializedName("tzs") - TZS("tzs"), - - @SerializedName("uah") - UAH("uah"), - - @SerializedName("ugx") - UGX("ugx"), - - @SerializedName("usd") - USD("usd"), - - @SerializedName("usdb") - USDB("usdb"), - - @SerializedName("usdc") - USDC("usdc"), - - @SerializedName("usn") - USN("usn"), - - @SerializedName("uyi") - UYI("uyi"), - - @SerializedName("uyu") - UYU("uyu"), - - @SerializedName("uzs") - UZS("uzs"), - - @SerializedName("vef") - VEF("vef"), - - @SerializedName("ves") - VES("ves"), - - @SerializedName("vnd") - VND("vnd"), - - @SerializedName("vuv") - VUV("vuv"), - - @SerializedName("wst") - WST("wst"), - - @SerializedName("xaf") - XAF("xaf"), - - @SerializedName("xcd") - XCD("xcd"), - - @SerializedName("xcg") - XCG("xcg"), - - @SerializedName("xof") - XOF("xof"), - - @SerializedName("xpf") - XPF("xpf"), - - @SerializedName("yer") - YER("yer"), - - @SerializedName("zar") - ZAR("zar"), - - @SerializedName("zmk") - ZMK("zmk"), - - @SerializedName("zmw") - ZMW("zmw"), - - @SerializedName("zwd") - ZWD("zwd"), - - @SerializedName("zwg") - ZWG("zwg"), - - @SerializedName("zwl") - ZWL("zwl"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Currency(String value) { - this.value = value; - } - } } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressListParams.java index 8b75cdde6a6..c1648bcb8ff 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAddressListParams.java @@ -32,13 +32,13 @@ public class FinancialAddressListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; private FinancialAddressListParams( Map extraParams, String financialAccount, List include, - Integer limit) { + Long limit) { this.extraParams = extraParams; this.financialAccount = financialAccount; this.include = include; @@ -56,7 +56,7 @@ public static class Builder { private List include; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public FinancialAddressListParams build() { @@ -123,7 +123,7 @@ public Builder addAllInclude(List elements) } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/InboundTransferListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/InboundTransferListParams.java index 0b638962e04..da3d882ee3a 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/InboundTransferListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/InboundTransferListParams.java @@ -58,7 +58,7 @@ public class InboundTransferListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; private InboundTransferListParams( Instant created, @@ -67,7 +67,7 @@ private InboundTransferListParams( Instant createdLt, Instant createdLte, Map extraParams, - Integer limit) { + Long limit) { this.created = created; this.createdGt = createdGt; this.createdGte = createdGte; @@ -94,7 +94,7 @@ public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public InboundTransferListParams build() { @@ -180,7 +180,7 @@ public Builder putAllExtraParam(Map map) { } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentListParams.java index 9f8d4914310..137da8c20cd 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentListParams.java @@ -60,7 +60,7 @@ public class OutboundPaymentListParams extends ApiRequestParams { /** The maximum number of results to return. */ @SerializedName("limit") - Integer limit; + Long limit; /** Only return OutboundPayments sent to this recipient. */ @SerializedName("recipient") @@ -77,7 +77,7 @@ private OutboundPaymentListParams( Instant createdLt, Instant createdLte, Map extraParams, - Integer limit, + Long limit, String recipient, List status) { this.created = created; @@ -108,7 +108,7 @@ public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; private String recipient; @@ -200,7 +200,7 @@ public Builder putAllExtraParam(Map map) { } /** The maximum number of results to return. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundSetupIntentListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundSetupIntentListParams.java index 6ff599cd910..cb5e4e3e137 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundSetupIntentListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundSetupIntentListParams.java @@ -22,9 +22,9 @@ public class OutboundSetupIntentListParams extends ApiRequestParams { /** The page size. */ @SerializedName("limit") - Integer limit; + Long limit; - private OutboundSetupIntentListParams(Map extraParams, Integer limit) { + private OutboundSetupIntentListParams(Map extraParams, Long limit) { this.extraParams = extraParams; this.limit = limit; } @@ -36,7 +36,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public OutboundSetupIntentListParams build() { @@ -70,7 +70,7 @@ public Builder putAllExtraParam(Map map) { } /** The page size. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferListParams.java index b2fb2a57f30..a14762e0361 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferListParams.java @@ -60,7 +60,7 @@ public class OutboundTransferListParams extends ApiRequestParams { /** The maximum number of results to return. */ @SerializedName("limit") - Integer limit; + Long limit; /** Closed Enum. Only return OutboundTransfers with this status. */ @SerializedName("status") @@ -73,7 +73,7 @@ private OutboundTransferListParams( Instant createdLt, Instant createdLte, Map extraParams, - Integer limit, + Long limit, List status) { this.created = created; this.createdGt = createdGt; @@ -102,7 +102,7 @@ public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; private List status; @@ -191,7 +191,7 @@ public Builder putAllExtraParam(Map map) { } /** The maximum number of results to return. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/PayoutMethodListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutMethodListParams.java index 99ea4de3257..733d4673d9b 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/PayoutMethodListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutMethodListParams.java @@ -24,14 +24,14 @@ public class PayoutMethodListParams extends ApiRequestParams { /** The page size. */ @SerializedName("limit") - Integer limit; + Long limit; /** Usage status filter. */ @SerializedName("usage_status") UsageStatus usageStatus; private PayoutMethodListParams( - Map extraParams, Integer limit, UsageStatus usageStatus) { + Map extraParams, Long limit, UsageStatus usageStatus) { this.extraParams = extraParams; this.limit = limit; this.usageStatus = usageStatus; @@ -44,7 +44,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; private UsageStatus usageStatus; @@ -80,7 +80,7 @@ public Builder putAllExtraParam(Map map) { } /** The page size. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedCreditListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedCreditListParams.java index ebcc6dd16d0..5706d2c9590 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedCreditListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedCreditListParams.java @@ -58,7 +58,7 @@ public class ReceivedCreditListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; private ReceivedCreditListParams( Instant created, @@ -67,7 +67,7 @@ private ReceivedCreditListParams( Instant createdLt, Instant createdLte, Map extraParams, - Integer limit) { + Long limit) { this.created = created; this.createdGt = createdGt; this.createdGte = createdGte; @@ -94,7 +94,7 @@ public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public ReceivedCreditListParams build() { @@ -180,7 +180,7 @@ public Builder putAllExtraParam(Map map) { } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedDebitListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedDebitListParams.java index a5325307144..e649837e789 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedDebitListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/ReceivedDebitListParams.java @@ -22,9 +22,9 @@ public class ReceivedDebitListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; - private ReceivedDebitListParams(Map extraParams, Integer limit) { + private ReceivedDebitListParams(Map extraParams, Long limit) { this.extraParams = extraParams; this.limit = limit; } @@ -36,7 +36,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public ReceivedDebitListParams build() { @@ -70,7 +70,7 @@ public Builder putAllExtraParam(Map map) { } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/TransactionEntryListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/TransactionEntryListParams.java index 29d86cf889c..c9e9e61c55d 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/TransactionEntryListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/TransactionEntryListParams.java @@ -43,7 +43,7 @@ public class TransactionEntryListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; /** Filter for TransactionEntries belonging to a Transaction. */ @SerializedName("transaction") @@ -56,7 +56,7 @@ private TransactionEntryListParams( Instant createdLt, Instant createdLte, Map extraParams, - Integer limit, + Long limit, String transaction) { this.created = created; this.createdGt = createdGt; @@ -85,7 +85,7 @@ public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; private String transaction; @@ -159,7 +159,7 @@ public Builder putAllExtraParam(Map map) { } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/TransactionListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/TransactionListParams.java index c68ba25651d..5fee3aa90d9 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/TransactionListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/TransactionListParams.java @@ -51,7 +51,7 @@ public class TransactionListParams extends ApiRequestParams { /** The page limit. */ @SerializedName("limit") - Integer limit; + Long limit; private TransactionListParams( Instant created, @@ -62,7 +62,7 @@ private TransactionListParams( Map extraParams, String financialAccount, String flow, - Integer limit) { + Long limit) { this.created = created; this.createdGt = createdGt; this.createdGte = createdGte; @@ -95,7 +95,7 @@ public static class Builder { private String flow; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public TransactionListParams build() { @@ -180,7 +180,7 @@ public Builder setFlow(String flow) { } /** The page limit. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java b/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java index 740bedd974a..bfbd00c1cb5 100644 --- a/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java +++ b/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentCreateParams.java @@ -391,7 +391,7 @@ public static class TransferData { * unit (e.g., 100 cents to charge $1.00). */ @SerializedName("amount") - Integer amount; + Long amount; /** * Required. The account (if any) that the payment is attributed to for tax @@ -409,7 +409,7 @@ public static class TransferData { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private TransferData(Integer amount, String destination, Map extraParams) { + private TransferData(Long amount, String destination, Map extraParams) { this.amount = amount; this.destination = destination; this.extraParams = extraParams; @@ -420,7 +420,7 @@ public static Builder builder() { } public static class Builder { - private Integer amount; + private Long amount; private String destination; @@ -440,7 +440,7 @@ public OffSessionPaymentCreateParams.TransferData build() { * and must be a positive integer representing how much to transfer in the smallest currency * unit (e.g., 100 cents to charge $1.00). */ - public Builder setAmount(Integer amount) { + public Builder setAmount(Long amount) { this.amount = amount; return this; } diff --git a/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentListParams.java b/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentListParams.java index 6131ef337aa..1ac7a81f472 100644 --- a/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentListParams.java +++ b/src/main/java/com/stripe/param/v2/payments/OffSessionPaymentListParams.java @@ -22,9 +22,9 @@ public class OffSessionPaymentListParams extends ApiRequestParams { /** The page size limit. If not provided, the default is 20. */ @SerializedName("limit") - Integer limit; + Long limit; - private OffSessionPaymentListParams(Map extraParams, Integer limit) { + private OffSessionPaymentListParams(Map extraParams, Long limit) { this.extraParams = extraParams; this.limit = limit; } @@ -36,7 +36,7 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Integer limit; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public OffSessionPaymentListParams build() { @@ -70,7 +70,7 @@ public Builder putAllExtraParam(Map map) { } /** The page size limit. If not provided, the default is 20. */ - public Builder setLimit(Integer limit) { + public Builder setLimit(Long limit) { this.limit = limit; return this; } diff --git a/src/main/java/com/stripe/service/BalanceSettingsService.java b/src/main/java/com/stripe/service/BalanceSettingsService.java index f1e901bc4c1..463e5cd1756 100644 --- a/src/main/java/com/stripe/service/BalanceSettingsService.java +++ b/src/main/java/com/stripe/service/BalanceSettingsService.java @@ -62,6 +62,20 @@ public BalanceSettings retrieve(BalanceSettingsRetrieveParams params, RequestOpt public BalanceSettings update(BalanceSettingsUpdateParams params) throws StripeException { return update(params, (RequestOptions) null); } + /** + * Updates balance settings for a given connected account. Related guide: Making API calls for connected accounts + */ + public BalanceSettings update(RequestOptions options) throws StripeException { + return update((BalanceSettingsUpdateParams) null, options); + } + /** + * Updates balance settings for a given connected account. Related guide: Making API calls for connected accounts + */ + public BalanceSettings update() throws StripeException { + return update((BalanceSettingsUpdateParams) null, (RequestOptions) null); + } /** * Updates balance settings for a given connected account. Related guide: Making API calls for connected accounts diff --git a/src/main/java/com/stripe/service/BillingService.java b/src/main/java/com/stripe/service/BillingService.java index 94dff2a2fee..9217247b823 100644 --- a/src/main/java/com/stripe/service/BillingService.java +++ b/src/main/java/com/stripe/service/BillingService.java @@ -13,6 +13,10 @@ public com.stripe.service.billing.AlertService alerts() { return new com.stripe.service.billing.AlertService(this.getResponseGetter()); } + public com.stripe.service.billing.AnalyticsService analytics() { + return new com.stripe.service.billing.AnalyticsService(this.getResponseGetter()); + } + public com.stripe.service.billing.CreditBalanceSummaryService creditBalanceSummary() { return new com.stripe.service.billing.CreditBalanceSummaryService(this.getResponseGetter()); } @@ -33,10 +37,6 @@ public com.stripe.service.billing.MeterEventService meterEvents() { return new com.stripe.service.billing.MeterEventService(this.getResponseGetter()); } - public com.stripe.service.billing.MeterUsageService meterUsage() { - return new com.stripe.service.billing.MeterUsageService(this.getResponseGetter()); - } - public com.stripe.service.billing.MeterService meters() { return new com.stripe.service.billing.MeterService(this.getResponseGetter()); } diff --git a/src/main/java/com/stripe/service/ExchangeRateService.java b/src/main/java/com/stripe/service/ExchangeRateService.java index c8e50cb422f..83cacab1a98 100644 --- a/src/main/java/com/stripe/service/ExchangeRateService.java +++ b/src/main/java/com/stripe/service/ExchangeRateService.java @@ -21,29 +21,45 @@ public ExchangeRateService(StripeResponseGetter responseGetter) { } /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ public StripeCollection list(ExchangeRateListParams params) throws StripeException { return list(params, (RequestOptions) null); } /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ public StripeCollection list(RequestOptions options) throws StripeException { return list((ExchangeRateListParams) null, options); } /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ public StripeCollection list() throws StripeException { return list((ExchangeRateListParams) null, (RequestOptions) null); } /** - * Returns a list of objects that contain the rates at which foreign currencies are converted to - * one another. Only shows the currencies for which Stripe supports. + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Returns a list of objects that contain the rates at which foreign currencies are converted + * to one another. Only shows the currencies for which Stripe supports. */ public StripeCollection list(ExchangeRateListParams params, RequestOptions options) throws StripeException { @@ -57,20 +73,44 @@ public StripeCollection list(ExchangeRateListParams params, Reques options); return this.request(request, new TypeToken>() {}.getType()); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ public ExchangeRate retrieve(String rateId, ExchangeRateRetrieveParams params) throws StripeException { return retrieve(rateId, params, (RequestOptions) null); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ public ExchangeRate retrieve(String rateId, RequestOptions options) throws StripeException { return retrieve(rateId, (ExchangeRateRetrieveParams) null, options); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ public ExchangeRate retrieve(String rateId) throws StripeException { return retrieve(rateId, (ExchangeRateRetrieveParams) null, (RequestOptions) null); } - /** Retrieves the exchange rates from the given currency to every supported currency. */ + /** + * [Deprecated] The {@code ExchangeRate} APIs are deprecated. Please use the FX Quotes + * API instead. + * + *

Retrieves the exchange rates from the given currency to every supported currency. + */ public ExchangeRate retrieve( String rateId, ExchangeRateRetrieveParams params, RequestOptions options) throws StripeException { diff --git a/src/main/java/com/stripe/service/PaymentRecordService.java b/src/main/java/com/stripe/service/PaymentRecordService.java index 7c62b0d39af..a0a45a0f08e 100644 --- a/src/main/java/com/stripe/service/PaymentRecordService.java +++ b/src/main/java/com/stripe/service/PaymentRecordService.java @@ -13,6 +13,7 @@ import com.stripe.param.PaymentRecordReportPaymentAttemptCanceledParams; import com.stripe.param.PaymentRecordReportPaymentAttemptFailedParams; import com.stripe.param.PaymentRecordReportPaymentAttemptGuaranteedParams; +import com.stripe.param.PaymentRecordReportPaymentAttemptInformationalParams; import com.stripe.param.PaymentRecordReportPaymentAttemptParams; import com.stripe.param.PaymentRecordReportPaymentParams; import com.stripe.param.PaymentRecordRetrieveParams; @@ -143,6 +144,42 @@ public PaymentRecord reportPaymentAttemptGuaranteed( options); return this.request(request, PaymentRecord.class); } + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational( + String id, PaymentRecordReportPaymentAttemptInformationalParams params) + throws StripeException { + return reportPaymentAttemptInformational(id, params, (RequestOptions) null); + } + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational(String id, RequestOptions options) + throws StripeException { + return reportPaymentAttemptInformational( + id, (PaymentRecordReportPaymentAttemptInformationalParams) null, options); + } + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational(String id) throws StripeException { + return reportPaymentAttemptInformational( + id, (PaymentRecordReportPaymentAttemptInformationalParams) null, (RequestOptions) null); + } + /** Report informational updates on the specified Payment Record. */ + public PaymentRecord reportPaymentAttemptInformational( + String id, + PaymentRecordReportPaymentAttemptInformationalParams params, + RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/payment_records/%s/report_payment_attempt_informational", + ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PaymentRecord.class); + } /** * Report a new Payment Record. You may report a Payment Record as it is initialized and later * report updates through the other report_* methods, or report Payment Records in a terminal diff --git a/src/main/java/com/stripe/service/PromotionCodeService.java b/src/main/java/com/stripe/service/PromotionCodeService.java index 706d2adbc87..42cefa9cdbb 100644 --- a/src/main/java/com/stripe/service/PromotionCodeService.java +++ b/src/main/java/com/stripe/service/PromotionCodeService.java @@ -49,15 +49,15 @@ public StripeCollection list( return this.request(request, new TypeToken>() {}.getType()); } /** - * A promotion code points to a coupon. You can optionally restrict the code to a specific - * customer, redemption limit, and expiration date. + * A promotion code points to an underlying promotion. You can optionally restrict the code to a + * specific customer, redemption limit, and expiration date. */ public PromotionCode create(PromotionCodeCreateParams params) throws StripeException { return create(params, (RequestOptions) null); } /** - * A promotion code points to a coupon. You can optionally restrict the code to a specific - * customer, redemption limit, and expiration date. + * A promotion code points to an underlying promotion. You can optionally restrict the code to a + * specific customer, redemption limit, and expiration date. */ public PromotionCode create(PromotionCodeCreateParams params, RequestOptions options) throws StripeException { diff --git a/src/main/java/com/stripe/service/billing/AnalyticsService.java b/src/main/java/com/stripe/service/billing/AnalyticsService.java new file mode 100644 index 00000000000..ecf865aca6d --- /dev/null +++ b/src/main/java/com/stripe/service/billing/AnalyticsService.java @@ -0,0 +1,15 @@ +// File generated from our OpenAPI spec +package com.stripe.service.billing; + +import com.stripe.net.ApiService; +import com.stripe.net.StripeResponseGetter; + +public final class AnalyticsService extends ApiService { + public AnalyticsService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + public com.stripe.service.billing.analytics.MeterUsageService meterUsage() { + return new com.stripe.service.billing.analytics.MeterUsageService(this.getResponseGetter()); + } +} diff --git a/src/main/java/com/stripe/service/billing/MeterUsageService.java b/src/main/java/com/stripe/service/billing/analytics/MeterUsageService.java similarity index 89% rename from src/main/java/com/stripe/service/billing/MeterUsageService.java rename to src/main/java/com/stripe/service/billing/analytics/MeterUsageService.java index 0beae5f7166..d30623ead25 100644 --- a/src/main/java/com/stripe/service/billing/MeterUsageService.java +++ b/src/main/java/com/stripe/service/billing/analytics/MeterUsageService.java @@ -1,8 +1,8 @@ // File generated from our OpenAPI spec -package com.stripe.service.billing; +package com.stripe.service.billing.analytics; import com.stripe.exception.StripeException; -import com.stripe.model.billing.MeterUsage; +import com.stripe.model.billing.analytics.MeterUsage; import com.stripe.net.ApiRequest; import com.stripe.net.ApiRequestParams; import com.stripe.net.ApiResource; @@ -10,7 +10,7 @@ import com.stripe.net.BaseAddress; import com.stripe.net.RequestOptions; import com.stripe.net.StripeResponseGetter; -import com.stripe.param.billing.MeterUsageRetrieveParams; +import com.stripe.param.billing.analytics.MeterUsageRetrieveParams; public final class MeterUsageService extends ApiService { public MeterUsageService(StripeResponseGetter responseGetter) { diff --git a/src/main/java/com/stripe/service/terminal/LocationService.java b/src/main/java/com/stripe/service/terminal/LocationService.java index a12d3a5f8d7..33c074d6ef7 100644 --- a/src/main/java/com/stripe/service/terminal/LocationService.java +++ b/src/main/java/com/stripe/service/terminal/LocationService.java @@ -128,6 +128,22 @@ public StripeCollection list(LocationListParams params, RequestOptions public Location create(LocationCreateParams params) throws StripeException { return create(params, (RequestOptions) null); } + /** + * Creates a new {@code Location} object. For further details, including which address fields are + * required in each country, see the Manage locations guide. + */ + public Location create(RequestOptions options) throws StripeException { + return create((LocationCreateParams) null, options); + } + /** + * Creates a new {@code Location} object. For further details, including which address fields are + * required in each country, see the Manage locations guide. + */ + public Location create() throws StripeException { + return create((LocationCreateParams) null, (RequestOptions) null); + } /** * Creates a new {@code Location} object. For further details, including which address fields are * required in each country, see the list(String accountId, PersonListParams params) + public StripeCollection list(String accountId, PersonListParams params) throws StripeException { return list(accountId, params, (RequestOptions) null); } /** Returns a list of Persons associated with an Account. */ - public StripeCollection list(String accountId, RequestOptions options) + public StripeCollection list(String accountId, RequestOptions options) throws StripeException { return list(accountId, (PersonListParams) null, options); } /** Returns a list of Persons associated with an Account. */ - public StripeCollection list(String accountId) throws StripeException { + public StripeCollection list(String accountId) throws StripeException { return list(accountId, (PersonListParams) null, (RequestOptions) null); } /** Returns a list of Persons associated with an Account. */ - public StripeCollection list( + public StripeCollection list( String accountId, PersonListParams params, RequestOptions options) throws StripeException { String path = String.format("/v2/core/accounts/%s/persons", ApiResource.urlEncodeId(accountId)); ApiRequest request = @@ -46,22 +47,22 @@ public StripeCollection list( path, ApiRequestParams.paramsToMap(params), options); - return this.request(request, new TypeToken>() {}.getType()); + return this.request(request, new TypeToken>() {}.getType()); } /** Create a Person associated with an Account. */ - public Person create(String accountId, PersonCreateParams params) throws StripeException { + public AccountPerson create(String accountId, PersonCreateParams params) throws StripeException { return create(accountId, params, (RequestOptions) null); } /** Create a Person associated with an Account. */ - public Person create(String accountId, RequestOptions options) throws StripeException { + public AccountPerson create(String accountId, RequestOptions options) throws StripeException { return create(accountId, (PersonCreateParams) null, options); } /** Create a Person associated with an Account. */ - public Person create(String accountId) throws StripeException { + public AccountPerson create(String accountId) throws StripeException { return create(accountId, (PersonCreateParams) null, (RequestOptions) null); } /** Create a Person associated with an Account. */ - public Person create(String accountId, PersonCreateParams params, RequestOptions options) + public AccountPerson create(String accountId, PersonCreateParams params, RequestOptions options) throws StripeException { String path = String.format("/v2/core/accounts/%s/persons", ApiResource.urlEncodeId(accountId)); ApiRequest request = @@ -71,28 +72,29 @@ public Person create(String accountId, PersonCreateParams params, RequestOptions path, ApiRequestParams.paramsToMap(params), options); - return this.request(request, Person.class); + return this.request(request, AccountPerson.class); } /** Delete a Person associated with an Account. */ - public Person delete(String accountId, String id) throws StripeException { + public DeletedObject delete(String accountId, String id) throws StripeException { return delete(accountId, id, (RequestOptions) null); } /** Delete a Person associated with an Account. */ - public Person delete(String accountId, String id, RequestOptions options) throws StripeException { + public DeletedObject delete(String accountId, String id, RequestOptions options) + throws StripeException { String path = String.format( "/v2/core/accounts/%s/persons/%s", ApiResource.urlEncodeId(accountId), ApiResource.urlEncodeId(id)); ApiRequest request = new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.DELETE, path, null, options); - return this.request(request, Person.class); + return this.request(request, DeletedObject.class); } /** Retrieves a Person associated with an Account. */ - public Person retrieve(String accountId, String id) throws StripeException { + public AccountPerson retrieve(String accountId, String id) throws StripeException { return retrieve(accountId, id, (RequestOptions) null); } /** Retrieves a Person associated with an Account. */ - public Person retrieve(String accountId, String id, RequestOptions options) + public AccountPerson retrieve(String accountId, String id, RequestOptions options) throws StripeException { String path = String.format( @@ -100,23 +102,24 @@ public Person retrieve(String accountId, String id, RequestOptions options) ApiResource.urlEncodeId(accountId), ApiResource.urlEncodeId(id)); ApiRequest request = new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, null, options); - return this.request(request, Person.class); + return this.request(request, AccountPerson.class); } /** Updates a Person associated with an Account. */ - public Person update(String accountId, String id, PersonUpdateParams params) + public AccountPerson update(String accountId, String id, PersonUpdateParams params) throws StripeException { return update(accountId, id, params, (RequestOptions) null); } /** Updates a Person associated with an Account. */ - public Person update(String accountId, String id, RequestOptions options) throws StripeException { + public AccountPerson update(String accountId, String id, RequestOptions options) + throws StripeException { return update(accountId, id, (PersonUpdateParams) null, options); } /** Updates a Person associated with an Account. */ - public Person update(String accountId, String id) throws StripeException { + public AccountPerson update(String accountId, String id) throws StripeException { return update(accountId, id, (PersonUpdateParams) null, (RequestOptions) null); } /** Updates a Person associated with an Account. */ - public Person update( + public AccountPerson update( String accountId, String id, PersonUpdateParams params, RequestOptions options) throws StripeException { String path = @@ -130,6 +133,6 @@ public Person update( path, ApiRequestParams.paramsToMap(params), options); - return this.request(request, Person.class); + return this.request(request, AccountPerson.class); } } diff --git a/src/test/java/com/stripe/BaseStripeTest.java b/src/test/java/com/stripe/BaseStripeTest.java index a77b55f839b..847dd57cfb1 100644 --- a/src/test/java/com/stripe/BaseStripeTest.java +++ b/src/test/java/com/stripe/BaseStripeTest.java @@ -7,7 +7,7 @@ import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; import com.stripe.exception.StripeException; -import com.stripe.model.StripeObjectInterface; +import com.stripe.model.StripeObject; import com.stripe.net.*; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; @@ -174,7 +174,7 @@ public static void verifyRequest( verifyRequest(method, path, params, null); } - public static void verifyRequest( + public static void verifyRequest( ApiResource.RequestMethod method, String path, Map params, @@ -191,7 +191,7 @@ public static void verifyRequest( * @param options request options. If null, the options are not checked. */ @SuppressWarnings("AssertionFailureIgnored") - public static void verifyRequest( + public static void verifyRequest( BaseAddress baseAddress, ApiResource.RequestMethod method, String path, @@ -217,8 +217,8 @@ public static void verifyRequest( } @SuppressWarnings("AssertionFailureIgnored") - public static void verifyRequest( - Consumer assertOnApiRequest) throws StripeException { + public static void verifyRequest(Consumer assertOnApiRequest) + throws StripeException { ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(ApiRequest.class); List exceptions = new ArrayList(); @@ -250,7 +250,7 @@ public static void verifyRequest( } @SuppressWarnings("AssertionFailureIgnored") - public static void verifyStripeRequest( + public static void verifyStripeRequest( Consumer assertOnStripeRequest) throws StripeException { ArgumentCaptor requestCaptor = ArgumentCaptor.forClass(StripeRequest.class); @@ -293,7 +293,7 @@ public static void verifyNoMoreRequests() { * @see BaseStripeTest#stubRequest(ApiResource.RequestMethod, String, Map, RequestOptions, Class, * String) */ - public static void stubRequest( + public static void stubRequest( ApiResource.RequestMethod method, String path, Type typeToken, String response) throws StripeException { stubRequest(BaseAddress.API, method, path, null, null, typeToken, response); @@ -305,7 +305,7 @@ public static void stubRequest( * @see BaseStripeTest#stubRequest(ApiResource.RequestMethod, String, Map, RequestOptions, Class, * String) */ - public static void stubRequest( + public static void stubRequest( ApiResource.RequestMethod method, String path, Map params, @@ -326,7 +326,7 @@ public static void stubRequest( * @param typeToken Class of the API resource that will be returned for the stubbed request. * @param response JSON payload of the API resource that will be returned for the stubbed request. */ - public static void stubRequest( + public static void stubRequest( BaseAddress baseAddress, ApiResource.RequestMethod method, String path, @@ -362,7 +362,7 @@ public static void stubRequest( * @param typeToken Class of the API resource that will be returned for the stubbed request. * @param response JSON payload of the API resource that will be returned for the stubbed request. */ - public static void stubRequestReturnError( + public static void stubRequestReturnError( BaseAddress baseAddress, ApiResource.RequestMethod method, String path, @@ -381,8 +381,8 @@ public static void stubRequestReturnError( } /** Stubs an OAuth API request. stripe-mock does not supported OAuth endpoints at this time. */ - public static void stubOAuthRequest( - Class clazz, String response) throws StripeException { + public static void stubOAuthRequest(Class clazz, String response) + throws StripeException { Mockito.doReturn(ApiResource.GSON.fromJson(response, clazz)) .when(networkSpy) .request(Mockito.any(ApiRequest.class), Mockito.any()); diff --git a/src/test/java/com/stripe/functional/GeneratedExamples.java b/src/test/java/com/stripe/functional/GeneratedExamples.java index 728c617b1e2..bee9d64d7fb 100644 --- a/src/test/java/com/stripe/functional/GeneratedExamples.java +++ b/src/test/java/com/stripe/functional/GeneratedExamples.java @@ -12811,55 +12811,6 @@ public void testPromotionCodesGet2ServicesNonNamespaced() throws StripeException @Test public void testPromotionCodesPost() throws StripeException { - PromotionCodeCreateParams params = - PromotionCodeCreateParams.builder().setCoupon("Z4OV52SU").build(); - - PromotionCode promotionCode = PromotionCode.create(params); - assertNotNull(promotionCode); - verifyRequest( - BaseAddress.API, - ApiResource.RequestMethod.POST, - "/v1/promotion_codes", - params.toMap(), - null); - } - - @Test - public void testPromotionCodesPostServices() throws StripeException { - StripeClient client = new StripeClient(networkSpy); - - com.stripe.param.PromotionCodeCreateParams params = - com.stripe.param.PromotionCodeCreateParams.builder().setCoupon("Z4OV52SU").build(); - - com.stripe.model.PromotionCode promotionCode = client.v1().promotionCodes().create(params); - assertNotNull(promotionCode); - verifyRequest( - BaseAddress.API, - ApiResource.RequestMethod.POST, - "/v1/promotion_codes", - params.toMap(), - null); - } - - @Test - public void testPromotionCodesPostServicesNonNamespaced() throws StripeException { - StripeClient client = new StripeClient(networkSpy); - - com.stripe.param.PromotionCodeCreateParams params = - com.stripe.param.PromotionCodeCreateParams.builder().setCoupon("Z4OV52SU").build(); - - com.stripe.model.PromotionCode promotionCode = client.promotionCodes().create(params); - assertNotNull(promotionCode); - verifyRequest( - BaseAddress.API, - ApiResource.RequestMethod.POST, - "/v1/promotion_codes", - params.toMap(), - null); - } - - @Test - public void testPromotionCodesPost2() throws StripeException { PromotionCode resource = PromotionCode.retrieve("promo_xxxxxxxxxxxxx"); PromotionCodeUpdateParams params = @@ -12876,7 +12827,7 @@ public void testPromotionCodesPost2() throws StripeException { } @Test - public void testPromotionCodesPost2Services() throws StripeException { + public void testPromotionCodesPostServices() throws StripeException { StripeClient client = new StripeClient(networkSpy); com.stripe.param.PromotionCodeUpdateParams params = @@ -12896,7 +12847,7 @@ public void testPromotionCodesPost2Services() throws StripeException { } @Test - public void testPromotionCodesPost2ServicesNonNamespaced() throws StripeException { + public void testPromotionCodesPostServicesNonNamespaced() throws StripeException { StripeClient client = new StripeClient(networkSpy); com.stripe.param.PromotionCodeUpdateParams params = @@ -16017,7 +15968,6 @@ public void testSubscriptionSchedulesPost() throws StripeException { .setPrice("price_xxxxxxxxxxxxx") .setQuantity(1L) .build()) - .setIterations(12L) .build()) .build(); @@ -16047,7 +15997,6 @@ public void testSubscriptionSchedulesPostServices() throws StripeException { .setPrice("price_xxxxxxxxxxxxx") .setQuantity(1L) .build()) - .setIterations(12L) .build()) .build(); @@ -16078,7 +16027,6 @@ public void testSubscriptionSchedulesPostServicesNonNamespaced() throws StripeEx .setPrice("price_xxxxxxxxxxxxx") .setQuantity(1L) .build()) - .setIterations(12L) .build()) .build(); @@ -24539,7 +24487,7 @@ public void testV2CoreAccountGetServices() throws StripeException { null, new TypeToken< com.stripe.model.v2.StripeCollection>() {}.getType(), - "{\"data\":[{\"applied_configurations\":[\"storer\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"id\":\"obj_123\",\"identity\":null,\"metadata\":null,\"object\":\"v2.core.account\",\"requirements\":null,\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.AccountListParams params = @@ -24561,7 +24509,7 @@ public void testV2CoreAccountPostServices() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"id\":\"obj_123\",\"identity\":null,\"metadata\":null,\"object\":\"v2.core.account\",\"requirements\":null,\"livemode\":true}"); + "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.AccountCreateParams params = @@ -24582,7 +24530,7 @@ public void testV2CoreAccountGet2Services() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"id\":\"obj_123\",\"identity\":null,\"metadata\":null,\"object\":\"v2.core.account\",\"requirements\":null,\"livemode\":true}"); + "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.AccountRetrieveParams params = @@ -24608,7 +24556,7 @@ public void testV2CoreAccountPost2Services() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"id\":\"obj_123\",\"identity\":null,\"metadata\":null,\"object\":\"v2.core.account\",\"requirements\":null,\"livemode\":true}"); + "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.AccountUpdateParams params = @@ -24634,7 +24582,7 @@ public void testV2CoreAccountPost3Services() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"configuration\":null,\"contact_email\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"dashboard\":null,\"defaults\":null,\"display_name\":null,\"id\":\"obj_123\",\"identity\":null,\"metadata\":null,\"object\":\"v2.core.account\",\"requirements\":null,\"livemode\":true}"); + "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.AccountCloseParams params = @@ -24660,14 +24608,15 @@ public void testV2CoreAccountsPersonGetServices() throws StripeException { null, null, new TypeToken< - com.stripe.model.v2.StripeCollection>() {}.getType(), - "{\"data\":[{\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id\":\"obj_123\",\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"object\":\"v2.core.account_person\",\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + com.stripe.model.v2.StripeCollection< + com.stripe.model.v2.core.AccountPerson>>() {}.getType(), + "{\"data\":[{\"account\":\"account\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.accounts.PersonListParams params = com.stripe.param.v2.core.accounts.PersonListParams.builder().build(); - com.stripe.model.v2.StripeCollection stripeCollection = + com.stripe.model.v2.StripeCollection stripeCollection = client.v2().core().accounts().persons().list("account_id_123", params); assertNotNull(stripeCollection); verifyRequest( @@ -24686,16 +24635,16 @@ public void testV2CoreAccountsPersonPostServices() throws StripeException { "/v2/core/accounts/account_id_123/persons", null, null, - com.stripe.model.v2.core.Person.class, - "{\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id\":\"obj_123\",\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"object\":\"v2.core.account_person\",\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); + com.stripe.model.v2.core.AccountPerson.class, + "{\"account\":\"account\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.accounts.PersonCreateParams params = com.stripe.param.v2.core.accounts.PersonCreateParams.builder().build(); - com.stripe.model.v2.core.Person person = + com.stripe.model.v2.core.AccountPerson accountPerson = client.v2().core().accounts().persons().create("account_id_123", params); - assertNotNull(person); + assertNotNull(accountPerson); verifyRequest( BaseAddress.API, ApiResource.RequestMethod.POST, @@ -24712,13 +24661,13 @@ public void testV2CoreAccountsPersonDeleteServices() throws StripeException { "/v2/core/accounts/account_id_123/persons/id_123", null, null, - com.stripe.model.v2.core.Person.class, - "{\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id\":\"obj_123\",\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"object\":\"v2.core.account_person\",\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); + com.stripe.model.v2.DeletedObject.class, + "{\"id\":\"abc_123\",\"object\":\"some.object.tag\"}"); StripeClient client = new StripeClient(networkSpy); - com.stripe.model.v2.core.Person person = + com.stripe.model.v2.DeletedObject deletedObject = client.v2().core().accounts().persons().delete("account_id_123", "id_123"); - assertNotNull(person); + assertNotNull(deletedObject); verifyRequest( BaseAddress.API, ApiResource.RequestMethod.DELETE, @@ -24735,13 +24684,13 @@ public void testV2CoreAccountsPersonGet2Services() throws StripeException { "/v2/core/accounts/account_id_123/persons/id_123", null, null, - com.stripe.model.v2.core.Person.class, - "{\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id\":\"obj_123\",\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"object\":\"v2.core.account_person\",\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); + com.stripe.model.v2.core.AccountPerson.class, + "{\"account\":\"account\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); - com.stripe.model.v2.core.Person person = + com.stripe.model.v2.core.AccountPerson accountPerson = client.v2().core().accounts().persons().retrieve("account_id_123", "id_123"); - assertNotNull(person); + assertNotNull(accountPerson); verifyRequest( BaseAddress.API, ApiResource.RequestMethod.GET, @@ -24758,16 +24707,16 @@ public void testV2CoreAccountsPersonPost2Services() throws StripeException { "/v2/core/accounts/account_id_123/persons/id_123", null, null, - com.stripe.model.v2.core.Person.class, - "{\"account\":\"account\",\"additional_addresses\":null,\"additional_names\":null,\"additional_terms_of_service\":null,\"address\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"date_of_birth\":null,\"documents\":null,\"email\":null,\"given_name\":null,\"id\":\"obj_123\",\"id_numbers\":null,\"legal_gender\":null,\"metadata\":null,\"nationalities\":null,\"object\":\"v2.core.account_person\",\"phone\":null,\"political_exposure\":null,\"relationship\":null,\"script_addresses\":null,\"script_names\":null,\"surname\":null,\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); + com.stripe.model.v2.core.AccountPerson.class, + "{\"account\":\"account\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account_person\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.accounts.PersonUpdateParams params = com.stripe.param.v2.core.accounts.PersonUpdateParams.builder().build(); - com.stripe.model.v2.core.Person person = + com.stripe.model.v2.core.AccountPerson accountPerson = client.v2().core().accounts().persons().update("account_id_123", "id_123", params); - assertNotNull(person); + assertNotNull(accountPerson); verifyRequest( BaseAddress.API, ApiResource.RequestMethod.POST, @@ -24785,7 +24734,7 @@ public void testV2CoreAccountLinkPostServices() throws StripeException { null, null, com.stripe.model.v2.core.AccountLink.class, - "{\"account\":\"account\",\"created\":\"1970-01-12T21:42:34.472Z\",\"expires_at\":\"1970-01-10T15:36:51.170Z\",\"object\":\"v2.core.account_link\",\"url\":\"url\",\"use_case\":{\"type\":\"account_onboarding\",\"account_onboarding\":null,\"account_update\":null},\"livemode\":true}"); + "{\"account\":\"account\",\"created\":\"1970-01-12T21:42:34.472Z\",\"expires_at\":\"1970-01-10T15:36:51.170Z\",\"object\":\"v2.core.account_link\",\"url\":\"url\",\"use_case\":{\"type\":\"account_onboarding\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.AccountLinkCreateParams params = @@ -24861,7 +24810,7 @@ public void testV2CoreEventGetServices() throws StripeException { null, new TypeToken< com.stripe.model.v2.StripeCollection>() {}.getType(), - "{\"data\":[{\"context\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"reason\":null,\"type\":\"type\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"type\":\"type\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.EventListParams params = @@ -24883,7 +24832,7 @@ public void testV2CoreEventGet2Services() throws StripeException { null, null, com.stripe.model.v2.Event.class, - "{\"context\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"reason\":null,\"type\":\"type\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"type\":\"type\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.Event event = client.v2().core().events().retrieve("id_123"); @@ -24903,7 +24852,7 @@ public void testV2CoreEventDestinationGetServices() throws StripeException { new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.EventDestination>>() {}.getType(), - "{\"data\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"id\":\"obj_123\",\"metadata\":null,\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true,\"amazon_eventbridge\":null,\"webhook_endpoint\":null}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"id\":\"obj_123\",\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"status\":\"disabled\",\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.EventDestinationListParams params = @@ -24929,7 +24878,7 @@ public void testV2CoreEventDestinationPostServices() throws StripeException { null, null, com.stripe.model.v2.EventDestination.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"id\":\"obj_123\",\"metadata\":null,\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true,\"amazon_eventbridge\":null,\"webhook_endpoint\":null}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"id\":\"obj_123\",\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"status\":\"disabled\",\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.EventDestinationCreateParams params = @@ -24960,13 +24909,13 @@ public void testV2CoreEventDestinationDeleteServices() throws StripeException { "/v2/core/event_destinations/id_123", null, null, - com.stripe.model.v2.EventDestination.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"id\":\"obj_123\",\"metadata\":null,\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true,\"amazon_eventbridge\":null,\"webhook_endpoint\":null}"); + com.stripe.model.v2.DeletedObject.class, + "{\"id\":\"abc_123\",\"object\":\"some.object.tag\"}"); StripeClient client = new StripeClient(networkSpy); - com.stripe.model.v2.EventDestination eventDestination = + com.stripe.model.v2.DeletedObject deletedObject = client.v2().core().eventDestinations().delete("id_123"); - assertNotNull(eventDestination); + assertNotNull(deletedObject); verifyRequest( BaseAddress.API, ApiResource.RequestMethod.DELETE, @@ -24984,7 +24933,7 @@ public void testV2CoreEventDestinationGet2Services() throws StripeException { null, null, com.stripe.model.v2.EventDestination.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"id\":\"obj_123\",\"metadata\":null,\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true,\"amazon_eventbridge\":null,\"webhook_endpoint\":null}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"id\":\"obj_123\",\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"status\":\"disabled\",\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.EventDestinationRetrieveParams params = @@ -25010,7 +24959,7 @@ public void testV2CoreEventDestinationPost2Services() throws StripeException { null, null, com.stripe.model.v2.EventDestination.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"id\":\"obj_123\",\"metadata\":null,\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true,\"amazon_eventbridge\":null,\"webhook_endpoint\":null}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"id\":\"obj_123\",\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"status\":\"disabled\",\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.EventDestinationUpdateParams params = @@ -25036,7 +24985,7 @@ public void testV2CoreEventDestinationPost3Services() throws StripeException { null, null, com.stripe.model.v2.EventDestination.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"id\":\"obj_123\",\"metadata\":null,\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true,\"amazon_eventbridge\":null,\"webhook_endpoint\":null}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"id\":\"obj_123\",\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"status\":\"disabled\",\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.EventDestination eventDestination = @@ -25059,7 +25008,7 @@ public void testV2CoreEventDestinationPost4Services() throws StripeException { null, null, com.stripe.model.v2.EventDestination.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"events_from\":null,\"id\":\"obj_123\",\"metadata\":null,\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"snapshot_api_version\":null,\"status\":\"disabled\",\"status_details\":null,\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true,\"amazon_eventbridge\":null,\"webhook_endpoint\":null}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"enabled_events\":[\"enabled_events\"],\"event_payload\":\"thin\",\"id\":\"obj_123\",\"name\":\"name\",\"object\":\"v2.core.event_destination\",\"status\":\"disabled\",\"type\":\"amazon_eventbridge\",\"updated\":\"1970-01-03T17:07:10.277Z\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.EventDestination eventDestination = @@ -25082,7 +25031,7 @@ public void testV2CoreEventDestinationPost5Services() throws StripeException { null, null, com.stripe.model.v2.Event.class, - "{\"context\":null,\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"reason\":null,\"type\":\"type\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.event\",\"type\":\"type\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.Event event = client.v2().core().eventDestinations().ping("id_123"); @@ -25104,7 +25053,7 @@ public void testV2CoreVaultGbBankAccountPostServices() throws StripeException { null, null, com.stripe.model.v2.core.vault.GbBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.vault.GbBankAccountCreateParams params = @@ -25133,7 +25082,7 @@ public void testV2CoreVaultGbBankAccountGetServices() throws StripeException { null, null, com.stripe.model.v2.core.vault.GbBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.vault.GbBankAccount gbBankAccount = @@ -25156,7 +25105,7 @@ public void testV2CoreVaultGbBankAccountPost2Services() throws StripeException { null, null, com.stripe.model.v2.core.vault.GbBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.vault.GbBankAccount gbBankAccount = @@ -25179,7 +25128,7 @@ public void testV2CoreVaultGbBankAccountPost3Services() throws StripeException { null, null, com.stripe.model.v2.core.vault.GbBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.vault.GbBankAccount gbBankAccount = @@ -25202,7 +25151,7 @@ public void testV2CoreVaultGbBankAccountPost4Services() throws StripeException { null, null, com.stripe.model.v2.core.vault.GbBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{\"business_type\":null,\"name\":null},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"confirmation_of_payee\":{\"result\":{\"created\":\"1970-01-12T21:42:34.472Z\",\"match_result\":\"unavailable\",\"matched\":{},\"message\":\"message\",\"provided\":{\"business_type\":\"personal\",\"name\":\"name\"}},\"status\":\"awaiting_acknowledgement\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.gb_bank_account\",\"sort_code\":\"sort_code\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.vault.GbBankAccountInitiateConfirmationOfPayeeParams params = @@ -25229,7 +25178,7 @@ public void testV2CoreVaultUsBankAccountPostServices() throws StripeException { null, null, com.stripe.model.v2.core.vault.UsBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"routing_number\":null,\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.vault.UsBankAccountCreateParams params = @@ -25257,7 +25206,7 @@ public void testV2CoreVaultUsBankAccountGetServices() throws StripeException { null, null, com.stripe.model.v2.core.vault.UsBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"routing_number\":null,\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.vault.UsBankAccount usBankAccount = @@ -25280,7 +25229,7 @@ public void testV2CoreVaultUsBankAccountPost2Services() throws StripeException { null, null, com.stripe.model.v2.core.vault.UsBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"routing_number\":null,\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.vault.UsBankAccountUpdateParams params = @@ -25306,7 +25255,7 @@ public void testV2CoreVaultUsBankAccountPost3Services() throws StripeException { null, null, com.stripe.model.v2.core.vault.UsBankAccount.class, - "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"fedwire_routing_number\":null,\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"routing_number\":null,\"livemode\":true}"); + "{\"archived\":true,\"bank_account_type\":\"savings\",\"bank_name\":\"bank_name\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"last4\":\"last4\",\"object\":\"v2.core.vault.us_bank_account\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.vault.UsBankAccount usBankAccount = @@ -25331,7 +25280,7 @@ public void testV2MoneyManagementAdjustmentGetServices() throws StripeException new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.Adjustment>>() {}.getType(), - "{\"data\":[{\"adjusted_flow\":null,\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.adjustment\",\"receipt_url\":null,\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.adjustment\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.AdjustmentListParams params = @@ -25357,7 +25306,7 @@ public void testV2MoneyManagementAdjustmentGet2Services() throws StripeException null, null, com.stripe.model.v2.moneymanagement.Adjustment.class, - "{\"adjusted_flow\":null,\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.adjustment\",\"receipt_url\":null,\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.adjustment\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.Adjustment adjustment = @@ -25382,7 +25331,7 @@ public void testV2MoneyManagementFinancialAccountGetServices() throws StripeExce new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.FinancialAccount>>() {}.getType(), - "{\"data\":[{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"af\",\"created\":\"1970-01-12T21:42:34.472Z\",\"display_name\":null,\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.financial_account\",\"other\":null,\"status\":\"closed\",\"status_details\":null,\"storage\":null,\"type\":\"other\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"country\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_account\",\"status\":\"closed\",\"type\":\"other\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.FinancialAccountListParams params = @@ -25408,7 +25357,7 @@ public void testV2MoneyManagementFinancialAccountPostServices() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.FinancialAccount.class, - "{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"af\",\"created\":\"1970-01-12T21:42:34.472Z\",\"display_name\":null,\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.financial_account\",\"other\":null,\"status\":\"closed\",\"status_details\":null,\"storage\":null,\"type\":\"other\",\"livemode\":true}"); + "{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"country\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_account\",\"status\":\"closed\",\"type\":\"other\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.FinancialAccountCreateParams params = @@ -25436,7 +25385,7 @@ public void testV2MoneyManagementFinancialAccountGet2Services() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.FinancialAccount.class, - "{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"af\",\"created\":\"1970-01-12T21:42:34.472Z\",\"display_name\":null,\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.financial_account\",\"other\":null,\"status\":\"closed\",\"status_details\":null,\"storage\":null,\"type\":\"other\",\"livemode\":true}"); + "{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"country\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_account\",\"status\":\"closed\",\"type\":\"other\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.FinancialAccount financialAccount = @@ -25459,7 +25408,7 @@ public void testV2MoneyManagementFinancialAccountPost2Services() throws StripeEx null, null, com.stripe.model.v2.moneymanagement.FinancialAccount.class, - "{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"af\",\"created\":\"1970-01-12T21:42:34.472Z\",\"display_name\":null,\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.financial_account\",\"other\":null,\"status\":\"closed\",\"status_details\":null,\"storage\":null,\"type\":\"other\",\"livemode\":true}"); + "{\"balance\":{\"available\":{\"key\":{\"currency\":\"USD\",\"value\":35}},\"inbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":11}},\"outbound_pending\":{\"key\":{\"currency\":\"USD\",\"value\":60}}},\"country\":\"country\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_account\",\"status\":\"closed\",\"type\":\"other\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.FinancialAccountCloseParams params = @@ -25487,7 +25436,7 @@ public void testV2MoneyManagementFinancialAddressGetServices() throws StripeExce new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.FinancialAddress>>() {}.getType(), - "{\"data\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"credentials\":null,\"currency\":\"stn\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"status\":\"failed\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"status\":\"failed\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.FinancialAddressListParams params = @@ -25513,13 +25462,12 @@ public void testV2MoneyManagementFinancialAddressPostServices() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.FinancialAddress.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"credentials\":null,\"currency\":\"stn\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"status\":\"failed\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"status\":\"failed\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.FinancialAddressCreateParams params = com.stripe.param.v2.moneymanagement.FinancialAddressCreateParams.builder() - .setCurrency( - com.stripe.param.v2.moneymanagement.FinancialAddressCreateParams.Currency.STN) + .setCurrency("usd") .setFinancialAccount("financial_account") .build(); @@ -25543,7 +25491,7 @@ public void testV2MoneyManagementFinancialAddressGet2Services() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.FinancialAddress.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"credentials\":null,\"currency\":\"stn\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"status\":\"failed\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.financial_address\",\"status\":\"failed\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.FinancialAddressRetrieveParams params = @@ -25571,7 +25519,7 @@ public void testV2MoneyManagementInboundTransferGetServices() throws StripeExcep new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.InboundTransfer>>() {}.getType(), - "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\",\"us_bank_account\":null}},\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"receipt_url\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\",\"bank_debit_failed\":null,\"bank_debit_processing\":null,\"bank_debit_queued\":null,\"bank_debit_returned\":null,\"bank_debit_succeeded\":null}],\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\"}},\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\"}],\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.InboundTransferListParams params = @@ -25597,7 +25545,7 @@ public void testV2MoneyManagementInboundTransferPostServices() throws StripeExce null, null, com.stripe.model.v2.moneymanagement.InboundTransfer.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\",\"us_bank_account\":null}},\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"receipt_url\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\",\"bank_debit_failed\":null,\"bank_debit_processing\":null,\"bank_debit_queued\":null,\"bank_debit_returned\":null,\"bank_debit_succeeded\":null}],\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\"}},\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\"}],\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.InboundTransferCreateParams params = @@ -25635,7 +25583,7 @@ public void testV2MoneyManagementInboundTransferGet2Services() throws StripeExce null, null, com.stripe.model.v2.moneymanagement.InboundTransfer.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\",\"us_bank_account\":null}},\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"receipt_url\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\",\"bank_debit_failed\":null,\"bank_debit_processing\":null,\"bank_debit_queued\":null,\"bank_debit_returned\":null,\"bank_debit_succeeded\":null}],\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":\"description\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"payment_method\":{\"type\":\"type\"}},\"id\":\"obj_123\",\"object\":\"v2.money_management.inbound_transfer\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"financial_account\":\"financial_account\"},\"transfer_history\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"level\":\"canonical\",\"type\":\"bank_debit_failed\"}],\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.InboundTransfer inboundTransfer = @@ -25660,7 +25608,7 @@ public void testV2MoneyManagementOutboundPaymentGetServices() throws StripeExcep new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.OutboundPayment>>() {}.getType(), - "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_payment\",\"outbound_payment_quote\":null,\"receipt_url\":null,\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundPaymentListParams params = @@ -25686,7 +25634,7 @@ public void testV2MoneyManagementOutboundPaymentPostServices() throws StripeExce null, null, com.stripe.model.v2.moneymanagement.OutboundPayment.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_payment\",\"outbound_payment_quote\":null,\"receipt_url\":null,\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundPaymentCreateParams params = @@ -25725,7 +25673,7 @@ public void testV2MoneyManagementOutboundPaymentGet2Services() throws StripeExce null, null, com.stripe.model.v2.moneymanagement.OutboundPayment.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_payment\",\"outbound_payment_quote\":null,\"receipt_url\":null,\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.OutboundPayment outboundPayment = @@ -25748,7 +25696,7 @@ public void testV2MoneyManagementOutboundPaymentPost2Services() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.OutboundPayment.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_payment\",\"outbound_payment_quote\":null,\"receipt_url\":null,\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment\",\"recipient_notification\":{\"setting\":\"configured\"},\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.OutboundPayment outboundPayment = @@ -25771,7 +25719,7 @@ public void testV2MoneyManagementOutboundPaymentQuotePostServices() throws Strip null, null, com.stripe.model.v2.moneymanagement.OutboundPaymentQuote.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"estimated_fees\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"type\":\"cross_border_payout_fee\"}],\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"fx_quote\":{\"lock_duration\":\"five_minutes\",\"lock_expires_at\":\"1970-01-18T15:15:29.586Z\",\"lock_status\":\"active\",\"rates\":{\"key\":{\"exchange_rate\":\"exchange_rate\"}},\"to_currency\":\"usd\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment_quote\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"estimated_fees\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"type\":\"cross_border_payout_fee\"}],\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"fx_quote\":{\"lock_duration\":\"five_minutes\",\"lock_expires_at\":\"1970-01-18T15:15:29.586Z\",\"lock_status\":\"active\",\"rates\":{\"key\":{\"exchange_rate\":\"exchange_rate\"}},\"to_currency\":\"usd\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment_quote\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundPaymentQuoteCreateParams params = @@ -25810,7 +25758,7 @@ public void testV2MoneyManagementOutboundPaymentQuoteGetServices() throws Stripe null, null, com.stripe.model.v2.moneymanagement.OutboundPaymentQuote.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"estimated_fees\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"type\":\"cross_border_payout_fee\"}],\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"fx_quote\":{\"lock_duration\":\"five_minutes\",\"lock_expires_at\":\"1970-01-18T15:15:29.586Z\",\"lock_status\":\"active\",\"rates\":{\"key\":{\"exchange_rate\":\"exchange_rate\"}},\"to_currency\":\"usd\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment_quote\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"estimated_fees\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"type\":\"cross_border_payout_fee\"}],\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"fx_quote\":{\"lock_duration\":\"five_minutes\",\"lock_expires_at\":\"1970-01-18T15:15:29.586Z\",\"lock_status\":\"active\",\"rates\":{\"key\":{\"exchange_rate\":\"exchange_rate\"}},\"to_currency\":\"usd\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_payment_quote\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\",\"recipient\":\"recipient\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.OutboundPaymentQuote outboundPaymentQuote = @@ -25835,7 +25783,7 @@ public void testV2MoneyManagementOutboundSetupIntentGetServices() throws StripeE new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.OutboundSetupIntent>>() {}.getType(), - "{\"data\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"next_action\":null,\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundSetupIntentListParams params = @@ -25861,7 +25809,7 @@ public void testV2MoneyManagementOutboundSetupIntentPostServices() throws Stripe null, null, com.stripe.model.v2.moneymanagement.OutboundSetupIntent.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"next_action\":null,\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundSetupIntentCreateParams params = @@ -25887,7 +25835,7 @@ public void testV2MoneyManagementOutboundSetupIntentGet2Services() throws Stripe null, null, com.stripe.model.v2.moneymanagement.OutboundSetupIntent.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"next_action\":null,\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.OutboundSetupIntent outboundSetupIntent = @@ -25910,7 +25858,7 @@ public void testV2MoneyManagementOutboundSetupIntentPost2Services() throws Strip null, null, com.stripe.model.v2.moneymanagement.OutboundSetupIntent.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"next_action\":null,\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundSetupIntentUpdateParams params = @@ -25936,7 +25884,7 @@ public void testV2MoneyManagementOutboundSetupIntentPost3Services() throws Strip null, null, com.stripe.model.v2.moneymanagement.OutboundSetupIntent.class, - "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"next_action\":null,\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); + "{\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_setup_intent\",\"payout_method\":{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true},\"status\":\"requires_payout_method\",\"usage_intent\":\"payment\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.OutboundSetupIntent outboundSetupIntent = @@ -25961,7 +25909,7 @@ public void testV2MoneyManagementOutboundTransferGetServices() throws StripeExce new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.OutboundTransfer>>() {}.getType(), - "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_transfer\",\"receipt_url\":null,\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundTransferListParams params = @@ -25987,7 +25935,7 @@ public void testV2MoneyManagementOutboundTransferPostServices() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.OutboundTransfer.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_transfer\",\"receipt_url\":null,\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.OutboundTransferCreateParams params = @@ -26025,7 +25973,7 @@ public void testV2MoneyManagementOutboundTransferGet2Services() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.OutboundTransfer.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_transfer\",\"receipt_url\":null,\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.OutboundTransfer outboundTransfer = @@ -26048,7 +25996,7 @@ public void testV2MoneyManagementOutboundTransferPost2Services() throws StripeEx null, null, com.stripe.model.v2.moneymanagement.OutboundTransfer.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"delivery_options\":null,\"description\":null,\"expected_arrival_date\":null,\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"metadata\":null,\"object\":\"v2.money_management.outbound_transfer\",\"receipt_url\":null,\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\",\"value\":null},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"cancelable\":true,\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"debited\":{\"currency\":\"USD\",\"value\":55},\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.outbound_transfer\",\"statement_descriptor\":\"statement_descriptor\",\"status\":\"canceled\",\"to\":{\"credited\":{\"currency\":\"USD\",\"value\":68},\"payout_method\":\"payout_method\"},\"trace_id\":{\"status\":\"pending\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.OutboundTransfer outboundTransfer = @@ -26073,7 +26021,7 @@ public void testV2MoneyManagementPayoutMethodGetServices() throws StripeExceptio new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.PayoutMethod>>() {}.getType(), - "{\"data\":[{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.PayoutMethodListParams params = @@ -26099,7 +26047,7 @@ public void testV2MoneyManagementPayoutMethodGet2Services() throws StripeExcepti null, null, com.stripe.model.v2.moneymanagement.PayoutMethod.class, - "{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null}"); + "{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.PayoutMethod payoutMethod = @@ -26122,7 +26070,7 @@ public void testV2MoneyManagementPayoutMethodPostServices() throws StripeExcepti null, null, com.stripe.model.v2.moneymanagement.PayoutMethod.class, - "{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null}"); + "{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.PayoutMethod payoutMethod = @@ -26145,7 +26093,7 @@ public void testV2MoneyManagementPayoutMethodPost2Services() throws StripeExcept null, null, com.stripe.model.v2.moneymanagement.PayoutMethod.class, - "{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"latest_outbound_setup_intent\":null,\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true,\"bank_account\":null,\"card\":null}"); + "{\"available_payout_speeds\":[\"standard\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.payout_method\",\"type\":\"bank_account\",\"usage_status\":{\"payments\":\"requires_action\",\"transfers\":\"invalid\"},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.PayoutMethod payoutMethod = @@ -26198,7 +26146,7 @@ public void testV2MoneyManagementReceivedCreditGetServices() throws StripeExcept new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.ReceivedCredit>>() {}.getType(), - "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_credit\",\"receipt_url\":null,\"status\":\"returned\",\"status_details\":null,\"status_transitions\":null,\"type\":\"balance_transfer\",\"livemode\":true,\"balance_transfer\":null,\"bank_transfer\":null}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_credit\",\"status\":\"returned\",\"type\":\"balance_transfer\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.ReceivedCreditListParams params = @@ -26224,7 +26172,7 @@ public void testV2MoneyManagementReceivedCreditGet2Services() throws StripeExcep null, null, com.stripe.model.v2.moneymanagement.ReceivedCredit.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_credit\",\"receipt_url\":null,\"status\":\"returned\",\"status_details\":null,\"status_transitions\":null,\"type\":\"balance_transfer\",\"livemode\":true,\"balance_transfer\":null,\"bank_transfer\":null}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_credit\",\"status\":\"returned\",\"type\":\"balance_transfer\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.ReceivedCredit receivedCredit = @@ -26249,7 +26197,7 @@ public void testV2MoneyManagementReceivedDebitGetServices() throws StripeExcepti new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.ReceivedDebit>>() {}.getType(), - "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_debit\",\"receipt_url\":null,\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"type\":\"bank_transfer\",\"livemode\":true,\"bank_transfer\":null}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_debit\",\"status\":\"canceled\",\"type\":\"bank_transfer\",\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.ReceivedDebitListParams params = @@ -26275,7 +26223,7 @@ public void testV2MoneyManagementReceivedDebitGet2Services() throws StripeExcept null, null, com.stripe.model.v2.moneymanagement.ReceivedDebit.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"description\":null,\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_debit\",\"receipt_url\":null,\"status\":\"canceled\",\"status_details\":null,\"status_transitions\":null,\"type\":\"bank_transfer\",\"livemode\":true,\"bank_transfer\":null}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"id\":\"obj_123\",\"object\":\"v2.money_management.received_debit\",\"status\":\"canceled\",\"type\":\"bank_transfer\",\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.ReceivedDebit receivedDebit = @@ -26300,7 +26248,7 @@ public void testV2MoneyManagementTransactionGetServices() throws StripeException new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.Transaction>>() {}.getType(), - "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"category\":\"received_debit\",\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\",\"adjustment\":null,\"currency_conversion\":null,\"fee_transaction\":null,\"inbound_transfer\":null,\"outbound_payment\":null,\"outbound_transfer\":null,\"received_credit\":null,\"received_debit\":null},\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction\",\"status\":\"pending\",\"status_transitions\":{\"posted_at\":null,\"void_at\":null},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount\":{\"currency\":\"USD\",\"value\":96},\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"category\":\"received_debit\",\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction\",\"status\":\"pending\",\"status_transitions\":{},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.TransactionListParams params = @@ -26326,7 +26274,7 @@ public void testV2MoneyManagementTransactionGet2Services() throws StripeExceptio null, null, com.stripe.model.v2.moneymanagement.Transaction.class, - "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"category\":\"received_debit\",\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\",\"adjustment\":null,\"currency_conversion\":null,\"fee_transaction\":null,\"inbound_transfer\":null,\"outbound_payment\":null,\"outbound_transfer\":null,\"received_credit\":null,\"received_debit\":null},\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction\",\"status\":\"pending\",\"status_transitions\":{\"posted_at\":null,\"void_at\":null},\"livemode\":true}"); + "{\"amount\":{\"currency\":\"USD\",\"value\":96},\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"category\":\"received_debit\",\"created\":\"1970-01-12T21:42:34.472Z\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\"},\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction\",\"status\":\"pending\",\"status_transitions\":{},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.Transaction transaction = @@ -26351,7 +26299,7 @@ public void testV2MoneyManagementTransactionEntryGetServices() throws StripeExce new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.moneymanagement.TransactionEntry>>() {}.getType(), - "{\"data\":[{\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction_entry\",\"transaction\":\"transaction\",\"transaction_details\":{\"category\":\"received_debit\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\",\"adjustment\":null,\"currency_conversion\":null,\"fee_transaction\":null,\"inbound_transfer\":null,\"outbound_payment\":null,\"outbound_transfer\":null,\"received_credit\":null,\"received_debit\":null}},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction_entry\",\"transaction\":\"transaction\",\"transaction_details\":{\"category\":\"received_debit\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\"}},\"livemode\":true}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.moneymanagement.TransactionEntryListParams params = @@ -26377,7 +26325,7 @@ public void testV2MoneyManagementTransactionEntryGet2Services() throws StripeExc null, null, com.stripe.model.v2.moneymanagement.TransactionEntry.class, - "{\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction_entry\",\"transaction\":\"transaction\",\"transaction_details\":{\"category\":\"received_debit\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\",\"adjustment\":null,\"currency_conversion\":null,\"fee_transaction\":null,\"inbound_transfer\":null,\"outbound_payment\":null,\"outbound_transfer\":null,\"received_credit\":null,\"received_debit\":null}},\"livemode\":true}"); + "{\"balance_impact\":{\"available\":{\"currency\":\"USD\",\"value\":35},\"inbound_pending\":{\"currency\":\"USD\",\"value\":11},\"outbound_pending\":{\"currency\":\"USD\",\"value\":60}},\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"object\":\"v2.money_management.transaction_entry\",\"transaction\":\"transaction\",\"transaction_details\":{\"category\":\"received_debit\",\"financial_account\":\"financial_account\",\"flow\":{\"type\":\"fee_transaction\"}},\"livemode\":true}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.moneymanagement.TransactionEntry transactionEntry = @@ -26402,7 +26350,7 @@ public void testV2PaymentsOffSessionPaymentGetServices() throws StripeException new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.payments.OffSessionPayment>>() {}.getType(), - "{\"data\":[{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"failure_reason\":null,\"id\":\"obj_123\",\"last_authorization_attempt_error\":null,\"latest_payment_attempt_record\":null,\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"on_behalf_of\":null,\"payment_method\":\"payment_method\",\"payment_record\":null,\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"statement_descriptor\":null,\"statement_descriptor_suffix\":null,\"status\":\"pending\",\"test_clock\":null,\"transfer_data\":null}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"payment_method\":\"payment_method\",\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"status\":\"pending\"}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.payments.OffSessionPaymentListParams params = @@ -26428,7 +26376,7 @@ public void testV2PaymentsOffSessionPaymentPostServices() throws StripeException null, null, com.stripe.model.v2.payments.OffSessionPayment.class, - "{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"failure_reason\":null,\"id\":\"obj_123\",\"last_authorization_attempt_error\":null,\"latest_payment_attempt_record\":null,\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"on_behalf_of\":null,\"payment_method\":\"payment_method\",\"payment_record\":null,\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"statement_descriptor\":null,\"statement_descriptor_suffix\":null,\"status\":\"pending\",\"test_clock\":null,\"transfer_data\":null}"); + "{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"payment_method\":\"payment_method\",\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"status\":\"pending\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.payments.OffSessionPaymentCreateParams params = @@ -26461,7 +26409,7 @@ public void testV2PaymentsOffSessionPaymentGet2Services() throws StripeException null, null, com.stripe.model.v2.payments.OffSessionPayment.class, - "{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"failure_reason\":null,\"id\":\"obj_123\",\"last_authorization_attempt_error\":null,\"latest_payment_attempt_record\":null,\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"on_behalf_of\":null,\"payment_method\":\"payment_method\",\"payment_record\":null,\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"statement_descriptor\":null,\"statement_descriptor_suffix\":null,\"status\":\"pending\",\"test_clock\":null,\"transfer_data\":null}"); + "{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"payment_method\":\"payment_method\",\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"status\":\"pending\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.payments.OffSessionPayment offSessionPayment = @@ -26484,7 +26432,7 @@ public void testV2PaymentsOffSessionPaymentPost2Services() throws StripeExceptio null, null, com.stripe.model.v2.payments.OffSessionPayment.class, - "{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"failure_reason\":null,\"id\":\"obj_123\",\"last_authorization_attempt_error\":null,\"latest_payment_attempt_record\":null,\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"on_behalf_of\":null,\"payment_method\":\"payment_method\",\"payment_record\":null,\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"statement_descriptor\":null,\"statement_descriptor_suffix\":null,\"status\":\"pending\",\"test_clock\":null,\"transfer_data\":null}"); + "{\"amount_requested\":{\"currency\":\"USD\",\"value\":47},\"cadence\":\"unscheduled\",\"compartment_id\":\"compartment_id\",\"created\":\"1970-01-12T21:42:34.472Z\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"object\":\"v2.payments.off_session_payment\",\"payment_method\":\"payment_method\",\"retry_details\":{\"attempts\":542738246,\"retry_strategy\":\"none\"},\"status\":\"pending\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.payments.OffSessionPayment offSessionPayment = @@ -26616,7 +26564,7 @@ public void testBlockedByStripeErrorServices() throws StripeException { "/v2/core/vault/us_bank_accounts", null, null, - "{\"error\":{\"type\":\"blocked_by_stripe\",\"code\":\"inbound_transfer_not_allowed\"}}", + "{\"error\":{\"type\":\"blocked_by_stripe\",\"code\":\"blocked_payout_method_bank_account\"}}", 400); StripeClient client = new StripeClient(networkSpy); @@ -26673,7 +26621,7 @@ public void testFeatureNotEnabledErrorServices() throws StripeException { "/v2/money_management/financial_accounts", null, null, - "{\"error\":{\"type\":\"feature_not_enabled\",\"code\":\"storer_capability_missing\"}}", + "{\"error\":{\"type\":\"feature_not_enabled\",\"code\":\"recipient_feature_not_active\"}}", 400); StripeClient client = new StripeClient(networkSpy); @@ -26710,8 +26658,7 @@ public void testFinancialAccountNotOpenErrorServices() throws StripeException { com.stripe.param.v2.moneymanagement.FinancialAddressCreateParams params = com.stripe.param.v2.moneymanagement.FinancialAddressCreateParams.builder() - .setCurrency( - com.stripe.param.v2.moneymanagement.FinancialAddressCreateParams.Currency.STN) + .setCurrency("usd") .setFinancialAccount("financial_account") .build(); @@ -26892,7 +26839,7 @@ public void testQuotaExceededErrorServices() throws StripeException { "/v2/core/vault/us_bank_accounts", null, null, - "{\"error\":{\"type\":\"quota_exceeded\",\"code\":\"recipient_amount_limit_exceeded\"}}", + "{\"error\":{\"type\":\"quota_exceeded\",\"code\":\"archived_payout_method_card\"}}", 400); StripeClient client = new StripeClient(networkSpy);