diff --git a/API_VERSION b/API_VERSION index 012d1278dbd..f3751d6a1c0 100644 --- a/API_VERSION +++ b/API_VERSION @@ -1 +1 @@ -0de52cdca31a7c51c6d11187fc88ab23ea3a1c5b \ No newline at end of file +7019a9a61be5a9cc3ffa998a36dbe33057249d39 \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 012d1278dbd..cf2a6fea300 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -0de52cdca31a7c51c6d11187fc88ab23ea3a1c5b \ No newline at end of file +v2049 \ No newline at end of file diff --git a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEvent.java b/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEvent.java deleted file mode 100644 index 9efdc01d006..00000000000 --- a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEvent.java +++ /dev/null @@ -1,36 +0,0 @@ -// File generated from our OpenAPI spec -package com.stripe.events; - -import com.google.gson.annotations.SerializedName; -import com.stripe.exception.StripeException; -import com.stripe.model.v2.billing.BillSetting; -import com.stripe.model.v2.core.Event; -import com.stripe.model.v2.core.Event.RelatedObject; -import java.time.Instant; -import lombok.Getter; -import lombok.Setter; - -@Getter -public final class V2BillingBillSettingUpdatedEvent extends Event { - /** Data for the v2.billing.bill_setting.updated event. */ - @SerializedName("data") - V2BillingBillSettingUpdatedEvent.EventData data; - - @Getter - @Setter - public static final class EventData { - /** Timestamp of when the object was updated. */ - @SerializedName("updated") - Instant updated; - } - - @SerializedName("related_object") - - /** Object containing the reference to API resource relevant to the event. */ - RelatedObject relatedObject; - - /** Retrieves the related object from the API. Make an API request on every call. */ - public BillSetting fetchRelatedObject() throws StripeException { - return (BillSetting) super.fetchRelatedObject(this.relatedObject); - } -} diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.java new file mode 100644 index 00000000000..74ac63b0321 --- /dev/null +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.java @@ -0,0 +1,42 @@ +// File generated from our OpenAPI spec +package com.stripe.events; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.model.v2.core.Account; +import com.stripe.model.v2.core.Event; +import com.stripe.model.v2.core.Event.RelatedObject; +import lombok.Getter; +import lombok.Setter; + +@Getter +public final class V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent + extends Event { + /** Data for the v2.core.account[configuration.card_creator].capability_status_updated event. */ + @SerializedName("data") + V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent.EventData data; + + @Getter + @Setter + public static final class EventData { + /** + * Open Enum. The capability which had its status updated. + * + *

One of {@code commercial.celtic.charge_card}, {@code commercial.celtic.spend_card}, {@code + * commercial.cross_river_bank.charge_card}, {@code commercial.cross_river_bank.spend_card}, + * {@code commercial.stripe.charge_card}, or {@code commercial.stripe.prepaid_card}. + */ + @SerializedName("updated_capability") + String updatedCapability; + } + + @SerializedName("related_object") + + /** Object containing the reference to API resource relevant to the event. */ + RelatedObject relatedObject; + + /** Retrieves the related object from the API. Make an API request on every call. */ + public Account fetchRelatedObject() throws StripeException { + return (Account) super.fetchRelatedObject(this.relatedObject); + } +} diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEventNotification.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEventNotification.java new file mode 100644 index 00000000000..8b3a6b5aa48 --- /dev/null +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEventNotification.java @@ -0,0 +1,31 @@ +// File generated from our OpenAPI spec +package com.stripe.events; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.model.v2.core.Account; +import com.stripe.model.v2.core.Event.RelatedObject; +import com.stripe.model.v2.core.EventNotification; +import lombok.Getter; + +@Getter +public final +class V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEventNotification + extends EventNotification { + @SerializedName("related_object") + + /** Object containing the reference to API resource relevant to the event. */ + RelatedObject relatedObject; + + /** Retrieves the related object from the API. Make an API request on every call. */ + public Account fetchRelatedObject() throws StripeException { + return (Account) super.fetchRelatedObject(this.relatedObject); + } + /** Retrieve the corresponding full event from the Stripe API. */ + @Override + public V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent fetchEvent() + throws StripeException { + return (V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent) + super.fetchEvent(); + } +} diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorUpdatedEvent.java new file mode 100644 index 00000000000..8704fe151b3 --- /dev/null +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorUpdatedEvent.java @@ -0,0 +1,22 @@ +// File generated from our OpenAPI spec +package com.stripe.events; + +import com.google.gson.annotations.SerializedName; +import com.stripe.exception.StripeException; +import com.stripe.model.v2.core.Account; +import com.stripe.model.v2.core.Event; +import com.stripe.model.v2.core.Event.RelatedObject; +import lombok.Getter; + +@Getter +public final class V2CoreAccountIncludingConfigurationCardCreatorUpdatedEvent extends Event { + @SerializedName("related_object") + + /** Object containing the reference to API resource relevant to the event. */ + RelatedObject relatedObject; + + /** Retrieves the related object from the API. Make an API request on every call. */ + public Account fetchRelatedObject() throws StripeException { + return (Account) super.fetchRelatedObject(this.relatedObject); + } +} diff --git a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEventNotification.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorUpdatedEventNotification.java similarity index 55% rename from src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEventNotification.java rename to src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorUpdatedEventNotification.java index 2ab8a832875..434637206b8 100644 --- a/src/main/java/com/stripe/events/V2BillingBillSettingUpdatedEventNotification.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationCardCreatorUpdatedEventNotification.java @@ -3,25 +3,27 @@ import com.google.gson.annotations.SerializedName; import com.stripe.exception.StripeException; -import com.stripe.model.v2.billing.BillSetting; +import com.stripe.model.v2.core.Account; import com.stripe.model.v2.core.Event.RelatedObject; import com.stripe.model.v2.core.EventNotification; import lombok.Getter; @Getter -public final class V2BillingBillSettingUpdatedEventNotification extends EventNotification { +public final class V2CoreAccountIncludingConfigurationCardCreatorUpdatedEventNotification + extends EventNotification { @SerializedName("related_object") /** Object containing the reference to API resource relevant to the event. */ RelatedObject relatedObject; /** Retrieves the related object from the API. Make an API request on every call. */ - public BillSetting fetchRelatedObject() throws StripeException { - return (BillSetting) super.fetchRelatedObject(this.relatedObject); + public Account fetchRelatedObject() throws StripeException { + return (Account) super.fetchRelatedObject(this.relatedObject); } /** Retrieve the corresponding full event from the Stripe API. */ @Override - public V2BillingBillSettingUpdatedEvent fetchEvent() throws StripeException { - return (V2BillingBillSettingUpdatedEvent) super.fetchEvent(); + public V2CoreAccountIncludingConfigurationCardCreatorUpdatedEvent fetchEvent() + throws StripeException { + return (V2CoreAccountIncludingConfigurationCardCreatorUpdatedEvent) super.fetchEvent(); } } diff --git a/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java b/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java index 7bc809e4266..728b786d83f 100644 --- a/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java +++ b/src/main/java/com/stripe/examples/EventNotificationWebhookHandler.java @@ -6,7 +6,6 @@ import com.stripe.events.V1BillingMeterErrorReportTriggeredEventNotification; import com.stripe.exception.StripeException; import com.stripe.model.billing.Meter; -import com.stripe.model.v2.core.Event; import com.stripe.model.v2.core.EventNotification; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; @@ -67,33 +66,39 @@ public void handle(HttpExchange exchange) throws IOException { String sigHeader = exchange.getRequestHeaders().getFirst("Stripe-Signature"); try { - EventNotification eventNotif = + EventNotification notif = client.parseEventNotification(webhookBody, sigHeader, WEBHOOK_SECRET); - // determine what sort of event you have - if (eventNotif instanceof V1BillingMeterErrorReportTriggeredEventNotification) { + if (notif instanceof V1BillingMeterErrorReportTriggeredEventNotification) { V1BillingMeterErrorReportTriggeredEventNotification eventNotification = - (V1BillingMeterErrorReportTriggeredEventNotification) eventNotif; + (V1BillingMeterErrorReportTriggeredEventNotification) notif; - // after casting, can fetch the related object (which is correctly typed) - Meter meter = eventNotification.fetchRelatedObject(); - System.out.println(meter.getId()); + // there's basic info about the related object in the notification + System.out.println( + "Meter w/ id " + eventNotification.getRelatedObject().getId() + " had a problem"); + // or you can fetch the full object form the API for more details + Meter meter = eventNotification.fetchRelatedObject(); + StringBuilder sb = new StringBuilder(); + sb.append("Meter ") + .append(meter.getDisplayName()) + .append(" (") + .append(meter.getId()) + .append(") had a problem"); + System.out.println(sb.toString()); + + // And you can always fetch the full event: V1BillingMeterErrorReportTriggeredEvent event = eventNotification.fetchEvent(); - System.out.println(event.getData().getDeveloperMessageSummary()); - - // add additional logic - } - // ... check other event types you know about - else if (eventNotif instanceof UnknownEventNotification) { - UnknownEventNotification unknownEvent = (UnknownEventNotification) eventNotif; - System.out.println("Received unknown event: " + unknownEvent.getId()); - // can keep matching on the "type" field - // other helper methods still work, but you'll have to handle types yourself + System.out.println("More info: " + event.getData().getDeveloperMessageSummary()); + } else if (notif instanceof UnknownEventNotification) { + // Events that were introduced after this SDK version release are + // represented as `UnknownEventNotification`s. + // They're valid, the SDK just doesn't have corresponding classes for them. + // You must match on the "type" property instead. + UnknownEventNotification unknownEvent = (UnknownEventNotification) notif; if (unknownEvent.getType().equals("some.new.event")) { - Event event = unknownEvent.fetchEvent(); - System.out.println(event.getReason()); - // handle + // you can still `.fetchEvent()` and `.fetchRelatedObject()`, but the latter may + // return `null` if that event type doesn't have a related object. } } diff --git a/src/main/java/com/stripe/exception/AlreadyCanceledException.java b/src/main/java/com/stripe/exception/AlreadyCanceledException.java index f0e2c0fe267..8afb343d196 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; -/** Information about the error that occurred. */ +/** Error returned when user tries to cancel an OutboundPayment that was already canceled. */ 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 24d496994c2..317c4407b9b 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; -/** Information about the error that occurred. */ +/** The resource already exists. */ 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 c62049f1617..9cbca500927 100644 --- a/src/main/java/com/stripe/exception/BlockedByStripeException.java +++ b/src/main/java/com/stripe/exception/BlockedByStripeException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Returned when the bank account cannot be added due to previous suspicious activity. */ 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 1326e4a1f4e..cac7b66e44b 100644 --- a/src/main/java/com/stripe/exception/ControlledByDashboardException.java +++ b/src/main/java/com/stripe/exception/ControlledByDashboardException.java @@ -6,7 +6,10 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** + * Returned when the PayoutMethodBankAccount object is controlled by the Stripe Dashboard, and + * cannot be archived. + */ 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 5e77d0d93d1..11fdaddd5f2 100644 --- a/src/main/java/com/stripe/exception/FeatureNotEnabledException.java +++ b/src/main/java/com/stripe/exception/FeatureNotEnabledException.java @@ -6,7 +6,10 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** + * Error returned when recipient does not have the active features required to receive funds from + * this OutboundPayment request. + */ 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 f9cc6c3b0be..66a745010d4 100644 --- a/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java +++ b/src/main/java/com/stripe/exception/FinancialAccountNotOpenException.java @@ -6,7 +6,6 @@ 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 2d477585167..e28c0065d0d 100644 --- a/src/main/java/com/stripe/exception/InsufficientFundsException.java +++ b/src/main/java/com/stripe/exception/InsufficientFundsException.java @@ -6,7 +6,10 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** + * Error returned when the balance of provided financial account and balance type in the + * OutboundPayment/OutboundTransfer request does not have enough funds. + */ 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 597a5e06fa2..320cee6e260 100644 --- a/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java +++ b/src/main/java/com/stripe/exception/InvalidPaymentMethodException.java @@ -8,7 +8,10 @@ import com.stripe.net.StripeResponseGetter; import lombok.Getter; -/** Information about the error that occurred. */ +/** + * 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). + */ 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 e10ea5a4a3c..1b92d726743 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; -/** Information about the error that occurred. */ +/** Returned in cases where the ID provided doesn't correspond to a valid payout method. */ 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 3f032e51c63..e9ffb6bc220 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; -/** Information about the error that occurred. */ +/** Error thrown if a user tries to close an account that has non-zero balances. */ 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 9f669ddcdc9..d1a93541b2e 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; -/** Information about the error that occurred. */ +/** Error returned when user tries to cancel an OutboundPayment that is not cancelable. */ 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 9d568ac104d..8428fe11abb 100644 --- a/src/main/java/com/stripe/exception/QuotaExceededException.java +++ b/src/main/java/com/stripe/exception/QuotaExceededException.java @@ -6,7 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** Returned when attempting to update an archived card. */ public final class QuotaExceededException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java b/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java index 9e4ccfb2473..c6e7d2f6d93 100644 --- a/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java +++ b/src/main/java/com/stripe/exception/RecipientNotNotifiableException.java @@ -6,7 +6,10 @@ import com.stripe.model.StripeObject; import com.stripe.net.StripeResponseGetter; -/** Information about the error that occurred. */ +/** + * Error returned when the user enables notifications in the OutboundPayment request, but an email + * is not set up on the recipient account. + */ 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 9a9977b273e..376c73a885b 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; -/** Information about the error that occurred. */ +/** The temporary session token has expired. */ public final class TemporarySessionExpiredException extends ApiException { private static final long serialVersionUID = 2L; diff --git a/src/main/java/com/stripe/model/Card.java b/src/main/java/com/stripe/model/Card.java index 203a1cb3684..804f1fd56e9 100644 --- a/src/main/java/com/stripe/model/Card.java +++ b/src/main/java/com/stripe/model/Card.java @@ -89,6 +89,9 @@ public class Card extends ApiResource @SerializedName("available_payout_methods") List availablePayoutMethods; + @SerializedName("benefits") + Benefits benefits; + /** * Card brand. Can be {@code American Express}, {@code Cartes Bancaires}, {@code Diners Club}, * {@code Discover}, {@code Eftpos Australia}, {@code Girocard}, {@code JCB}, {@code MasterCard}, @@ -512,6 +515,23 @@ public Card delete(Map params, RequestOptions options) throws St return getResponseGetter().request(request, Card.class); } + /** + * For more details about Benefits, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Benefits extends StripeObject { + /** Issuer of this benefit card. */ + @SerializedName("issuer") + String issuer; + + /** Available benefit programs for this card. */ + @SerializedName("programs") + List programs; + } + /** * For more details about Networks, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java index 847f58d9b32..d921063ff42 100644 --- a/src/main/java/com/stripe/model/Charge.java +++ b/src/main/java/com/stripe/model/Charge.java @@ -1853,6 +1853,9 @@ public static class Card extends StripeObject { @SerializedName("authorization_code") String authorizationCode; + @SerializedName("benefits") + Benefits benefits; + /** * Card brand. Can be {@code amex}, {@code cartes_bancaires}, {@code diners}, {@code * discover}, {@code eftpos_au}, {@code jcb}, {@code link}, {@code mastercard}, {@code @@ -2007,6 +2010,19 @@ public static class Card extends StripeObject { @SerializedName("wallet") Wallet wallet; + /** + * For more details about Benefits, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Benefits extends StripeObject { + /** Issuer of the benefit card utilized on this payment. */ + @SerializedName("issuer") + String issuer; + } + /** * For more details about Checks, 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 8919c2168f8..5eb404f5dfb 100644 --- a/src/main/java/com/stripe/model/ConfirmationToken.java +++ b/src/main/java/com/stripe/model/ConfirmationToken.java @@ -718,6 +718,9 @@ public static class Boleto extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Card extends StripeObject { + @SerializedName("benefits") + Benefits benefits; + /** * Card brand. Can be {@code amex}, {@code cartes_bancaires}, {@code diners}, {@code * discover}, {@code eftpos_au}, {@code jcb}, {@code link}, {@code mastercard}, {@code @@ -823,6 +826,23 @@ public static class Card extends StripeObject { @SerializedName("wallet") Wallet wallet; + /** + * For more details about Benefits, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Benefits extends StripeObject { + /** Issuer of this benefit card. */ + @SerializedName("issuer") + String issuer; + + /** Available benefit programs for this card. */ + @SerializedName("programs") + List programs; + } + /** * For more details about Checks, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/EventDataClassLookup.java b/src/main/java/com/stripe/model/EventDataClassLookup.java index b98ce6bd5db..6432ae14ca2 100644 --- a/src/main/java/com/stripe/model/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/EventDataClassLookup.java @@ -69,6 +69,7 @@ public final class EventDataClassLookup { com.stripe.model.PaymentIntentAmountDetailsLineItem.class); classLookup.put("payment_link", com.stripe.model.PaymentLink.class); classLookup.put("payment_method", com.stripe.model.PaymentMethod.class); + classLookup.put("payment_method_balance", com.stripe.model.PaymentMethodBalance.class); classLookup.put( "payment_method_configuration", com.stripe.model.PaymentMethodConfiguration.class); classLookup.put("payment_method_domain", com.stripe.model.PaymentMethodDomain.class); diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java index d0a468c7257..88c190250f0 100644 --- a/src/main/java/com/stripe/model/PaymentIntent.java +++ b/src/main/java/com/stripe/model/PaymentIntent.java @@ -2786,6 +2786,9 @@ public static class WechatPayRedirectToIosApp extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class PaymentDetails extends StripeObject { + @SerializedName("benefit") + Benefit benefit; + @SerializedName("car_rental") CarRental carRental; @@ -2806,6 +2809,31 @@ public static class PaymentDetails extends StripeObject { @SerializedName("subscription") Subscription subscription; + /** + * For more details about Benefit, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Benefit extends StripeObject { + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + /** + * For more details about FrMealVoucher, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher extends StripeObject { + /** The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + String siret; + } + } + /** * For more details about CarRental, 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 19bdb4a6418..411372eca02 100644 --- a/src/main/java/com/stripe/model/PaymentMethod.java +++ b/src/main/java/com/stripe/model/PaymentMethod.java @@ -10,6 +10,7 @@ import com.stripe.net.RequestOptions; import com.stripe.net.StripeResponseGetter; import com.stripe.param.PaymentMethodAttachParams; +import com.stripe.param.PaymentMethodCheckBalanceParams; import com.stripe.param.PaymentMethodCreateParams; import com.stripe.param.PaymentMethodDetachParams; import com.stripe.param.PaymentMethodListParams; @@ -462,6 +463,55 @@ public PaymentMethod attach(PaymentMethodAttachParams params, RequestOptions opt return getResponseGetter().request(request, PaymentMethod.class); } + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance() throws StripeException { + return checkBalance((Map) null, (RequestOptions) null); + } + + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance(RequestOptions options) throws StripeException { + return checkBalance((Map) null, options); + } + + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance(Map params) throws StripeException { + return checkBalance(params, (RequestOptions) null); + } + + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance(Map params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/payment_methods/%s/check_balance", ApiResource.urlEncodeId(this.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getResponseGetter().request(request, PaymentMethodBalance.class); + } + + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance(PaymentMethodCheckBalanceParams params) + throws StripeException { + return checkBalance(params, (RequestOptions) null); + } + + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance( + PaymentMethodCheckBalanceParams params, RequestOptions options) throws StripeException { + String path = + String.format( + "/v1/payment_methods/%s/check_balance", 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, PaymentMethodBalance.class); + } + /** * Creates a PaymentMethod object. Read the Stripe.js @@ -965,6 +1015,9 @@ public static class Boleto extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Card extends StripeObject { + @SerializedName("benefits") + Benefits benefits; + /** * Card brand. Can be {@code amex}, {@code cartes_bancaires}, {@code diners}, {@code discover}, * {@code eftpos_au}, {@code jcb}, {@code link}, {@code mastercard}, {@code unionpay}, {@code @@ -1069,6 +1122,23 @@ public static class Card extends StripeObject { @SerializedName("wallet") Wallet wallet; + /** + * For more details about Benefits, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Benefits extends StripeObject { + /** Issuer of this benefit card. */ + @SerializedName("issuer") + String issuer; + + /** Available benefit programs for this card. */ + @SerializedName("programs") + List programs; + } + /** * For more details about Checks, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/PaymentMethodBalance.java b/src/main/java/com/stripe/model/PaymentMethodBalance.java new file mode 100644 index 00000000000..e547b24ad93 --- /dev/null +++ b/src/main/java/com/stripe/model/PaymentMethodBalance.java @@ -0,0 +1,80 @@ +// File generated from our OpenAPI spec +package com.stripe.model; + +import com.google.gson.annotations.SerializedName; +import java.util.List; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * PaymentMethodBalance objects represent balances available on a payment method. You can use + * v1/payment_methods/:id/check_balance to check the balance of a payment method. + */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class PaymentMethodBalance extends StripeObject { + /** The time at which the balance was calculated. Measured in seconds since the Unix epoch. */ + @SerializedName("as_of") + Long asOf; + + /** BalanceEntry contain information about every individual balance type of a card. */ + @SerializedName("balance") + Balance balance; + + /** + * Has the value {@code true} if the object exists in live mode or the value {@code false} if the + * object exists in test mode. + */ + @SerializedName("livemode") + Boolean livemode; + + /** + * String representing the object's type. Objects of the same type share the same value. + * + *

Equal to {@code payment_method_balance}. + */ + @SerializedName("object") + String object; + + /** BalanceEntry contain information about every individual balance type of a card. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Balance extends StripeObject { + /** The available FR Meal Voucher balances. */ + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + /** + * For more details about FrMealVoucher, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher extends StripeObject { + /** The hashes of balances and amounts for available balances. */ + @SerializedName("available") + List available; + + /** + * For more details about Available, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Available extends StripeObject { + /** The amount of the balance. */ + @SerializedName("amount") + Long amount; + + /** The currency of the balance. */ + @SerializedName("currency") + String currency; + } + } + } +} diff --git a/src/main/java/com/stripe/model/SetupIntent.java b/src/main/java/com/stripe/model/SetupIntent.java index d77c78cba77..107b7af3aba 100644 --- a/src/main/java/com/stripe/model/SetupIntent.java +++ b/src/main/java/com/stripe/model/SetupIntent.java @@ -222,6 +222,9 @@ public class SetupIntent extends ApiResource implements HasId, MetadataStore paymentMethodTypes; + @SerializedName("setup_details") + SetupDetails setupDetails; + /** ID of the single_use Mandate generated by the SetupIntent. */ @SerializedName("single_use_mandate") @Getter(lombok.AccessLevel.NONE) @@ -1668,6 +1671,43 @@ public static class MandateOptions extends StripeObject { } } + /** + * For more details about SetupDetails, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SetupDetails extends StripeObject { + @SerializedName("benefit") + Benefit benefit; + + /** + * For more details about Benefit, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Benefit extends StripeObject { + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + /** + * For more details about FrMealVoucher, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher extends StripeObject { + /** The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + String siret; + } + } + } + @Override public void setResponseGetter(StripeResponseGetter responseGetter) { super.setResponseGetter(responseGetter); @@ -1682,6 +1722,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(paymentMethod, responseGetter); trySetResponseGetter(paymentMethodConfigurationDetails, responseGetter); trySetResponseGetter(paymentMethodOptions, responseGetter); + trySetResponseGetter(setupDetails, responseGetter); trySetResponseGetter(singleUseMandate, responseGetter); } } diff --git a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java index c9d65f443c2..d4e4594889f 100644 --- a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java @@ -574,9 +574,6 @@ public final class EventDataClassLookup { eventClassLookup.put("v1.transfer.created", com.stripe.events.V1TransferCreatedEvent.class); eventClassLookup.put("v1.transfer.reversed", com.stripe.events.V1TransferReversedEvent.class); eventClassLookup.put("v1.transfer.updated", com.stripe.events.V1TransferUpdatedEvent.class); - eventClassLookup.put( - "v2.billing.bill_setting.updated", - com.stripe.events.V2BillingBillSettingUpdatedEvent.class); eventClassLookup.put( "v2.billing.cadence.billed", com.stripe.events.V2BillingCadenceBilledEvent.class); eventClassLookup.put( @@ -688,6 +685,13 @@ public final class EventDataClassLookup { "v2.core.account.created", com.stripe.events.V2CoreAccountCreatedEvent.class); eventClassLookup.put( "v2.core.account.updated", com.stripe.events.V2CoreAccountUpdatedEvent.class); + eventClassLookup.put( + "v2.core.account[configuration.card_creator].capability_status_updated", + com.stripe.events.V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEvent + .class); + eventClassLookup.put( + "v2.core.account[configuration.card_creator].updated", + com.stripe.events.V2CoreAccountIncludingConfigurationCardCreatorUpdatedEvent.class); eventClassLookup.put( "v2.core.account[configuration.customer].capability_status_updated", com.stripe.events.V2CoreAccountIncludingConfigurationCustomerCapabilityStatusUpdatedEvent diff --git a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java index 7768611e580..b4dc9169da9 100644 --- a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java +++ b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java @@ -488,9 +488,6 @@ public final class EventNotificationClassLookup { "v1.transfer.reversed", com.stripe.events.V1TransferReversedEventNotification.class); eventClassLookup.put( "v1.transfer.updated", com.stripe.events.V1TransferUpdatedEventNotification.class); - eventClassLookup.put( - "v2.billing.bill_setting.updated", - com.stripe.events.V2BillingBillSettingUpdatedEventNotification.class); eventClassLookup.put( "v2.billing.cadence.billed", com.stripe.events.V2BillingCadenceBilledEventNotification.class); @@ -612,6 +609,15 @@ public final class EventNotificationClassLookup { "v2.core.account.created", com.stripe.events.V2CoreAccountCreatedEventNotification.class); eventClassLookup.put( "v2.core.account.updated", com.stripe.events.V2CoreAccountUpdatedEventNotification.class); + eventClassLookup.put( + "v2.core.account[configuration.card_creator].capability_status_updated", + com.stripe.events + .V2CoreAccountIncludingConfigurationCardCreatorCapabilityStatusUpdatedEventNotification + .class); + eventClassLookup.put( + "v2.core.account[configuration.card_creator].updated", + com.stripe.events.V2CoreAccountIncludingConfigurationCardCreatorUpdatedEventNotification + .class); eventClassLookup.put( "v2.core.account[configuration.customer].capability_status_updated", com.stripe.events 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 cd504810ed8..8ca3f013526 100644 --- a/src/main/java/com/stripe/model/v2/core/Account.java +++ b/src/main/java/com/stripe/model/v2/core/Account.java @@ -116,6 +116,10 @@ public class Account extends StripeObject implements HasId { @Setter @EqualsAndHashCode(callSuper = false) public static class Configuration extends StripeObject { + /** The CardCreator Configuration allows the Account to create and issue cards to users. */ + @SerializedName("card_creator") + CardCreator cardCreator; + /** The Customer Configuration allows the Account to be used in inbound payment flows. */ @SerializedName("customer") Customer customer; @@ -139,6 +143,441 @@ public static class Configuration extends StripeObject { @SerializedName("storer") Storer storer; + /** The CardCreator Configuration allows the Account to create and issue cards to users. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CardCreator extends StripeObject { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; + + /** Capabilities that have been requested on the CardCreator Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** Capabilities that have been requested on the CardCreator Configuration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities extends StripeObject { + /** Can create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; + + /** Can create cards for commercial issuing use cases. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Commercial extends StripeObject { + /** Can create commercial issuing cards with Celtic as BIN sponsor. */ + @SerializedName("celtic") + Celtic celtic; + + /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; + + /** Can create commercial issuing cards with Stripe as a BIN sponsor. */ + @SerializedName("stripe") + Stripe stripe; + + /** Can create commercial issuing cards with Celtic as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Celtic extends StripeObject { + /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */ + @SerializedName("spend_card") + SpendCard spendCard; + + /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard extends StripeObject { + /** Whether the Capability has been requested. */ + @SerializedName("requested") + Boolean requested; + + /** + * The status of the Capability. + * + *

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

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

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + + /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard extends StripeObject { + /** Whether the Capability has been requested. */ + @SerializedName("requested") + Boolean requested; + + /** + * The status of the Capability. + * + *

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

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

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + } + + /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank extends StripeObject { + /** Can create commercial issuing charge cards with Cross River Bank as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ + @SerializedName("spend_card") + SpendCard spendCard; + + /** Can create commercial issuing charge cards with Cross River Bank as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard extends StripeObject { + /** Whether the Capability has been requested. */ + @SerializedName("requested") + Boolean requested; + + /** + * The status of the Capability. + * + *

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

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

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard extends StripeObject { + /** Whether the Capability has been requested. */ + @SerializedName("requested") + Boolean requested; + + /** + * The status of the Capability. + * + *

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

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

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + } + + /** Can create commercial issuing cards with Stripe as a BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Stripe extends StripeObject { + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; + + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard extends StripeObject { + /** Whether the Capability has been requested. */ + @SerializedName("requested") + Boolean requested; + + /** + * The status of the Capability. + * + *

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

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

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

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

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

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + */ + @SerializedName("resolution") + String resolution; + } + } + } + } + } + } + /** The Customer Configuration allows the Account to be used in inbound payment flows. */ @Getter @Setter @@ -4642,10 +5081,664 @@ public static class TermsOfService extends StripeObject { @SerializedName("account") InnerAccount account; + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + @SerializedName("card_creator") + CardCreator cardCreator; + /** Details on the Account's acceptance of Treasury-specific terms of service. */ @SerializedName("storer") Storer storer; + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CardCreator extends StripeObject { + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; + + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Commercial extends StripeObject { + /** Terms of service acceptances for Stripe commercial card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. + */ + @SerializedName("celtic") + Celtic celtic; + + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; + + /** Terms of service acceptances for Stripe commercial card issuing. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Celtic extends StripeObject { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; + + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN + * sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN + * sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; + + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN + * sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard extends StripeObject { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + /** + * Bank terms of service acceptance for commercial issuing charge cards with Celtic + * as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Platform extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN + * sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard extends StripeObject { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Platform extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + } + + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank extends StripeObject { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; + + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; + + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; + + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard extends StripeObject { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Platform extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard extends StripeObject { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures extends StripeObject { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + String ip; + + /** The URL to the service agreement the Account's representative accepted. */ + @SerializedName("url") + String url; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + } + } + } + } + } + /** * Details on the Account's acceptance of the Stripe Services @@ -6208,7 +7301,10 @@ public static class RestrictsCapability extends StripeObject { * {@code bacs_debit_payments}, {@code bancontact_payments}, {@code bank_accounts.local}, * {@code bank_accounts.wire}, {@code blik_payments}, {@code boleto_payments}, {@code * cards}, {@code card_payments}, {@code cartes_bancaires_payments}, {@code - * cashapp_payments}, {@code crypto}, {@code eps_payments}, {@code + * cashapp_payments}, {@code commercial.celtic.charge_card}, {@code + * commercial.celtic.spend_card}, {@code commercial.cross_river_bank.charge_card}, {@code + * commercial.cross_river_bank.spend_card}, {@code commercial.stripe.charge_card}, {@code + * commercial.stripe.prepaid_card}, {@code crypto}, {@code eps_payments}, {@code * financial_addresses.bank_accounts}, {@code fpx_payments}, {@code * gb_bank_transfer_payments}, {@code grabpay_payments}, {@code holds_currencies.gbp}, * {@code ideal_payments}, {@code inbound_transfers.financial_accounts}, {@code @@ -6232,7 +7328,8 @@ public static class RestrictsCapability extends StripeObject { /** * The configuration which specifies the Capability which will be restricted. * - *

One of {@code customer}, {@code merchant}, {@code recipient}, or {@code storer}. + *

One of {@code card_creator}, {@code customer}, {@code merchant}, {@code recipient}, + * or {@code storer}. */ @SerializedName("configuration") String configuration; diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java index 4e328804c8b..9ac9aa059ce 100644 --- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java @@ -2513,6 +2513,10 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class PaymentDetails { + /** Benefit details for this PaymentIntent. */ + @SerializedName("benefit") + Benefit benefit; + /** Car rental details for this PaymentIntent. */ @SerializedName("car_rental") CarRental carRental; @@ -2554,6 +2558,7 @@ public static class PaymentDetails { Subscription subscription; private PaymentDetails( + Benefit benefit, CarRental carRental, Object customerReference, EventDetails eventDetails, @@ -2562,6 +2567,7 @@ private PaymentDetails( Lodging lodging, Object orderReference, Subscription subscription) { + this.benefit = benefit; this.carRental = carRental; this.customerReference = customerReference; this.eventDetails = eventDetails; @@ -2577,6 +2583,8 @@ public static Builder builder() { } public static class Builder { + private Benefit benefit; + private CarRental carRental; private Object customerReference; @@ -2596,6 +2604,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentConfirmParams.PaymentDetails build() { return new PaymentIntentConfirmParams.PaymentDetails( + this.benefit, this.carRental, this.customerReference, this.eventDetails, @@ -2606,6 +2615,12 @@ public PaymentIntentConfirmParams.PaymentDetails build() { this.subscription); } + /** Benefit details for this PaymentIntent. */ + public Builder setBenefit(PaymentIntentConfirmParams.PaymentDetails.Benefit benefit) { + this.benefit = benefit; + return this; + } + /** Car rental details for this PaymentIntent. */ public Builder setCarRental(PaymentIntentConfirmParams.PaymentDetails.CarRental carRental) { this.carRental = carRental; @@ -2696,6 +2711,154 @@ public Builder setSubscription( } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Benefit { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** French meal voucher benefit details for this PaymentIntent. */ + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + private Benefit(Map extraParams, FrMealVoucher frMealVoucher) { + this.extraParams = extraParams; + this.frMealVoucher = frMealVoucher; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FrMealVoucher frMealVoucher; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentDetails.Benefit build() { + return new PaymentIntentConfirmParams.PaymentDetails.Benefit( + this.extraParams, this.frMealVoucher); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentDetails.Benefit#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.PaymentDetails.Benefit#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** French meal voucher benefit details for this PaymentIntent. */ + public Builder setFrMealVoucher( + PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher frMealVoucher) { + this.frMealVoucher = frMealVoucher; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + String siret; + + private FrMealVoucher(Map extraParams, String siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String siret; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher build() { + return new PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher( + this.extraParams, this.siret); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentConfirmParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class CarRental { diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java index a5bc099012d..7405fa73cc7 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java @@ -3028,6 +3028,10 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class PaymentDetails { + /** Benefit details for this PaymentIntent. */ + @SerializedName("benefit") + Benefit benefit; + /** Car rental details for this PaymentIntent. */ @SerializedName("car_rental") CarRental carRental; @@ -3069,6 +3073,7 @@ public static class PaymentDetails { Subscription subscription; private PaymentDetails( + Benefit benefit, CarRental carRental, Object customerReference, EventDetails eventDetails, @@ -3077,6 +3082,7 @@ private PaymentDetails( Lodging lodging, Object orderReference, Subscription subscription) { + this.benefit = benefit; this.carRental = carRental; this.customerReference = customerReference; this.eventDetails = eventDetails; @@ -3092,6 +3098,8 @@ public static Builder builder() { } public static class Builder { + private Benefit benefit; + private CarRental carRental; private Object customerReference; @@ -3111,6 +3119,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentCreateParams.PaymentDetails build() { return new PaymentIntentCreateParams.PaymentDetails( + this.benefit, this.carRental, this.customerReference, this.eventDetails, @@ -3121,6 +3130,12 @@ public PaymentIntentCreateParams.PaymentDetails build() { this.subscription); } + /** Benefit details for this PaymentIntent. */ + public Builder setBenefit(PaymentIntentCreateParams.PaymentDetails.Benefit benefit) { + this.benefit = benefit; + return this; + } + /** Car rental details for this PaymentIntent. */ public Builder setCarRental(PaymentIntentCreateParams.PaymentDetails.CarRental carRental) { this.carRental = carRental; @@ -3211,6 +3226,154 @@ public Builder setSubscription( } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Benefit { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** French meal voucher benefit details for this PaymentIntent. */ + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + private Benefit(Map extraParams, FrMealVoucher frMealVoucher) { + this.extraParams = extraParams; + this.frMealVoucher = frMealVoucher; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FrMealVoucher frMealVoucher; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentDetails.Benefit build() { + return new PaymentIntentCreateParams.PaymentDetails.Benefit( + this.extraParams, this.frMealVoucher); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentDetails.Benefit#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.PaymentDetails.Benefit#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** French meal voucher benefit details for this PaymentIntent. */ + public Builder setFrMealVoucher( + PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher frMealVoucher) { + this.frMealVoucher = frMealVoucher; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + String siret; + + private FrMealVoucher(Map extraParams, String siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String siret; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher build() { + return new PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher( + this.extraParams, this.siret); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentCreateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class CarRental { diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java index 98d98ae635f..2d6a84e770a 100644 --- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java @@ -2756,6 +2756,10 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) public static class PaymentDetails { + /** Benefit details for this PaymentIntent. */ + @SerializedName("benefit") + Benefit benefit; + /** Car rental details for this PaymentIntent. */ @SerializedName("car_rental") CarRental carRental; @@ -2797,6 +2801,7 @@ public static class PaymentDetails { Subscription subscription; private PaymentDetails( + Benefit benefit, CarRental carRental, Object customerReference, EventDetails eventDetails, @@ -2805,6 +2810,7 @@ private PaymentDetails( Lodging lodging, Object orderReference, Subscription subscription) { + this.benefit = benefit; this.carRental = carRental; this.customerReference = customerReference; this.eventDetails = eventDetails; @@ -2820,6 +2826,8 @@ public static Builder builder() { } public static class Builder { + private Benefit benefit; + private CarRental carRental; private Object customerReference; @@ -2839,6 +2847,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentUpdateParams.PaymentDetails build() { return new PaymentIntentUpdateParams.PaymentDetails( + this.benefit, this.carRental, this.customerReference, this.eventDetails, @@ -2849,6 +2858,12 @@ public PaymentIntentUpdateParams.PaymentDetails build() { this.subscription); } + /** Benefit details for this PaymentIntent. */ + public Builder setBenefit(PaymentIntentUpdateParams.PaymentDetails.Benefit benefit) { + this.benefit = benefit; + return this; + } + /** Car rental details for this PaymentIntent. */ public Builder setCarRental(PaymentIntentUpdateParams.PaymentDetails.CarRental carRental) { this.carRental = carRental; @@ -2939,6 +2954,160 @@ public Builder setSubscription( } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Benefit { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** French meal voucher benefit details for this PaymentIntent. */ + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + private Benefit(Map extraParams, FrMealVoucher frMealVoucher) { + this.extraParams = extraParams; + this.frMealVoucher = frMealVoucher; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FrMealVoucher frMealVoucher; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentDetails.Benefit build() { + return new PaymentIntentUpdateParams.PaymentDetails.Benefit( + this.extraParams, this.frMealVoucher); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentDetails.Benefit#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.PaymentDetails.Benefit#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** French meal voucher benefit details for this PaymentIntent. */ + public Builder setFrMealVoucher( + PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher frMealVoucher) { + this.frMealVoucher = frMealVoucher; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + Object siret; + + private FrMealVoucher(Map extraParams, Object siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object siret; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher build() { + return new PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher( + this.extraParams, this.siret); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PaymentIntentUpdateParams.PaymentDetails.Benefit.FrMealVoucher#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(EmptyParam siret) { + this.siret = siret; + return this; + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class CarRental { diff --git a/src/main/java/com/stripe/param/PaymentMethodCheckBalanceParams.java b/src/main/java/com/stripe/param/PaymentMethodCheckBalanceParams.java new file mode 100644 index 00000000000..41b70af1272 --- /dev/null +++ b/src/main/java/com/stripe/param/PaymentMethodCheckBalanceParams.java @@ -0,0 +1,100 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class PaymentMethodCheckBalanceParams extends ApiRequestParams { + /** Specifies which fields in the response should be expanded. */ + @SerializedName("expand") + List expand; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private PaymentMethodCheckBalanceParams(List expand, Map extraParams) { + this.expand = expand; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentMethodCheckBalanceParams build() { + return new PaymentMethodCheckBalanceParams(this.expand, this.extraParams); + } + + /** + * Add an element to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * PaymentMethodCheckBalanceParams#expand} for the field documentation. + */ + public Builder addExpand(String element) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.add(element); + return this; + } + + /** + * Add all elements to `expand` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * PaymentMethodCheckBalanceParams#expand} for the field documentation. + */ + public Builder addAllExpand(List elements) { + if (this.expand == null) { + this.expand = new ArrayList<>(); + } + this.expand.addAll(elements); + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentMethodCheckBalanceParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentMethodCheckBalanceParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java index fb7e37c33ca..c98a18cbf58 100644 --- a/src/main/java/com/stripe/param/SetupIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/SetupIntentConfirmParams.java @@ -67,6 +67,10 @@ public class SetupIntentConfirmParams extends ApiRequestParams { @SerializedName("return_url") String returnUrl; + /** Provides industry-specific information about the SetupIntent. */ + @SerializedName("setup_details") + SetupDetails setupDetails; + /** * Set to {@code true} when confirming server-side and using Stripe.js, iOS, or Android * client-side SDKs to handle the next actions. @@ -83,6 +87,7 @@ private SetupIntentConfirmParams( PaymentMethodData paymentMethodData, PaymentMethodOptions paymentMethodOptions, String returnUrl, + SetupDetails setupDetails, Boolean useStripeSdk) { this.confirmationToken = confirmationToken; this.expand = expand; @@ -92,6 +97,7 @@ private SetupIntentConfirmParams( this.paymentMethodData = paymentMethodData; this.paymentMethodOptions = paymentMethodOptions; this.returnUrl = returnUrl; + this.setupDetails = setupDetails; this.useStripeSdk = useStripeSdk; } @@ -116,6 +122,8 @@ public static class Builder { private String returnUrl; + private SetupDetails setupDetails; + private Boolean useStripeSdk; /** Finalize and obtain parameter instance from this builder. */ @@ -129,6 +137,7 @@ public SetupIntentConfirmParams build() { this.paymentMethodData, this.paymentMethodOptions, this.returnUrl, + this.setupDetails, this.useStripeSdk); } @@ -244,6 +253,12 @@ public Builder setReturnUrl(String returnUrl) { return this; } + /** Provides industry-specific information about the SetupIntent. */ + public Builder setSetupDetails(SetupIntentConfirmParams.SetupDetails setupDetails) { + this.setupDetails = setupDetails; + return this; + } + /** * Set to {@code true} when confirming server-side and using Stripe.js, iOS, or Android * client-side SDKs to handle the next actions. @@ -11964,4 +11979,221 @@ public enum VerificationMethod implements ApiRequestParams.EnumParam { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SetupDetails { + /** Benefit details for this SetupIntent. */ + @SerializedName("benefit") + Benefit benefit; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private SetupDetails(Benefit benefit, Map extraParams) { + this.benefit = benefit; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Benefit benefit; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.SetupDetails build() { + return new SetupIntentConfirmParams.SetupDetails(this.benefit, this.extraParams); + } + + /** Benefit details for this SetupIntent. */ + public Builder setBenefit(SetupIntentConfirmParams.SetupDetails.Benefit benefit) { + this.benefit = benefit; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * SetupIntentConfirmParams.SetupDetails#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SetupIntentConfirmParams.SetupDetails#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Benefit { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** French meal voucher benefit details for this SetupIntent. */ + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + private Benefit(Map extraParams, FrMealVoucher frMealVoucher) { + this.extraParams = extraParams; + this.frMealVoucher = frMealVoucher; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FrMealVoucher frMealVoucher; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.SetupDetails.Benefit build() { + return new SetupIntentConfirmParams.SetupDetails.Benefit( + this.extraParams, this.frMealVoucher); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentConfirmParams.SetupDetails.Benefit#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentConfirmParams.SetupDetails.Benefit#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** French meal voucher benefit details for this SetupIntent. */ + public Builder setFrMealVoucher( + SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher frMealVoucher) { + this.frMealVoucher = frMealVoucher; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + String siret; + + private FrMealVoucher(Map extraParams, String siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String siret; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher build() { + return new SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher( + this.extraParams, this.siret); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SetupIntentConfirmParams.SetupDetails.Benefit.FrMealVoucher#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + } + } + } + } } diff --git a/src/main/java/com/stripe/param/SetupIntentCreateParams.java b/src/main/java/com/stripe/param/SetupIntentCreateParams.java index 80ddcb778a9..97bbb382576 100644 --- a/src/main/java/com/stripe/param/SetupIntentCreateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentCreateParams.java @@ -161,6 +161,10 @@ public class SetupIntentCreateParams extends ApiRequestParams { @SerializedName("return_url") String returnUrl; + /** Provides industry-specific information about the SetupIntent. */ + @SerializedName("setup_details") + SetupDetails setupDetails; + /** * If you populate this hash, this SetupIntent generates a {@code single_use} mandate after * successful completion. @@ -206,6 +210,7 @@ private SetupIntentCreateParams( PaymentMethodOptions paymentMethodOptions, List paymentMethodTypes, String returnUrl, + SetupDetails setupDetails, SingleUse singleUse, Usage usage, Boolean useStripeSdk) { @@ -228,6 +233,7 @@ private SetupIntentCreateParams( this.paymentMethodOptions = paymentMethodOptions; this.paymentMethodTypes = paymentMethodTypes; this.returnUrl = returnUrl; + this.setupDetails = setupDetails; this.singleUse = singleUse; this.usage = usage; this.useStripeSdk = useStripeSdk; @@ -276,6 +282,8 @@ public static class Builder { private String returnUrl; + private SetupDetails setupDetails; + private SingleUse singleUse; private Usage usage; @@ -304,6 +312,7 @@ public SetupIntentCreateParams build() { this.paymentMethodOptions, this.paymentMethodTypes, this.returnUrl, + this.setupDetails, this.singleUse, this.usage, this.useStripeSdk); @@ -588,6 +597,12 @@ public Builder setReturnUrl(String returnUrl) { return this; } + /** Provides industry-specific information about the SetupIntent. */ + public Builder setSetupDetails(SetupIntentCreateParams.SetupDetails setupDetails) { + this.setupDetails = setupDetails; + return this; + } + /** * If you populate this hash, this SetupIntent generates a {@code single_use} mandate after * successful completion. @@ -12459,6 +12474,221 @@ public enum VerificationMethod implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SetupDetails { + /** Benefit details for this SetupIntent. */ + @SerializedName("benefit") + Benefit benefit; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private SetupDetails(Benefit benefit, Map extraParams) { + this.benefit = benefit; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Benefit benefit; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.SetupDetails build() { + return new SetupIntentCreateParams.SetupDetails(this.benefit, this.extraParams); + } + + /** Benefit details for this SetupIntent. */ + public Builder setBenefit(SetupIntentCreateParams.SetupDetails.Benefit benefit) { + this.benefit = benefit; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * SetupIntentCreateParams.SetupDetails#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SetupIntentCreateParams.SetupDetails#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Benefit { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** French meal voucher benefit details for this SetupIntent. */ + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + private Benefit(Map extraParams, FrMealVoucher frMealVoucher) { + this.extraParams = extraParams; + this.frMealVoucher = frMealVoucher; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FrMealVoucher frMealVoucher; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.SetupDetails.Benefit build() { + return new SetupIntentCreateParams.SetupDetails.Benefit( + this.extraParams, this.frMealVoucher); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** French meal voucher benefit details for this SetupIntent. */ + public Builder setFrMealVoucher( + SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher frMealVoucher) { + this.frMealVoucher = frMealVoucher; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + String siret; + + private FrMealVoucher(Map extraParams, String siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String siret; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher build() { + return new SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher( + this.extraParams, this.siret); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentCreateParams.SetupDetails.Benefit.FrMealVoucher#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SingleUse { diff --git a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java index d4f25238692..d23e18aabca 100644 --- a/src/main/java/com/stripe/param/SetupIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/SetupIntentUpdateParams.java @@ -115,6 +115,10 @@ public class SetupIntentUpdateParams extends ApiRequestParams { @SerializedName("payment_method_types") List paymentMethodTypes; + /** Provides industry-specific information about the SetupIntent. */ + @SerializedName("setup_details") + SetupDetails setupDetails; + private SetupIntentUpdateParams( Boolean attachToSelf, Object customer, @@ -128,7 +132,8 @@ private SetupIntentUpdateParams( Object paymentMethodConfiguration, PaymentMethodData paymentMethodData, PaymentMethodOptions paymentMethodOptions, - List paymentMethodTypes) { + List paymentMethodTypes, + SetupDetails setupDetails) { this.attachToSelf = attachToSelf; this.customer = customer; this.customerAccount = customerAccount; @@ -142,6 +147,7 @@ private SetupIntentUpdateParams( this.paymentMethodData = paymentMethodData; this.paymentMethodOptions = paymentMethodOptions; this.paymentMethodTypes = paymentMethodTypes; + this.setupDetails = setupDetails; } public static Builder builder() { @@ -175,6 +181,8 @@ public static class Builder { private List paymentMethodTypes; + private SetupDetails setupDetails; + /** Finalize and obtain parameter instance from this builder. */ public SetupIntentUpdateParams build() { return new SetupIntentUpdateParams( @@ -190,7 +198,8 @@ public SetupIntentUpdateParams build() { this.paymentMethodConfiguration, this.paymentMethodData, this.paymentMethodOptions, - this.paymentMethodTypes); + this.paymentMethodTypes, + this.setupDetails); } /** @@ -472,6 +481,12 @@ public Builder addAllPaymentMethodType(List elements) { this.paymentMethodTypes.addAll(elements); return this; } + + /** Provides industry-specific information about the SetupIntent. */ + public Builder setSetupDetails(SetupIntentUpdateParams.SetupDetails setupDetails) { + this.setupDetails = setupDetails; + return this; + } } @Getter @@ -12197,6 +12212,227 @@ public enum VerificationMethod implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SetupDetails { + /** Benefit details for this SetupIntent. */ + @SerializedName("benefit") + Benefit benefit; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private SetupDetails(Benefit benefit, Map extraParams) { + this.benefit = benefit; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Benefit benefit; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.SetupDetails build() { + return new SetupIntentUpdateParams.SetupDetails(this.benefit, this.extraParams); + } + + /** Benefit details for this SetupIntent. */ + public Builder setBenefit(SetupIntentUpdateParams.SetupDetails.Benefit benefit) { + this.benefit = benefit; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * SetupIntentUpdateParams.SetupDetails#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link SetupIntentUpdateParams.SetupDetails#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Benefit { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** French meal voucher benefit details for this SetupIntent. */ + @SerializedName("fr_meal_voucher") + FrMealVoucher frMealVoucher; + + private Benefit(Map extraParams, FrMealVoucher frMealVoucher) { + this.extraParams = extraParams; + this.frMealVoucher = frMealVoucher; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private FrMealVoucher frMealVoucher; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.SetupDetails.Benefit build() { + return new SetupIntentUpdateParams.SetupDetails.Benefit( + this.extraParams, this.frMealVoucher); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** French meal voucher benefit details for this SetupIntent. */ + public Builder setFrMealVoucher( + SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher frMealVoucher) { + this.frMealVoucher = frMealVoucher; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FrMealVoucher { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + @SerializedName("siret") + Object siret; + + private FrMealVoucher(Map extraParams, Object siret) { + this.extraParams = extraParams; + this.siret = siret; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object siret; + + /** Finalize and obtain parameter instance from this builder. */ + public SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher build() { + return new SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher( + this.extraParams, this.siret); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SetupIntentUpdateParams.SetupDetails.Benefit.FrMealVoucher#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(String siret) { + this.siret = siret; + return this; + } + + /** Required. The 14-digit SIRET of the meal voucher acceptor. */ + public Builder setSiret(EmptyParam siret) { + this.siret = siret; + return this; + } + } + } + } + } + public enum FlowDirection implements ApiRequestParams.EnumParam { @SerializedName("inbound") INBOUND("inbound"), diff --git a/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java b/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java index 652e8167f99..a9ef9344658 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java @@ -105,6 +105,9 @@ public Builder putAllExtraParam(Map map) { } public enum AppliedConfiguration implements ApiRequestParams.EnumParam { + @SerializedName("card_creator") + CARD_CREATOR("card_creator"), + @SerializedName("customer") CUSTOMER("customer"), diff --git a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java index fcc1946509c..5dbf60916a1 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java @@ -259,6 +259,10 @@ public Builder putAllMetadata(Map map) { @Getter @EqualsAndHashCode(callSuper = false) public static class Configuration { + /** The CardCreator Configuration allows the Account to create and issue cards to users. */ + @SerializedName("card_creator") + CardCreator cardCreator; + /** The Customer Configuration allows the Account to be used in inbound payment flows. */ @SerializedName("customer") Customer customer; @@ -292,11 +296,13 @@ public static class Configuration { Storer storer; private Configuration( + CardCreator cardCreator, Customer customer, Map extraParams, Merchant merchant, Recipient recipient, Storer storer) { + this.cardCreator = cardCreator; this.customer = customer; this.extraParams = extraParams; this.merchant = merchant; @@ -309,6 +315,8 @@ public static Builder builder() { } public static class Builder { + private CardCreator cardCreator; + private Customer customer; private Map extraParams; @@ -322,7 +330,18 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Configuration build() { return new AccountCreateParams.Configuration( - this.customer, this.extraParams, this.merchant, this.recipient, this.storer); + this.cardCreator, + this.customer, + this.extraParams, + this.merchant, + this.recipient, + this.storer); + } + + /** The CardCreator Configuration allows the Account to create and issue cards to users. */ + public Builder setCardCreator(AccountCreateParams.Configuration.CardCreator cardCreator) { + this.cardCreator = cardCreator; + return this; } /** The Customer Configuration allows the Account to be used in inbound payment flows. */ @@ -385,23 +404,8 @@ public Builder setStorer(AccountCreateParams.Configuration.Storer storer) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Customer { - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the - * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; - - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - @SerializedName("billing") - Billing billing; - - /** Capabilities that have been requested on the Customer Configuration. */ + public static class CardCreator { + /** Capabilities to request on the CardCreator Configuration. */ @SerializedName("capabilities") Capabilities capabilities; @@ -414,30 +418,9 @@ public static class Customer { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - @SerializedName("shipping") - Shipping shipping; - - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - @SerializedName("test_clock") - String testClock; - - private Customer( - AutomaticIndirectTax automaticIndirectTax, - Billing billing, - Capabilities capabilities, - Map extraParams, - Shipping shipping, - String testClock) { - this.automaticIndirectTax = automaticIndirectTax; - this.billing = billing; + private CardCreator(Capabilities capabilities, Map extraParams) { this.capabilities = capabilities; this.extraParams = extraParams; - this.shipping = shipping; - this.testClock = testClock; } public static Builder builder() { @@ -445,52 +428,19 @@ public static Builder builder() { } public static class Builder { - private AutomaticIndirectTax automaticIndirectTax; - - private Billing billing; - private Capabilities capabilities; private Map extraParams; - private Shipping shipping; - - private String testClock; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer build() { - return new AccountCreateParams.Configuration.Customer( - this.automaticIndirectTax, - this.billing, - this.capabilities, - this.extraParams, - this.shipping, - this.testClock); - } - - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on - * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - public Builder setAutomaticIndirectTax( - AccountCreateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - return this; - } - - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - public Builder setBilling(AccountCreateParams.Configuration.Customer.Billing billing) { - this.billing = billing; - return this; + public AccountCreateParams.Configuration.CardCreator build() { + return new AccountCreateParams.Configuration.CardCreator( + this.capabilities, this.extraParams); } - /** Capabilities that have been requested on the Customer Configuration. */ + /** Capabilities to request on the CardCreator Configuration. */ public Builder setCapabilities( - AccountCreateParams.Configuration.Customer.Capabilities capabilities) { + AccountCreateParams.Configuration.CardCreator.Capabilities capabilities) { this.capabilities = capabilities; return this; } @@ -498,7 +448,7 @@ public Builder setCapabilities( /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field + * map. See {@link AccountCreateParams.Configuration.CardCreator#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -512,7 +462,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field + * map. See {@link AccountCreateParams.Configuration.CardCreator#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -522,33 +472,14 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - public Builder setShipping(AccountCreateParams.Configuration.Customer.Shipping shipping) { - this.shipping = shipping; - return this; - } - - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - public Builder setTestClock(String testClock) { - this.testClock = testClock; - return this; - } } @Getter @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or - * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following - * text: “Reverse charge”. - */ - @SerializedName("exempt") - Exempt exempt; + public static class Capabilities { + /** Can create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; /** * Map of extra parameters for custom features not available in this client library. The @@ -560,29 +491,9 @@ public static class AutomaticIndirectTax { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - @SerializedName("ip_address") - String ipAddress; - - /** - * The data source used to identify the customer's tax location - defaults to - * 'identity_address'. Will only be used for automatic tax calculation on the customer's - * Invoices and Subscriptions. - */ - @SerializedName("location_source") - LocationSource locationSource; - - private AutomaticIndirectTax( - Exempt exempt, - Map extraParams, - String ipAddress, - LocationSource locationSource) { - this.exempt = exempt; + private Capabilities(Commercial commercial, Map extraParams) { + this.commercial = commercial; this.extraParams = extraParams; - this.ipAddress = ipAddress; - this.locationSource = locationSource; } public static Builder builder() { @@ -590,37 +501,28 @@ public static Builder builder() { } public static class Builder { - private Exempt exempt; + private Commercial commercial; private Map extraParams; - private String ipAddress; - - private LocationSource locationSource; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.AutomaticIndirectTax build() { - return new AccountCreateParams.Configuration.Customer.AutomaticIndirectTax( - this.exempt, this.extraParams, this.ipAddress, this.locationSource); + public AccountCreateParams.Configuration.CardCreator.Capabilities build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities( + this.commercial, this.extraParams); } - /** - * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, - * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following - * text: “Reverse charge”. - */ - public Builder setExempt( - AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { - this.exempt = exempt; + /** Can create cards for commercial issuing use cases. */ + public Builder setCommercial( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial commercial) { + this.commercial = commercial; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. + * map. See {@link AccountCreateParams.Configuration.CardCreator.Capabilities#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -633,9 +535,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. + * map. See {@link AccountCreateParams.Configuration.CardCreator.Capabilities#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -644,317 +545,387 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Commercial { + /** Can create commercial issuing cards with Celtic as BIN sponsor. */ + @SerializedName("celtic") + Celtic celtic; + + /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; /** - * A recent IP address of the customer used for tax reporting and tax location inference. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Can create commercial issuing cards with Stripe as BIN sponsor. */ + @SerializedName("stripe") + Stripe stripe; + + private Commercial( + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + Stripe stripe) { + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; + this.stripe = stripe; } - /** - * The data source used to identify the customer's tax location - defaults to - * 'identity_address'. Will only be used for automatic tax calculation on the customer's - * Invoices and Subscriptions. - */ - public Builder setLocationSource( - AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource - locationSource) { - this.locationSource = locationSource; - return this; + public static Builder builder() { + return new Builder(); } - } - public enum Exempt implements ApiRequestParams.EnumParam { - @SerializedName("exempt") - EXEMPT("exempt"), + public static class Builder { + private Celtic celtic; - @SerializedName("none") - NONE("none"), + private CrossRiverBank crossRiverBank; - @SerializedName("reverse") - REVERSE("reverse"); + private Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + private Stripe stripe; - Exempt(String value) { - this.value = value; - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial( + this.celtic, this.crossRiverBank, this.extraParams, this.stripe); + } - public enum LocationSource implements ApiRequestParams.EnumParam { - @SerializedName("identity_address") - IDENTITY_ADDRESS("identity_address"), + /** Can create commercial issuing cards with Celtic as BIN sponsor. */ + public Builder setCeltic( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + celtic) { + this.celtic = celtic; + return this; + } - @SerializedName("ip_address") - IP_ADDRESS("ip_address"), + /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */ + public Builder setCrossRiverBank( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + return this; + } - @SerializedName("shipping_address") - SHIPPING_ADDRESS("shipping_address"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - LocationSource(String value) { - this.value = value; + /** Can create commercial issuing cards with Stripe as BIN sponsor. */ + public Builder setStripe( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + stripe) { + this.stripe = stripe; + return this; + } } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Billing { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Celtic { + /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; - /** Default settings used on invoices for this customer. */ - @SerializedName("invoice") - Invoice invoice; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Billing(Map extraParams, Invoice invoice) { - this.extraParams = extraParams; - this.invoice = invoice; - } + /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */ + @SerializedName("spend_card") + SpendCard spendCard; - public static Builder builder() { - return new Builder(); - } + private Celtic( + ChargeCard chargeCard, Map extraParams, SpendCard spendCard) { + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Invoice invoice; + public static class Builder { + private ChargeCard chargeCard; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing build() { - return new AccountCreateParams.Configuration.Customer.Billing( - this.extraParams, this.invoice); - } + private Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private SpendCard spendCard; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Celtic(this.chargeCard, this.extraParams, this.spendCard); + } - /** Default settings used on invoices for this customer. */ - public Builder setInvoice( - AccountCreateParams.Configuration.Customer.Billing.Invoice invoice) { - this.invoice = invoice; - return this; - } - } + /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */ + public Builder setChargeCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Invoice { - /** - * The list of up to 4 default custom fields to be displayed on invoices for this - * customer. - */ - @SerializedName("custom_fields") - List customFields; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Default footer to be displayed on invoices for this customer. */ - @SerializedName("footer") - String footer; + /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */ + public Builder setSpendCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } - /** The sequence to be used on the customer's next invoice. Defaults to 1. */ - @SerializedName("next_sequence") - Long nextSequence; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 - * uppercase letters or numbers. - */ - @SerializedName("prefix") - String prefix; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Default options for invoice PDF rendering for this customer. */ - @SerializedName("rendering") - Rendering rendering; + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Invoice( - List - customFields, - Map extraParams, - String footer, - Long nextSequence, - String prefix, - Rendering rendering) { - this.customFields = customFields; - this.extraParams = extraParams; - this.footer = footer; - this.nextSequence = nextSequence; - this.prefix = prefix; - this.rendering = rendering; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private List - customFields; + private Boolean requested; - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .ChargeCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Celtic.ChargeCard(this.extraParams, this.requested); + } - private String footer; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Long nextSequence; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private String prefix; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - private Rendering rendering; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing.Invoice build() { - return new AccountCreateParams.Configuration.Customer.Billing.Invoice( - this.customFields, - this.extraParams, - this.footer, - this.nextSequence, - this.prefix, - this.rendering); - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add an element to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addCustomField( - AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField element) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); + private SpendCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - this.customFields.add(element); - return this; - } - /** - * Add all elements to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addAllCustomField( - List - elements) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); + public static Builder builder() { + return new Builder(); } - this.customFields.addAll(elements); - return this; - } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .SpendCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Celtic.SpendCard(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.put(key, value); - return this; } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank { + /** Can create commercial issuing charge cards with Cross River Bank as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Default footer to be displayed on invoices for this customer. */ - public Builder setFooter(String footer) { - this.footer = footer; - return this; - } - - /** The sequence to be used on the customer's next invoice. Defaults to 1. */ - public Builder setNextSequence(Long nextSequence) { - this.nextSequence = nextSequence; - return this; - } - - /** - * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 - * uppercase letters or numbers. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** Default options for invoice PDF rendering for this customer. */ - public Builder setRendering( - AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { - this.rendering = rendering; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CustomField { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -965,24 +936,15 @@ public static class CustomField { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. The name of the custom field. This may be up to 40 - * characters. - */ - @SerializedName("name") - String name; - - /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined values. - */ - @SerializedName("value") - String value; + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ + @SerializedName("spend_card") + SpendCard spendCard; - private CustomField(Map extraParams, String name, String value) { + private CrossRiverBank( + ChargeCard chargeCard, Map extraParams, SpendCard spendCard) { + this.chargeCard = chargeCard; this.extraParams = extraParams; - this.name = name; - this.value = value; + this.spendCard = spendCard; } public static Builder builder() { @@ -990,24 +952,36 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private ChargeCard chargeCard; - private String name; + private Map extraParams; - private String value; + private SpendCard spendCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank build() { - return new AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField( - this.extraParams, this.name, this.value); + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank(this.chargeCard, this.extraParams, this.spendCard); + } + + /** + * Can create commercial issuing charge cards with Cross River Bank as BIN sponsor. + */ + public Builder setChargeCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1022,7 +996,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1033,38 +1007,189 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ + public Builder setSpendCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { /** - * Required. The name of the custom field. This may be up to 40 - * characters. + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. */ - public Builder setName(String name) { - this.name = name; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.ChargeCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.ChargeCard(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined - * values. + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. */ - public Builder setValue(String value) { - this.value = value; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private SpendCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Rendering { - /** - * How line-item prices and amounts will be displayed with respect to tax on invoice - * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include - * inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will - * exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. - */ - @SerializedName("amount_tax_display") - AmountTaxDisplay amountTaxDisplay; + public static class Stripe { + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; /** * Map of extra parameters for custom features not available in this client library. The @@ -1076,17 +1201,15 @@ public static class Rendering { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** ID of the invoice rendering template to use for future invoices. */ - @SerializedName("template") - String template; + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - private Rendering( - AmountTaxDisplay amountTaxDisplay, - Map extraParams, - String template) { - this.amountTaxDisplay = amountTaxDisplay; + private Stripe( + ChargeCard chargeCard, Map extraParams, PrepaidCard prepaidCard) { + this.chargeCard = chargeCard; this.extraParams = extraParams; - this.template = template; + this.prepaidCard = prepaidCard; } public static Builder builder() { @@ -1094,30 +1217,25 @@ public static Builder builder() { } public static class Builder { - private AmountTaxDisplay amountTaxDisplay; + private ChargeCard chargeCard; private Map extraParams; - private String template; + private PrepaidCard prepaidCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering build() { - return new AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering( - this.amountTaxDisplay, this.extraParams, this.template); + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe(this.chargeCard, this.extraParams, this.prepaidCard); } - /** - * How line-item prices and amounts will be displayed with respect to tax on invoice - * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will - * include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. - * exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF - * amounts. - */ - public Builder setAmountTaxDisplay( - AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering - .AmountTaxDisplay - amountTaxDisplay) { - this.amountTaxDisplay = amountTaxDisplay; + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + public Builder setChargeCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + chargeCard) { + this.chargeCard = chargeCard; return this; } @@ -1125,7 +1243,7 @@ public Builder setAmountTaxDisplay( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1140,7 +1258,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1151,647 +1269,509 @@ public Builder putAllExtraParam(Map map) { return this; } - /** ID of the invoice rendering template to use for future invoices. */ - public Builder setTemplate(String template) { - this.template = template; + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + public Builder setPrepaidCard( + AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; return this; } } - public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { - @SerializedName("exclude_tax") - EXCLUDE_TAX("exclude_tax"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("include_inclusive_tax") - INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - @Getter(onMethod_ = {@Override}) - private final String value; + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - AmountTaxDisplay(String value) { - this.value = value; + public static Builder builder() { + return new Builder(); } - } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** - * Generates requirements for enabling automatic indirect tax calculation on this customer's - * invoices or subscriptions. Recommended to request this capability if planning to enable - * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code - * location_source} field. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; + public static class Builder { + private Map extraParams; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + private Boolean requested; - private Capabilities( - AutomaticIndirectTax automaticIndirectTax, Map extraParams) { - this.automaticIndirectTax = automaticIndirectTax; - this.extraParams = extraParams; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.ChargeCard(this.extraParams, this.requested); + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - public static class Builder { - private AutomaticIndirectTax automaticIndirectTax; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Map extraParams; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Capabilities build() { - return new AccountCreateParams.Configuration.Customer.Capabilities( - this.automaticIndirectTax, this.extraParams); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Generates requirements for enabling automatic indirect tax calculation on this - * customer's invoices or subscriptions. Recommended to request this capability if - * planning to enable automatic tax calculation on this customer's invoices or - * subscriptions. Uses the {@code location_source} field. - */ - public Builder setAutomaticIndirectTax( - AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - return this; - } + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private AutomaticIndirectTax(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private Map extraParams; + private Boolean requested; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + build() { + return new AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.PrepaidCard(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - build() { - return new AccountCreateParams.Configuration.Customer.Capabilities - .AutomaticIndirectTax(this.extraParams, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; - } - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; } } } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Shipping { - /** Customer shipping address. */ - @SerializedName("address") - Address address; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Customer { + /** + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the + * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + @SerializedName("billing") + Billing billing; - /** Customer name. */ - @SerializedName("name") - String name; + /** Capabilities that have been requested on the Customer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - /** Customer phone (including extension). */ - @SerializedName("phone") - String phone; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Shipping( - Address address, Map extraParams, String name, String phone) { - this.address = address; - this.extraParams = extraParams; - this.name = name; - this.phone = phone; - } + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + @SerializedName("shipping") + Shipping shipping; - public static Builder builder() { - return new Builder(); - } + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + @SerializedName("test_clock") + String testClock; - public static class Builder { - private Address address; + private Customer( + AutomaticIndirectTax automaticIndirectTax, + Billing billing, + Capabilities capabilities, + Map extraParams, + Shipping shipping, + String testClock) { + this.automaticIndirectTax = automaticIndirectTax; + this.billing = billing; + this.capabilities = capabilities; + this.extraParams = extraParams; + this.shipping = shipping; + this.testClock = testClock; + } - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private String name; + public static class Builder { + private AutomaticIndirectTax automaticIndirectTax; - private String phone; + private Billing billing; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Shipping build() { - return new AccountCreateParams.Configuration.Customer.Shipping( - this.address, this.extraParams, this.name, this.phone); - } + private Capabilities capabilities; - /** Customer shipping address. */ - public Builder setAddress( - AccountCreateParams.Configuration.Customer.Shipping.Address address) { - this.address = address; - return this; - } + private Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Shipping shipping; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private String testClock; - /** Customer name. */ - public Builder setName(String name) { - this.name = name; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer build() { + return new AccountCreateParams.Configuration.Customer( + this.automaticIndirectTax, + this.billing, + this.capabilities, + this.extraParams, + this.shipping, + this.testClock); + } - /** Customer phone (including extension). */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; - } + /** + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on + * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. + */ + public Builder setAutomaticIndirectTax( + AccountCreateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { + this.automaticIndirectTax = automaticIndirectTax; + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + public Builder setBilling(AccountCreateParams.Configuration.Customer.Billing billing) { + this.billing = billing; + return this; + } - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - String country; + /** Capabilities that have been requested on the Customer Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Customer.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - String line1; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - String line2; + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + public Builder setShipping(AccountCreateParams.Configuration.Customer.Shipping shipping) { + this.shipping = shipping; + return this; + } - /** ZIP or postal code. */ - @SerializedName("postal_code") - String postalCode; + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + public Builder setTestClock(String testClock) { + this.testClock = testClock; + return this; + } + } - /** State, county, province, or region. */ - @SerializedName("state") - String state; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax { + /** + * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or + * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following + * text: “Reverse charge”. + */ + @SerializedName("exempt") + Exempt exempt; - private Address( - String city, - String country, - Map extraParams, - String line1, - String line2, - String postalCode, - String state) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static Builder builder() { - return new Builder(); - } + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + @SerializedName("ip_address") + String ipAddress; - public static class Builder { - private String city; + /** + * The data source used to identify the customer's tax location - defaults to + * 'identity_address'. Will only be used for automatic tax calculation on the customer's + * Invoices and Subscriptions. + */ + @SerializedName("location_source") + LocationSource locationSource; - private String country; + private AutomaticIndirectTax( + Exempt exempt, + Map extraParams, + String ipAddress, + LocationSource locationSource) { + this.exempt = exempt; + this.extraParams = extraParams; + this.ipAddress = ipAddress; + this.locationSource = locationSource; + } - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private String line1; + public static class Builder { + private Exempt exempt; - private String line2; + private Map extraParams; - private String postalCode; + private String ipAddress; - private String state; + private LocationSource locationSource; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Customer.Shipping.Address build() { - return new AccountCreateParams.Configuration.Customer.Shipping.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.AutomaticIndirectTax build() { + return new AccountCreateParams.Configuration.Customer.AutomaticIndirectTax( + this.exempt, this.extraParams, this.ipAddress, this.locationSource); + } - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } + /** + * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, + * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following + * text: “Reverse charge”. + */ + public Builder setExempt( + AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { + this.exempt = exempt; + return this; + } - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(String country) { - this.country = country; - return this; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - public Builder setLine2(String line2) { - this.line2 = line2; - return this; - } - - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + public Builder setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + return this; + } - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; - } + /** + * The data source used to identify the customer's tax location - defaults to + * 'identity_address'. Will only be used for automatic tax calculation on the customer's + * Invoices and Subscriptions. + */ + public Builder setLocationSource( + AccountCreateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource + locationSource) { + this.locationSource = locationSource; + return this; } } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Merchant { - /** Settings used for Bacs debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; - - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - @SerializedName("branding") - Branding branding; - - /** Capabilities to request on the Merchant Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - - /** Card payments settings. */ - @SerializedName("card_payments") - CardPayments cardPayments; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * The merchant category code for the Merchant Configuration. MCCs are used to classify - * businesses based on the goods or services they provide. - */ - @SerializedName("mcc") - String mcc; - - /** Statement descriptor. */ - @SerializedName("statement_descriptor") - StatementDescriptor statementDescriptor; - - /** Publicly available contact information for sending support issues to. */ - @SerializedName("support") - Support support; - - private Merchant( - BacsDebitPayments bacsDebitPayments, - Branding branding, - Capabilities capabilities, - CardPayments cardPayments, - Map extraParams, - String mcc, - StatementDescriptor statementDescriptor, - Support support) { - this.bacsDebitPayments = bacsDebitPayments; - this.branding = branding; - this.capabilities = capabilities; - this.cardPayments = cardPayments; - this.extraParams = extraParams; - this.mcc = mcc; - this.statementDescriptor = statementDescriptor; - this.support = support; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BacsDebitPayments bacsDebitPayments; - - private Branding branding; - - private Capabilities capabilities; - - private CardPayments cardPayments; - - private Map extraParams; - private String mcc; + public enum Exempt implements ApiRequestParams.EnumParam { + @SerializedName("exempt") + EXEMPT("exempt"), - private StatementDescriptor statementDescriptor; + @SerializedName("none") + NONE("none"), - private Support support; + @SerializedName("reverse") + REVERSE("reverse"); - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant build() { - return new AccountCreateParams.Configuration.Merchant( - this.bacsDebitPayments, - this.branding, - this.capabilities, - this.cardPayments, - this.extraParams, - this.mcc, - this.statementDescriptor, - this.support); - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** Settings used for Bacs debit payments. */ - public Builder setBacsDebitPayments( - AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; - return this; + Exempt(String value) { + this.value = value; + } } - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) { - this.branding = branding; - return this; - } + public enum LocationSource implements ApiRequestParams.EnumParam { + @SerializedName("identity_address") + IDENTITY_ADDRESS("identity_address"), - /** Capabilities to request on the Merchant Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Merchant.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + @SerializedName("ip_address") + IP_ADDRESS("ip_address"), - /** Card payments settings. */ - public Builder setCardPayments( - AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) { - this.cardPayments = cardPayments; - return this; - } + @SerializedName("shipping_address") + SHIPPING_ADDRESS("shipping_address"); - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + LocationSource(String value) { + this.value = value; } - this.extraParams.putAll(map); - return this; - } - - /** - * The merchant category code for the Merchant Configuration. MCCs are used to classify - * businesses based on the goods or services they provide. - */ - public Builder setMcc(String mcc) { - this.mcc = mcc; - return this; - } - - /** Statement descriptor. */ - public Builder setStatementDescriptor( - AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { - this.statementDescriptor = statementDescriptor; - return this; - } - - /** Publicly available contact information for sending support issues to. */ - public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) { - this.support = support; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { - /** Display name for Bacs debit payments. */ - @SerializedName("display_name") - String displayName; - + public static class Billing { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -1802,9 +1782,13 @@ public static class BacsDebitPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private BacsDebitPayments(String displayName, Map extraParams) { - this.displayName = displayName; + /** Default settings used on invoices for this customer. */ + @SerializedName("invoice") + Invoice invoice; + + private Billing(Map extraParams, Invoice invoice) { this.extraParams = extraParams; + this.invoice = invoice; } public static Builder builder() { @@ -1812,28 +1796,21 @@ public static Builder builder() { } public static class Builder { - private String displayName; - private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() { - return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments( - this.displayName, this.extraParams); - } + private Invoice invoice; - /** Display name for Bacs debit payments. */ - public Builder setDisplayName(String displayName) { - this.displayName = displayName; - return this; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Billing build() { + return new AccountCreateParams.Configuration.Customer.Billing( + this.extraParams, this.invoice); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. + * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -1846,9 +1823,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field - * documentation. + * map. See {@link AccountCreateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -1857,420 +1833,441 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Branding { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * ID of a file upload: - * An icon for the merchant. Must be square and at least 128px x 128px. - */ - @SerializedName("icon") - String icon; - - /** - * ID of a file upload: - * A logo for the merchant that will be used in Checkout instead of the icon and without the - * merchant's name next to it if provided. Must be at least 128px x 128px. - */ - @SerializedName("logo") - String logo; - - /** A CSS hex color value representing the primary branding color for the merchant. */ - @SerializedName("primary_color") - String primaryColor; - - /** A CSS hex color value representing the secondary branding color for the merchant. */ - @SerializedName("secondary_color") - String secondaryColor; - - private Branding( - Map extraParams, - String icon, - String logo, - String primaryColor, - String secondaryColor) { - this.extraParams = extraParams; - this.icon = icon; - this.logo = logo; - this.primaryColor = primaryColor; - this.secondaryColor = secondaryColor; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private String icon; - - private String logo; - - private String primaryColor; - - private String secondaryColor; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Branding build() { - return new AccountCreateParams.Configuration.Merchant.Branding( - this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); - } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); + /** Default settings used on invoices for this customer. */ + public Builder setInvoice( + AccountCreateParams.Configuration.Customer.Billing.Invoice invoice) { + this.invoice = invoice; return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Invoice { /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for - * the field documentation. + * The list of up to 4 default custom fields to be displayed on invoices for this + * customer. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("custom_fields") + List customFields; /** - * ID of a file - * upload: An icon for the merchant. Must be square and at least 128px x 128px. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. */ - public Builder setIcon(String icon) { - this.icon = icon; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Default footer to be displayed on invoices for this customer. */ + @SerializedName("footer") + String footer; + + /** The sequence to be used on the customer's next invoice. Defaults to 1. */ + @SerializedName("next_sequence") + Long nextSequence; /** - * ID of a file - * upload: A logo for the merchant that will be used in Checkout instead of the icon - * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + * uppercase letters or numbers. */ - public Builder setLogo(String logo) { - this.logo = logo; - return this; - } + @SerializedName("prefix") + String prefix; - /** A CSS hex color value representing the primary branding color for the merchant. */ - public Builder setPrimaryColor(String primaryColor) { - this.primaryColor = primaryColor; - return this; - } + /** Default options for invoice PDF rendering for this customer. */ + @SerializedName("rendering") + Rendering rendering; - /** A CSS hex color value representing the secondary branding color for the merchant. */ - public Builder setSecondaryColor(String secondaryColor) { - this.secondaryColor = secondaryColor; - return this; + private Invoice( + List + customFields, + Map extraParams, + String footer, + Long nextSequence, + String prefix, + Rendering rendering) { + this.customFields = customFields; + this.extraParams = extraParams; + this.footer = footer; + this.nextSequence = nextSequence; + this.prefix = prefix; + this.rendering = rendering; } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Allow the merchant to process ACH debit payments. */ - @SerializedName("ach_debit_payments") - AchDebitPayments achDebitPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process ACSS debit payments. */ - @SerializedName("acss_debit_payments") - AcssDebitPayments acssDebitPayments; + public static class Builder { + private List + customFields; - /** Allow the merchant to process Affirm payments. */ - @SerializedName("affirm_payments") - AffirmPayments affirmPayments; + private Map extraParams; - /** Allow the merchant to process Afterpay/Clearpay payments. */ - @SerializedName("afterpay_clearpay_payments") - AfterpayClearpayPayments afterpayClearpayPayments; + private String footer; - /** Allow the merchant to process Alma payments. */ - @SerializedName("alma_payments") - AlmaPayments almaPayments; + private Long nextSequence; - /** Allow the merchant to process Amazon Pay payments. */ - @SerializedName("amazon_pay_payments") - AmazonPayPayments amazonPayPayments; + private String prefix; - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - @SerializedName("au_becs_debit_payments") - AuBecsDebitPayments auBecsDebitPayments; + private Rendering rendering; - /** Allow the merchant to process BACS Direct Debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Billing.Invoice build() { + return new AccountCreateParams.Configuration.Customer.Billing.Invoice( + this.customFields, + this.extraParams, + this.footer, + this.nextSequence, + this.prefix, + this.rendering); + } - /** Allow the merchant to process Bancontact payments. */ - @SerializedName("bancontact_payments") - BancontactPayments bancontactPayments; + /** + * Add an element to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. + */ + public Builder addCustomField( + AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField element) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.add(element); + return this; + } - /** Allow the merchant to process BLIK payments. */ - @SerializedName("blik_payments") - BlikPayments blikPayments; + /** + * Add all elements to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. + */ + public Builder addAllCustomField( + List + elements) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.addAll(elements); + return this; + } - /** Allow the merchant to process Boleto payments. */ - @SerializedName("boleto_payments") - BoletoPayments boletoPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to collect card payments. */ - @SerializedName("card_payments") - CardPayments cardPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process Cartes Bancaires payments. */ - @SerializedName("cartes_bancaires_payments") - CartesBancairesPayments cartesBancairesPayments; + /** Default footer to be displayed on invoices for this customer. */ + public Builder setFooter(String footer) { + this.footer = footer; + return this; + } - /** Allow the merchant to process Cash App payments. */ - @SerializedName("cashapp_payments") - CashappPayments cashappPayments; + /** The sequence to be used on the customer's next invoice. Defaults to 1. */ + public Builder setNextSequence(Long nextSequence) { + this.nextSequence = nextSequence; + return this; + } - /** Allow the merchant to process EPS payments. */ - @SerializedName("eps_payments") - EpsPayments epsPayments; + /** + * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + * uppercase letters or numbers. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Default options for invoice PDF rendering for this customer. */ + public Builder setRendering( + AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { + this.rendering = rendering; + return this; + } + } - /** Allow the merchant to process FPX payments. */ - @SerializedName("fpx_payments") - FpxPayments fpxPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CustomField { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process UK bank transfer payments. */ - @SerializedName("gb_bank_transfer_payments") - GbBankTransferPayments gbBankTransferPayments; + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + @SerializedName("name") + String name; - /** Allow the merchant to process GrabPay payments. */ - @SerializedName("grabpay_payments") - GrabpayPayments grabpayPayments; + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined values. + */ + @SerializedName("value") + String value; - /** Allow the merchant to process iDEAL payments. */ - @SerializedName("ideal_payments") - IdealPayments idealPayments; + private CustomField(Map extraParams, String name, String value) { + this.extraParams = extraParams; + this.name = name; + this.value = value; + } - /** Allow the merchant to process JCB card payments. */ - @SerializedName("jcb_payments") - JcbPayments jcbPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process Japanese bank transfer payments. */ - @SerializedName("jp_bank_transfer_payments") - JpBankTransferPayments jpBankTransferPayments; + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Kakao Pay payments. */ - @SerializedName("kakao_pay_payments") - KakaoPayPayments kakaoPayPayments; + private String name; - /** Allow the merchant to process Klarna payments. */ - @SerializedName("klarna_payments") - KlarnaPayments klarnaPayments; + private String value; - /** Allow the merchant to process Konbini convenience store payments. */ - @SerializedName("konbini_payments") - KonbiniPayments konbiniPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField + build() { + return new AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField( + this.extraParams, this.name, this.value); + } - /** Allow the merchant to process Korean card payments. */ - @SerializedName("kr_card_payments") - KrCardPayments krCardPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process Link payments. */ - @SerializedName("link_payments") - LinkPayments linkPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process MobilePay payments. */ - @SerializedName("mobilepay_payments") - MobilepayPayments mobilepayPayments; + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + public Builder setName(String name) { + this.name = name; + return this; + } - /** Allow the merchant to process Multibanco payments. */ - @SerializedName("multibanco_payments") - MultibancoPayments multibancoPayments; + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined + * values. + */ + public Builder setValue(String value) { + this.value = value; + return this; + } + } + } - /** Allow the merchant to process Mexican bank transfer payments. */ - @SerializedName("mx_bank_transfer_payments") - MxBankTransferPayments mxBankTransferPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Rendering { + /** + * How line-item prices and amounts will be displayed with respect to tax on invoice + * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include + * inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will + * exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. + */ + @SerializedName("amount_tax_display") + AmountTaxDisplay amountTaxDisplay; - /** Allow the merchant to process Naver Pay payments. */ - @SerializedName("naver_pay_payments") - NaverPayPayments naverPayPayments; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Allow the merchant to process OXXO payments. */ - @SerializedName("oxxo_payments") - OxxoPayments oxxoPayments; + /** ID of the invoice rendering template to use for future invoices. */ + @SerializedName("template") + String template; - /** Allow the merchant to process Przelewy24 (P24) payments. */ - @SerializedName("p24_payments") - P24Payments p24Payments; + private Rendering( + AmountTaxDisplay amountTaxDisplay, + Map extraParams, + String template) { + this.amountTaxDisplay = amountTaxDisplay; + this.extraParams = extraParams; + this.template = template; + } - /** Allow the merchant to process Pay by Bank payments. */ - @SerializedName("pay_by_bank_payments") - PayByBankPayments payByBankPayments; + public static Builder builder() { + return new Builder(); + } - /** Allow the merchant to process PAYCO payments. */ - @SerializedName("payco_payments") - PaycoPayments paycoPayments; + public static class Builder { + private AmountTaxDisplay amountTaxDisplay; - /** Allow the merchant to process PayNow payments. */ - @SerializedName("paynow_payments") - PaynowPayments paynowPayments; + private Map extraParams; - /** Allow the merchant to process PromptPay payments. */ - @SerializedName("promptpay_payments") - PromptpayPayments promptpayPayments; + private String template; - /** Allow the merchant to process Revolut Pay payments. */ - @SerializedName("revolut_pay_payments") - RevolutPayPayments revolutPayPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering build() { + return new AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering( + this.amountTaxDisplay, this.extraParams, this.template); + } - /** Allow the merchant to process Samsung Pay payments. */ - @SerializedName("samsung_pay_payments") - SamsungPayPayments samsungPayPayments; + /** + * How line-item prices and amounts will be displayed with respect to tax on invoice + * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will + * include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. + * exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF + * amounts. + */ + public Builder setAmountTaxDisplay( + AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering + .AmountTaxDisplay + amountTaxDisplay) { + this.amountTaxDisplay = amountTaxDisplay; + return this; + } - /** Allow the merchant to process SEPA bank transfer payments. */ - @SerializedName("sepa_bank_transfer_payments") - SepaBankTransferPayments sepaBankTransferPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Allow the merchant to process SEPA Direct Debit payments. */ - @SerializedName("sepa_debit_payments") - SepaDebitPayments sepaDebitPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Allow the merchant to process Swish payments. */ - @SerializedName("swish_payments") - SwishPayments swishPayments; + /** ID of the invoice rendering template to use for future invoices. */ + public Builder setTemplate(String template) { + this.template = template; + return this; + } + } - /** Allow the merchant to process TWINT payments. */ - @SerializedName("twint_payments") - TwintPayments twintPayments; + public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { + @SerializedName("exclude_tax") + EXCLUDE_TAX("exclude_tax"), - /** Allow the merchant to process US bank transfer payments. */ - @SerializedName("us_bank_transfer_payments") - UsBankTransferPayments usBankTransferPayments; + @SerializedName("include_inclusive_tax") + INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); - /** Allow the merchant to process Zip payments. */ - @SerializedName("zip_payments") - ZipPayments zipPayments; + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountTaxDisplay(String value) { + this.value = value; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** + * Generates requirements for enabling automatic indirect tax calculation on this customer's + * invoices or subscriptions. Recommended to request this capability if planning to enable + * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code + * location_source} field. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; private Capabilities( - AchDebitPayments achDebitPayments, - AcssDebitPayments acssDebitPayments, - AffirmPayments affirmPayments, - AfterpayClearpayPayments afterpayClearpayPayments, - AlmaPayments almaPayments, - AmazonPayPayments amazonPayPayments, - AuBecsDebitPayments auBecsDebitPayments, - BacsDebitPayments bacsDebitPayments, - BancontactPayments bancontactPayments, - BlikPayments blikPayments, - BoletoPayments boletoPayments, - CardPayments cardPayments, - CartesBancairesPayments cartesBancairesPayments, - CashappPayments cashappPayments, - EpsPayments epsPayments, - Map extraParams, - FpxPayments fpxPayments, - GbBankTransferPayments gbBankTransferPayments, - GrabpayPayments grabpayPayments, - IdealPayments idealPayments, - JcbPayments jcbPayments, - JpBankTransferPayments jpBankTransferPayments, - KakaoPayPayments kakaoPayPayments, - KlarnaPayments klarnaPayments, - KonbiniPayments konbiniPayments, - KrCardPayments krCardPayments, - LinkPayments linkPayments, - MobilepayPayments mobilepayPayments, - MultibancoPayments multibancoPayments, - MxBankTransferPayments mxBankTransferPayments, - NaverPayPayments naverPayPayments, - OxxoPayments oxxoPayments, - P24Payments p24Payments, - PayByBankPayments payByBankPayments, - PaycoPayments paycoPayments, - PaynowPayments paynowPayments, - PromptpayPayments promptpayPayments, - RevolutPayPayments revolutPayPayments, - SamsungPayPayments samsungPayPayments, - SepaBankTransferPayments sepaBankTransferPayments, - SepaDebitPayments sepaDebitPayments, - SwishPayments swishPayments, - TwintPayments twintPayments, - UsBankTransferPayments usBankTransferPayments, - ZipPayments zipPayments) { - this.achDebitPayments = achDebitPayments; - this.acssDebitPayments = acssDebitPayments; - this.affirmPayments = affirmPayments; - this.afterpayClearpayPayments = afterpayClearpayPayments; - this.almaPayments = almaPayments; - this.amazonPayPayments = amazonPayPayments; - this.auBecsDebitPayments = auBecsDebitPayments; - this.bacsDebitPayments = bacsDebitPayments; - this.bancontactPayments = bancontactPayments; - this.blikPayments = blikPayments; - this.boletoPayments = boletoPayments; - this.cardPayments = cardPayments; - this.cartesBancairesPayments = cartesBancairesPayments; - this.cashappPayments = cashappPayments; - this.epsPayments = epsPayments; + AutomaticIndirectTax automaticIndirectTax, Map extraParams) { + this.automaticIndirectTax = automaticIndirectTax; this.extraParams = extraParams; - this.fpxPayments = fpxPayments; - this.gbBankTransferPayments = gbBankTransferPayments; - this.grabpayPayments = grabpayPayments; - this.idealPayments = idealPayments; - this.jcbPayments = jcbPayments; - this.jpBankTransferPayments = jpBankTransferPayments; - this.kakaoPayPayments = kakaoPayPayments; - this.klarnaPayments = klarnaPayments; - this.konbiniPayments = konbiniPayments; - this.krCardPayments = krCardPayments; - this.linkPayments = linkPayments; - this.mobilepayPayments = mobilepayPayments; - this.multibancoPayments = multibancoPayments; - this.mxBankTransferPayments = mxBankTransferPayments; - this.naverPayPayments = naverPayPayments; - this.oxxoPayments = oxxoPayments; - this.p24Payments = p24Payments; - this.payByBankPayments = payByBankPayments; - this.paycoPayments = paycoPayments; - this.paynowPayments = paynowPayments; - this.promptpayPayments = promptpayPayments; - this.revolutPayPayments = revolutPayPayments; - this.samsungPayPayments = samsungPayPayments; - this.sepaBankTransferPayments = sepaBankTransferPayments; - this.sepaDebitPayments = sepaDebitPayments; - this.swishPayments = swishPayments; - this.twintPayments = twintPayments; - this.usBankTransferPayments = usBankTransferPayments; - this.zipPayments = zipPayments; } public static Builder builder() { @@ -2278,89 +2275,1158 @@ public static Builder builder() { } public static class Builder { - private AchDebitPayments achDebitPayments; - - private AcssDebitPayments acssDebitPayments; - - private AffirmPayments affirmPayments; - - private AfterpayClearpayPayments afterpayClearpayPayments; - - private AlmaPayments almaPayments; - - private AmazonPayPayments amazonPayPayments; + private AutomaticIndirectTax automaticIndirectTax; - private AuBecsDebitPayments auBecsDebitPayments; + private Map extraParams; - private BacsDebitPayments bacsDebitPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Capabilities build() { + return new AccountCreateParams.Configuration.Customer.Capabilities( + this.automaticIndirectTax, this.extraParams); + } - private BancontactPayments bancontactPayments; + /** + * Generates requirements for enabling automatic indirect tax calculation on this + * customer's invoices or subscriptions. Recommended to request this capability if + * planning to enable automatic tax calculation on this customer's invoices or + * subscriptions. Uses the {@code location_source} field. + */ + public Builder setAutomaticIndirectTax( + AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + automaticIndirectTax) { + this.automaticIndirectTax = automaticIndirectTax; + return this; + } - private BlikPayments blikPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private BoletoPayments boletoPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - private CardPayments cardPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private CartesBancairesPayments cartesBancairesPayments; + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private CashappPayments cashappPayments; + private AutomaticIndirectTax(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private EpsPayments epsPayments; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Map extraParams; - private FpxPayments fpxPayments; + private Boolean requested; - private GbBankTransferPayments gbBankTransferPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + build() { + return new AccountCreateParams.Configuration.Customer.Capabilities + .AutomaticIndirectTax(this.extraParams, this.requested); + } - private GrabpayPayments grabpayPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private IdealPayments idealPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private JcbPayments jcbPayments; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } - private JpBankTransferPayments jpBankTransferPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Shipping { + /** Customer shipping address. */ + @SerializedName("address") + Address address; - private KakaoPayPayments kakaoPayPayments; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private KlarnaPayments klarnaPayments; + /** Customer name. */ + @SerializedName("name") + String name; - private KonbiniPayments konbiniPayments; + /** Customer phone (including extension). */ + @SerializedName("phone") + String phone; - private KrCardPayments krCardPayments; + private Shipping( + Address address, Map extraParams, String name, String phone) { + this.address = address; + this.extraParams = extraParams; + this.name = name; + this.phone = phone; + } - private LinkPayments linkPayments; + public static Builder builder() { + return new Builder(); + } - private MobilepayPayments mobilepayPayments; + public static class Builder { + private Address address; - private MultibancoPayments multibancoPayments; + private Map extraParams; - private MxBankTransferPayments mxBankTransferPayments; + private String name; - private NaverPayPayments naverPayPayments; + private String phone; - private OxxoPayments oxxoPayments; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Shipping build() { + return new AccountCreateParams.Configuration.Customer.Shipping( + this.address, this.extraParams, this.name, this.phone); + } - private P24Payments p24Payments; + /** Customer shipping address. */ + public Builder setAddress( + AccountCreateParams.Configuration.Customer.Shipping.Address address) { + this.address = address; + return this; + } - private PayByBankPayments payByBankPayments; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private PaycoPayments paycoPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private PaynowPayments paynowPayments; + /** Customer name. */ + public Builder setName(String name) { + this.name = name; + return this; + } - private PromptpayPayments promptpayPayments; + /** Customer phone (including extension). */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } + } - private RevolutPayPayments revolutPayPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; - private SamsungPayPayments samsungPayPayments; + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + String country; - private SepaBankTransferPayments sepaBankTransferPayments; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private SepaDebitPayments sepaDebitPayments; + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + String line1; - private SwishPayments swishPayments; + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** State, county, province, or region. */ + @SerializedName("state") + String state; + + private Address( + String city, + String country, + Map extraParams, + String line1, + String line2, + String postalCode, + String state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; + + private String state; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Customer.Shipping.Address build() { + return new AccountCreateParams.Configuration.Customer.Shipping.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; + return this; + } + + /** + * Two-letter country code (ISO 3166-1 alpha-2). + */ + public Builder setCountry(String country) { + this.country = country; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Address line 1 (e.g., street, PO Box, or company name). */ + public Builder setLine1(String line1) { + this.line1 = line1; + return this; + } + + /** Address line 2 (e.g., apartment, suite, unit, or building). */ + public Builder setLine2(String line2) { + this.line2 = line2; + return this; + } + + /** ZIP or postal code. */ + public Builder setPostalCode(String postalCode) { + this.postalCode = postalCode; + return this; + } + + /** State, county, province, or region. */ + public Builder setState(String state) { + this.state = state; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Merchant { + /** Settings used for Bacs debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; + + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + @SerializedName("branding") + Branding branding; + + /** Capabilities to request on the Merchant Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** Card payments settings. */ + @SerializedName("card_payments") + CardPayments cardPayments; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The merchant category code for the Merchant Configuration. MCCs are used to classify + * businesses based on the goods or services they provide. + */ + @SerializedName("mcc") + String mcc; + + /** Statement descriptor. */ + @SerializedName("statement_descriptor") + StatementDescriptor statementDescriptor; + + /** Publicly available contact information for sending support issues to. */ + @SerializedName("support") + Support support; + + private Merchant( + BacsDebitPayments bacsDebitPayments, + Branding branding, + Capabilities capabilities, + CardPayments cardPayments, + Map extraParams, + String mcc, + StatementDescriptor statementDescriptor, + Support support) { + this.bacsDebitPayments = bacsDebitPayments; + this.branding = branding; + this.capabilities = capabilities; + this.cardPayments = cardPayments; + this.extraParams = extraParams; + this.mcc = mcc; + this.statementDescriptor = statementDescriptor; + this.support = support; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BacsDebitPayments bacsDebitPayments; + + private Branding branding; + + private Capabilities capabilities; + + private CardPayments cardPayments; + + private Map extraParams; + + private String mcc; + + private StatementDescriptor statementDescriptor; + + private Support support; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant build() { + return new AccountCreateParams.Configuration.Merchant( + this.bacsDebitPayments, + this.branding, + this.capabilities, + this.cardPayments, + this.extraParams, + this.mcc, + this.statementDescriptor, + this.support); + } + + /** Settings used for Bacs debit payments. */ + public Builder setBacsDebitPayments( + AccountCreateParams.Configuration.Merchant.BacsDebitPayments bacsDebitPayments) { + this.bacsDebitPayments = bacsDebitPayments; + return this; + } + + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + public Builder setBranding(AccountCreateParams.Configuration.Merchant.Branding branding) { + this.branding = branding; + return this; + } + + /** Capabilities to request on the Merchant Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Merchant.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** Card payments settings. */ + public Builder setCardPayments( + AccountCreateParams.Configuration.Merchant.CardPayments cardPayments) { + this.cardPayments = cardPayments; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The merchant category code for the Merchant Configuration. MCCs are used to classify + * businesses based on the goods or services they provide. + */ + public Builder setMcc(String mcc) { + this.mcc = mcc; + return this; + } + + /** Statement descriptor. */ + public Builder setStatementDescriptor( + AccountCreateParams.Configuration.Merchant.StatementDescriptor statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } + + /** Publicly available contact information for sending support issues to. */ + public Builder setSupport(AccountCreateParams.Configuration.Merchant.Support support) { + this.support = support; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BacsDebitPayments { + /** Display name for Bacs debit payments. */ + @SerializedName("display_name") + String displayName; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private BacsDebitPayments(String displayName, Map extraParams) { + this.displayName = displayName; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String displayName; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.BacsDebitPayments build() { + return new AccountCreateParams.Configuration.Merchant.BacsDebitPayments( + this.displayName, this.extraParams); + } + + /** Display name for Bacs debit payments. */ + public Builder setDisplayName(String displayName) { + this.displayName = displayName; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.BacsDebitPayments#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Branding { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * ID of a file upload: + * An icon for the merchant. Must be square and at least 128px x 128px. + */ + @SerializedName("icon") + String icon; + + /** + * ID of a file upload: + * A logo for the merchant that will be used in Checkout instead of the icon and without the + * merchant's name next to it if provided. Must be at least 128px x 128px. + */ + @SerializedName("logo") + String logo; + + /** A CSS hex color value representing the primary branding color for the merchant. */ + @SerializedName("primary_color") + String primaryColor; + + /** A CSS hex color value representing the secondary branding color for the merchant. */ + @SerializedName("secondary_color") + String secondaryColor; + + private Branding( + Map extraParams, + String icon, + String logo, + String primaryColor, + String secondaryColor) { + this.extraParams = extraParams; + this.icon = icon; + this.logo = logo; + this.primaryColor = primaryColor; + this.secondaryColor = secondaryColor; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String icon; + + private String logo; + + private String primaryColor; + + private String secondaryColor; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Branding build() { + return new AccountCreateParams.Configuration.Merchant.Branding( + this.extraParams, this.icon, this.logo, this.primaryColor, this.secondaryColor); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Merchant.Branding#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * ID of a file + * upload: An icon for the merchant. Must be square and at least 128px x 128px. + */ + public Builder setIcon(String icon) { + this.icon = icon; + return this; + } + + /** + * ID of a file + * upload: A logo for the merchant that will be used in Checkout instead of the icon + * and without the merchant's name next to it if provided. Must be at least 128px x 128px. + */ + public Builder setLogo(String logo) { + this.logo = logo; + return this; + } + + /** A CSS hex color value representing the primary branding color for the merchant. */ + public Builder setPrimaryColor(String primaryColor) { + this.primaryColor = primaryColor; + return this; + } + + /** A CSS hex color value representing the secondary branding color for the merchant. */ + public Builder setSecondaryColor(String secondaryColor) { + this.secondaryColor = secondaryColor; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Allow the merchant to process ACH debit payments. */ + @SerializedName("ach_debit_payments") + AchDebitPayments achDebitPayments; + + /** Allow the merchant to process ACSS debit payments. */ + @SerializedName("acss_debit_payments") + AcssDebitPayments acssDebitPayments; + + /** Allow the merchant to process Affirm payments. */ + @SerializedName("affirm_payments") + AffirmPayments affirmPayments; + + /** Allow the merchant to process Afterpay/Clearpay payments. */ + @SerializedName("afterpay_clearpay_payments") + AfterpayClearpayPayments afterpayClearpayPayments; + + /** Allow the merchant to process Alma payments. */ + @SerializedName("alma_payments") + AlmaPayments almaPayments; + + /** Allow the merchant to process Amazon Pay payments. */ + @SerializedName("amazon_pay_payments") + AmazonPayPayments amazonPayPayments; + + /** Allow the merchant to process Australian BECS Direct Debit payments. */ + @SerializedName("au_becs_debit_payments") + AuBecsDebitPayments auBecsDebitPayments; + + /** Allow the merchant to process BACS Direct Debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; + + /** Allow the merchant to process Bancontact payments. */ + @SerializedName("bancontact_payments") + BancontactPayments bancontactPayments; + + /** Allow the merchant to process BLIK payments. */ + @SerializedName("blik_payments") + BlikPayments blikPayments; + + /** Allow the merchant to process Boleto payments. */ + @SerializedName("boleto_payments") + BoletoPayments boletoPayments; + + /** Allow the merchant to collect card payments. */ + @SerializedName("card_payments") + CardPayments cardPayments; + + /** Allow the merchant to process Cartes Bancaires payments. */ + @SerializedName("cartes_bancaires_payments") + CartesBancairesPayments cartesBancairesPayments; + + /** Allow the merchant to process Cash App payments. */ + @SerializedName("cashapp_payments") + CashappPayments cashappPayments; + + /** Allow the merchant to process EPS payments. */ + @SerializedName("eps_payments") + EpsPayments epsPayments; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Allow the merchant to process FPX payments. */ + @SerializedName("fpx_payments") + FpxPayments fpxPayments; + + /** Allow the merchant to process UK bank transfer payments. */ + @SerializedName("gb_bank_transfer_payments") + GbBankTransferPayments gbBankTransferPayments; + + /** Allow the merchant to process GrabPay payments. */ + @SerializedName("grabpay_payments") + GrabpayPayments grabpayPayments; + + /** Allow the merchant to process iDEAL payments. */ + @SerializedName("ideal_payments") + IdealPayments idealPayments; + + /** Allow the merchant to process JCB card payments. */ + @SerializedName("jcb_payments") + JcbPayments jcbPayments; + + /** Allow the merchant to process Japanese bank transfer payments. */ + @SerializedName("jp_bank_transfer_payments") + JpBankTransferPayments jpBankTransferPayments; + + /** Allow the merchant to process Kakao Pay payments. */ + @SerializedName("kakao_pay_payments") + KakaoPayPayments kakaoPayPayments; + + /** Allow the merchant to process Klarna payments. */ + @SerializedName("klarna_payments") + KlarnaPayments klarnaPayments; + + /** Allow the merchant to process Konbini convenience store payments. */ + @SerializedName("konbini_payments") + KonbiniPayments konbiniPayments; + + /** Allow the merchant to process Korean card payments. */ + @SerializedName("kr_card_payments") + KrCardPayments krCardPayments; + + /** Allow the merchant to process Link payments. */ + @SerializedName("link_payments") + LinkPayments linkPayments; + + /** Allow the merchant to process MobilePay payments. */ + @SerializedName("mobilepay_payments") + MobilepayPayments mobilepayPayments; + + /** Allow the merchant to process Multibanco payments. */ + @SerializedName("multibanco_payments") + MultibancoPayments multibancoPayments; + + /** Allow the merchant to process Mexican bank transfer payments. */ + @SerializedName("mx_bank_transfer_payments") + MxBankTransferPayments mxBankTransferPayments; + + /** Allow the merchant to process Naver Pay payments. */ + @SerializedName("naver_pay_payments") + NaverPayPayments naverPayPayments; + + /** Allow the merchant to process OXXO payments. */ + @SerializedName("oxxo_payments") + OxxoPayments oxxoPayments; + + /** Allow the merchant to process Przelewy24 (P24) payments. */ + @SerializedName("p24_payments") + P24Payments p24Payments; + + /** Allow the merchant to process Pay by Bank payments. */ + @SerializedName("pay_by_bank_payments") + PayByBankPayments payByBankPayments; + + /** Allow the merchant to process PAYCO payments. */ + @SerializedName("payco_payments") + PaycoPayments paycoPayments; + + /** Allow the merchant to process PayNow payments. */ + @SerializedName("paynow_payments") + PaynowPayments paynowPayments; + + /** Allow the merchant to process PromptPay payments. */ + @SerializedName("promptpay_payments") + PromptpayPayments promptpayPayments; + + /** Allow the merchant to process Revolut Pay payments. */ + @SerializedName("revolut_pay_payments") + RevolutPayPayments revolutPayPayments; + + /** Allow the merchant to process Samsung Pay payments. */ + @SerializedName("samsung_pay_payments") + SamsungPayPayments samsungPayPayments; + + /** Allow the merchant to process SEPA bank transfer payments. */ + @SerializedName("sepa_bank_transfer_payments") + SepaBankTransferPayments sepaBankTransferPayments; + + /** Allow the merchant to process SEPA Direct Debit payments. */ + @SerializedName("sepa_debit_payments") + SepaDebitPayments sepaDebitPayments; + + /** Allow the merchant to process Swish payments. */ + @SerializedName("swish_payments") + SwishPayments swishPayments; + + /** Allow the merchant to process TWINT payments. */ + @SerializedName("twint_payments") + TwintPayments twintPayments; + + /** Allow the merchant to process US bank transfer payments. */ + @SerializedName("us_bank_transfer_payments") + UsBankTransferPayments usBankTransferPayments; + + /** Allow the merchant to process Zip payments. */ + @SerializedName("zip_payments") + ZipPayments zipPayments; + + private Capabilities( + AchDebitPayments achDebitPayments, + AcssDebitPayments acssDebitPayments, + AffirmPayments affirmPayments, + AfterpayClearpayPayments afterpayClearpayPayments, + AlmaPayments almaPayments, + AmazonPayPayments amazonPayPayments, + AuBecsDebitPayments auBecsDebitPayments, + BacsDebitPayments bacsDebitPayments, + BancontactPayments bancontactPayments, + BlikPayments blikPayments, + BoletoPayments boletoPayments, + CardPayments cardPayments, + CartesBancairesPayments cartesBancairesPayments, + CashappPayments cashappPayments, + EpsPayments epsPayments, + Map extraParams, + FpxPayments fpxPayments, + GbBankTransferPayments gbBankTransferPayments, + GrabpayPayments grabpayPayments, + IdealPayments idealPayments, + JcbPayments jcbPayments, + JpBankTransferPayments jpBankTransferPayments, + KakaoPayPayments kakaoPayPayments, + KlarnaPayments klarnaPayments, + KonbiniPayments konbiniPayments, + KrCardPayments krCardPayments, + LinkPayments linkPayments, + MobilepayPayments mobilepayPayments, + MultibancoPayments multibancoPayments, + MxBankTransferPayments mxBankTransferPayments, + NaverPayPayments naverPayPayments, + OxxoPayments oxxoPayments, + P24Payments p24Payments, + PayByBankPayments payByBankPayments, + PaycoPayments paycoPayments, + PaynowPayments paynowPayments, + PromptpayPayments promptpayPayments, + RevolutPayPayments revolutPayPayments, + SamsungPayPayments samsungPayPayments, + SepaBankTransferPayments sepaBankTransferPayments, + SepaDebitPayments sepaDebitPayments, + SwishPayments swishPayments, + TwintPayments twintPayments, + UsBankTransferPayments usBankTransferPayments, + ZipPayments zipPayments) { + this.achDebitPayments = achDebitPayments; + this.acssDebitPayments = acssDebitPayments; + this.affirmPayments = affirmPayments; + this.afterpayClearpayPayments = afterpayClearpayPayments; + this.almaPayments = almaPayments; + this.amazonPayPayments = amazonPayPayments; + this.auBecsDebitPayments = auBecsDebitPayments; + this.bacsDebitPayments = bacsDebitPayments; + this.bancontactPayments = bancontactPayments; + this.blikPayments = blikPayments; + this.boletoPayments = boletoPayments; + this.cardPayments = cardPayments; + this.cartesBancairesPayments = cartesBancairesPayments; + this.cashappPayments = cashappPayments; + this.epsPayments = epsPayments; + this.extraParams = extraParams; + this.fpxPayments = fpxPayments; + this.gbBankTransferPayments = gbBankTransferPayments; + this.grabpayPayments = grabpayPayments; + this.idealPayments = idealPayments; + this.jcbPayments = jcbPayments; + this.jpBankTransferPayments = jpBankTransferPayments; + this.kakaoPayPayments = kakaoPayPayments; + this.klarnaPayments = klarnaPayments; + this.konbiniPayments = konbiniPayments; + this.krCardPayments = krCardPayments; + this.linkPayments = linkPayments; + this.mobilepayPayments = mobilepayPayments; + this.multibancoPayments = multibancoPayments; + this.mxBankTransferPayments = mxBankTransferPayments; + this.naverPayPayments = naverPayPayments; + this.oxxoPayments = oxxoPayments; + this.p24Payments = p24Payments; + this.payByBankPayments = payByBankPayments; + this.paycoPayments = paycoPayments; + this.paynowPayments = paynowPayments; + this.promptpayPayments = promptpayPayments; + this.revolutPayPayments = revolutPayPayments; + this.samsungPayPayments = samsungPayPayments; + this.sepaBankTransferPayments = sepaBankTransferPayments; + this.sepaDebitPayments = sepaDebitPayments; + this.swishPayments = swishPayments; + this.twintPayments = twintPayments; + this.usBankTransferPayments = usBankTransferPayments; + this.zipPayments = zipPayments; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AchDebitPayments achDebitPayments; + + private AcssDebitPayments acssDebitPayments; + + private AffirmPayments affirmPayments; + + private AfterpayClearpayPayments afterpayClearpayPayments; + + private AlmaPayments almaPayments; + + private AmazonPayPayments amazonPayPayments; + + private AuBecsDebitPayments auBecsDebitPayments; + + private BacsDebitPayments bacsDebitPayments; + + private BancontactPayments bancontactPayments; + + private BlikPayments blikPayments; + + private BoletoPayments boletoPayments; + + private CardPayments cardPayments; + + private CartesBancairesPayments cartesBancairesPayments; + + private CashappPayments cashappPayments; + + private EpsPayments epsPayments; + + private Map extraParams; + + private FpxPayments fpxPayments; + + private GbBankTransferPayments gbBankTransferPayments; + + private GrabpayPayments grabpayPayments; + + private IdealPayments idealPayments; + + private JcbPayments jcbPayments; + + private JpBankTransferPayments jpBankTransferPayments; + + private KakaoPayPayments kakaoPayPayments; + + private KlarnaPayments klarnaPayments; + + private KonbiniPayments konbiniPayments; + + private KrCardPayments krCardPayments; + + private LinkPayments linkPayments; + + private MobilepayPayments mobilepayPayments; + + private MultibancoPayments multibancoPayments; + + private MxBankTransferPayments mxBankTransferPayments; + + private NaverPayPayments naverPayPayments; + + private OxxoPayments oxxoPayments; + + private P24Payments p24Payments; + + private PayByBankPayments payByBankPayments; + + private PaycoPayments paycoPayments; + + private PaynowPayments paynowPayments; + + private PromptpayPayments promptpayPayments; + + private RevolutPayPayments revolutPayPayments; + + private SamsungPayPayments samsungPayPayments; + + private SepaBankTransferPayments sepaBankTransferPayments; + + private SepaDebitPayments sepaDebitPayments; + + private SwishPayments swishPayments; private TwintPayments twintPayments; @@ -6090,7 +7156,170 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TwintPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private TwintPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class UsBankTransferPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private UsBankTransferPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities + .UsBankTransferPayments(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6105,7 +7334,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.Merchant.Capabilities.UsBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6129,7 +7358,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class TwintPayments { + 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. @@ -6147,7 +7376,7 @@ public static class TwintPayments { @SerializedName("requested") Boolean requested; - private TwintPayments(Map extraParams, Boolean requested) { + private ZipPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6162,8 +7391,8 @@ public static class Builder { 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( + public AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments( this.extraParams, this.requested); } @@ -6171,8 +7400,8 @@ public AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#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) { @@ -6186,8 +7415,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6207,10 +7436,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 UsBankTransferPayments { + 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. @@ -6221,16 +7545,11 @@ public static class UsBankTransferPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private UsBankTransferPayments(Map extraParams, Boolean requested) { + private DeclineOn( + Boolean avsFailure, Boolean cvcFailure, Map extraParams) { + this.avsFailure = avsFailure; + this.cvcFailure = cvcFailure; this.extraParams = extraParams; - this.requested = requested; } public static Builder builder() { @@ -6238,23 +7557,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.UsBankTransferPayments - build() { - return new AccountCreateParams.Configuration.Merchant.Capabilities - .UsBankTransferPayments(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.UsBankTransferPayments#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) { @@ -6268,8 +7607,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.UsBankTransferPayments#extraParams} - * for the field documentation. + * AccountCreateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6278,109 +7617,139 @@ 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 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 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; - /** - * 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 ZipPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Default text that appears on statements for card charges outside of Japan, prefixing any + * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the + * dynamic part of the descriptor, keep this text short. If you don’t specify this value, + * statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + @SerializedName("prefix") + String prefix; - public static Builder builder() { - return new Builder(); - } + private StatementDescriptor( + String descriptor, Map extraParams, String prefix) { + this.descriptor = descriptor; + this.extraParams = extraParams; + this.prefix = prefix; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String descriptor; - public static class Builder { - private Map extraParams; + private Map extraParams; - private Boolean requested; + private String prefix; - /** 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.Merchant.StatementDescriptor build() { + return new AccountCreateParams.Configuration.Merchant.StatementDescriptor( + this.descriptor, this.extraParams, this.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.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; - } + /** + * The default text that appears on statements for non-card charges outside of Japan. For + * card charges, if you don’t set a statement_descriptor_prefix, this text is also used as + * the statement descriptor prefix. In that case, if concatenating the statement + * descriptor suffix causes the combined statement descriptor to exceed 22 characters, we + * truncate the statement_descriptor text to limit the full descriptor to 22 characters. + * For more information about statement descriptors and their requirements, see the + * Merchant Configuration settings documentation. + */ + public Builder setDescriptor(String descriptor) { + this.descriptor = descriptor; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized 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 putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.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. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Default text that appears on statements for card charges outside of Japan, prefixing + * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for + * the dynamic part of the descriptor, keep this text short. If you don’t specify this + * value, statement_descriptor is used as the prefix. For more information about statement + * descriptors and their requirements, see the Merchant Configuration settings + * documentation. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CardPayments { - /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. - */ - @SerializedName("decline_on") - DeclineOn declineOn; + public static class Support { + /** A publicly available mailing address for sending support issues to. */ + @SerializedName("address") + Address address; + + /** A publicly available email address for sending support issues to. */ + @SerializedName("email") + String email; /** * Map of extra parameters for custom features not available in this client library. The @@ -6392,9 +7761,25 @@ public static class CardPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private CardPayments(DeclineOn declineOn, Map extraParams) { - this.declineOn = declineOn; + /** A publicly available phone number to call with support issues. */ + @SerializedName("phone") + String phone; + + /** A publicly available website for handling support issues. */ + @SerializedName("url") + String url; + + private Support( + Address address, + String email, + Map extraParams, + String phone, + String url) { + this.address = address; + this.email = email; this.extraParams = extraParams; + this.phone = phone; + this.url = url; } public static Builder builder() { @@ -6402,31 +7787,40 @@ public static Builder builder() { } public static class Builder { - private DeclineOn declineOn; + private Address address; + + private String email; private Map extraParams; + private String phone; + + private String url; + /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.CardPayments build() { - return new AccountCreateParams.Configuration.Merchant.CardPayments( - this.declineOn, this.extraParams); + public AccountCreateParams.Configuration.Merchant.Support build() { + return new AccountCreateParams.Configuration.Merchant.Support( + this.address, this.email, this.extraParams, this.phone, this.url); } - /** - * 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; + /** A publicly available mailing address for sending support issues to. */ + public Builder setAddress( + AccountCreateParams.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; } /** * Add a key/value pair to `extraParams` map. A map is 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. + * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6439,8 +7833,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#extraParams} - * for the field documentation. + * map. See {@link AccountCreateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6449,25 +7843,33 @@ public Builder putAllExtraParam(Map map) { 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 website for handling support issues. */ + public Builder setUrl(String url) { + this.url = url; + 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 Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; /** - * Whether Stripe automatically declines charges with an incorrect CVC. This setting only - * applies when a CVC is provided and it fails bank verification. + * Required. Two-letter country code (ISO 3166-1 alpha-2). */ - @SerializedName("cvc_failure") - Boolean cvcFailure; + @SerializedName("country") + String country; /** * Map of extra parameters for custom features not available in this client library. The @@ -6479,46 +7881,91 @@ public static class DeclineOn { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private DeclineOn( - Boolean avsFailure, Boolean cvcFailure, Map extraParams) { - this.avsFailure = avsFailure; - this.cvcFailure = cvcFailure; + /** 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, + 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 Boolean avsFailure; + public static class Builder { + private String city; + + private String country; + + private Map extraParams; + + private String line1; + + private String line2; + + private String postalCode; - private Boolean cvcFailure; + private String state; - private Map extraParams; + private String town; /** 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); + 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); } - /** - * 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; + /** City, district, suburb, town, or village. */ + public Builder setCity(String city) { + this.city = city; 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. + * Required. Two-letter country code (ISO 3166-1 alpha-2). */ - public Builder setCvcFailure(Boolean cvcFailure) { - this.cvcFailure = cvcFailure; + public Builder setCountry(String country) { + this.country = country; return this; } @@ -6526,8 +7973,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.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6541,8 +7988,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.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6551,24 +7998,127 @@ public Builder putAllExtraParam(Map map) { 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; + } } } } + } + + @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; + } - @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. + * Add a key/value pair to `extraParams` map. A map 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. */ - @SerializedName("descriptor") - String descriptor; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + @SerializedName("cards") + Cards cards; + + /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; /** * Map of extra parameters for custom features not available in this client library. The @@ -6580,22 +8130,21 @@ public static class StatementDescriptor { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Default text that appears on statements for card charges outside of Japan, prefixing any - * dynamic statement_descriptor_suffix specified on the charge. To maximize space for the - * dynamic part of the descriptor, keep this text short. If you don’t specify this value, - * statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - @SerializedName("prefix") - String prefix; + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_balance") + StripeBalance stripeBalance; - private StatementDescriptor( - String descriptor, Map extraParams, String prefix) { - this.descriptor = descriptor; + private Capabilities( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; this.extraParams = extraParams; - this.prefix = prefix; + this.stripeBalance = stripeBalance; } public static Builder builder() { @@ -6603,38 +8152,55 @@ public static Builder builder() { } public static class Builder { - private String descriptor; + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; private Map extraParams; - private String prefix; + private StripeBalance stripeBalance; /** 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); + public AccountCreateParams.Configuration.Recipient.Capabilities build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.stripeBalance); + } + + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + public Builder setCards( + AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { + this.cards = cards; + return this; } /** - * 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. + * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ - public Builder setDescriptor(String descriptor) { - this.descriptor = descriptor; + public Builder setCryptoWallets( + AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Configuration.Merchant.StatementDescriptor#extraParams} for the - * field documentation. + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6647,9 +8213,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.StatementDescriptor#extraParams} for the - * field documentation. + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6660,151 +8225,362 @@ public Builder putAllExtraParam(Map map) { } /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; + public Builder setStripeBalance( + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + stripeBalance) { + this.stripeBalance = stripeBalance; return this; } } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Support { - /** A publicly available mailing address for sending support issues to. */ - @SerializedName("address") - Address address; + @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; - /** A publicly available email address for sending support issues to. */ - @SerializedName("email") - String email; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + @SerializedName("local") + Local 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; + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; - /** A publicly available phone number to call with support issues. */ - @SerializedName("phone") - String phone; + private BankAccounts(Map extraParams, Local local, Wire wire) { + this.extraParams = extraParams; + this.local = local; + this.wire = wire; + } - /** A publicly available website for handling support issues. */ - @SerializedName("url") - String url; + public static Builder builder() { + return new Builder(); + } - private Support( - Address address, - String email, - Map extraParams, - String phone, - String url) { - this.address = address; - this.email = email; - this.extraParams = extraParams; - this.phone = phone; - this.url = url; - } + public static class Builder { + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Local local; - public static class Builder { - private Address address; + private Wire wire; - private String email; + /** 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); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + public Builder setLocal( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { + this.local = local; + return this; + } + + /** + * 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 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; + + 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 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.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; + } + } + } + + @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; + + /** + * 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 Wire(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Map extraParams; - private String phone; + private Boolean requested; - private String url; + /** 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); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Support build() { - return new AccountCreateParams.Configuration.Merchant.Support( - this.address, this.email, this.extraParams, this.phone, this.url); - } + /** + * Add a key/value pair to `extraParams` map. A map 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; + } - /** A publicly available mailing address for sending support issues to. */ - public Builder setAddress( - AccountCreateParams.Configuration.Merchant.Support.Address address) { - this.address = address; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map 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; + } - /** A publicly available email address for sending support issues to. */ - public Builder setEmail(String email) { - this.email = email; - 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 { /** - * Add a key/value pair to `extraParams` map. A map is 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. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized 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 AccountCreateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + @SerializedName("requested") + Boolean requested; + + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; + public static Builder builder() { + return new Builder(); } - /** A publicly available website for handling support issues. */ - public Builder setUrl(String url) { - this.url = url; - return this; + 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); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - @SerializedName("country") - String country; - + public static class CryptoWallets { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6815,43 +8591,96 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - String line1; + /** + * 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 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - String line2; + private CryptoWallets(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** ZIP or postal code. */ - @SerializedName("postal_code") - String postalCode; + public static Builder builder() { + return new Builder(); + } - /** State, county, province, or region. */ - @SerializedName("state") - String state; + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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 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; - /** Town or cho-me. */ - @SerializedName("town") - String town; + /** + * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). + */ + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; - private Address( - String city, - String country, - Map extraParams, - String line1, - String line2, - String postalCode, - String state, - String town) { - this.city = city; - this.country = country; + private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - this.town = town; + this.stripeTransfers = stripeTransfers; } public static Builder builder() { @@ -6859,56 +8688,22 @@ public static Builder 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; + private StripeTransfers stripeTransfers; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Merchant.Support.Address build() { - return new AccountCreateParams.Configuration.Merchant.Support.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } - - /** - * Required. Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(String country) { - this.country = country; - return this; + 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.Support.Address#extraParams} for the field - * documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6922,8 +8717,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.Support.Address#extraParams} for the field - * documentation. + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6933,34 +8728,98 @@ 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; + /** + * 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; } + } - /** 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 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; - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private StripeTransfers(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** State, county, province, or region. */ - public Builder setState(String 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 Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @@ -6969,8 +8828,8 @@ public Builder setTown(String town) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Recipient { - /** Capabilities to be requested on the Recipient Configuration. */ + public static class Storer { + /** Capabilities to request on the Storer Configuration. */ @SerializedName("capabilities") Capabilities capabilities; @@ -6983,7 +8842,7 @@ public static class Recipient { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Recipient(Capabilities capabilities, Map extraParams) { + private Storer(Capabilities capabilities, Map extraParams) { this.capabilities = capabilities; this.extraParams = extraParams; } @@ -6998,14 +8857,13 @@ public static class Builder { 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); + public AccountCreateParams.Configuration.Storer build() { + return new AccountCreateParams.Configuration.Storer(this.capabilities, this.extraParams); } - /** Capabilities to be requested on the Recipient Configuration. */ + /** Capabilities to request on the Storer Configuration. */ public Builder setCapabilities( - AccountCreateParams.Configuration.Recipient.Capabilities capabilities) { + AccountCreateParams.Configuration.Storer.Capabilities capabilities) { this.capabilities = capabilities; return this; } @@ -7013,7 +8871,7 @@ public Builder setCapabilities( /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7027,7 +8885,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#extraParams} for the field + * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -7042,18 +8900,6 @@ public Builder putAllExtraParam(Map map) { @Getter @EqualsAndHashCode(callSuper = false) public static class Capabilities { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Capabilities that enable OutboundPayments to a card linked to this Account. */ - @SerializedName("cards") - Cards cards; - - /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7064,21 +8910,39 @@ 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; + /** 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( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, Map extraParams, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; + FinancialAddresses financialAddresses, + HoldsCurrencies holdsCurrencies, + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers) { this.extraParams = extraParams; - this.stripeBalance = stripeBalance; + this.financialAddresses = financialAddresses; + this.holdsCurrencies = holdsCurrencies; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; } public static Builder builder() { @@ -7086,55 +8950,34 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; + private Map extraParams; - private Cards cards; + private FinancialAddresses financialAddresses; - private CryptoWallets cryptoWallets; + private HoldsCurrencies holdsCurrencies; - private Map extraParams; + private InboundTransfers inboundTransfers; - private StripeBalance stripeBalance; + private OutboundPayments outboundPayments; + + private OutboundTransfers outboundTransfers; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities( - this.bankAccounts, - this.cards, - this.cryptoWallets, + public AccountCreateParams.Configuration.Storer.Capabilities build() { + return new AccountCreateParams.Configuration.Storer.Capabilities( this.extraParams, - this.stripeBalance); - } - - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Capabilities that enable OutboundPayments to a card linked to this Account. */ - public Builder setCards( - AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; - return this; - } - - /** - * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. - */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; + 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.Recipient.Capabilities#extraParams} - * for the field documentation. + * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7147,8 +8990,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#extraParams} - * for the field documentation. + * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7158,20 +9001,57 @@ 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; + /** 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 BankAccounts { + 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. @@ -7182,21 +9062,9 @@ public static class BankAccounts { @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) { + private FinancialAddresses(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; this.extraParams = extraParams; - this.local = local; - this.wire = wire; } public static Builder builder() { @@ -7204,23 +9072,34 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; - - private Local local; + private BankAccounts bankAccounts; - private Wire wire; + private Map extraParams; /** 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.Configuration.Storer.Capabilities.FinancialAddresses + build() { + 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.Recipient.Capabilities.BankAccounts#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7235,7 +9114,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.BankAccounts#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7245,30 +9124,11 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - public Builder setLocal( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { - this.local = local; - return this; - } - - /** - * 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 Local { + 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} @@ -7286,7 +9146,7 @@ public static class Local { @SerializedName("requested") Boolean requested; - private Local(Map extraParams, Boolean requested) { + private BankAccounts(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7301,17 +9161,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local + public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local(this.extraParams, this.requested); + 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.Recipient.Capabilities.BankAccounts.Local#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7326,7 +9187,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.BankAccounts.Local#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7347,10 +9208,86 @@ public Builder setRequested(Boolean requested) { } } } + } + + @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 Wire { + 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} @@ -7368,7 +9305,7 @@ public static class Wire { @SerializedName("requested") Boolean requested; - private Wire(Map extraParams, Boolean requested) { + private Gbp(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7383,17 +9320,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.requested); + 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.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7408,7 +9345,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.BankAccounts.Wire#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7433,7 +9370,13 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Cards { + 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. @@ -7444,16 +9387,9 @@ public static class Cards { @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) { + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; this.extraParams = extraParams; - this.requested = requested; } public static Builder builder() { @@ -7461,22 +9397,32 @@ 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.Recipient.Capabilities.Cards build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards( - 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.Recipient.Capabilities.Cards#extraParams} for the - * field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7490,8 +9436,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.Cards#extraParams} for the - * field documentation. + * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7500,102 +9446,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 CryptoWallets { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - public static Builder builder() { - return new Builder(); - } + public static 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.Recipient.Capabilities.CryptoWallets build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets( - 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.Recipient.Capabilities.CryptoWallets#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.Recipient.Capabilities.CryptoWallets#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 StripeBalance { + 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. @@ -7607,14 +9554,21 @@ public static class StripeBalance { Map extraParams; /** - * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { + private OutboundPayments( + BankAccounts bankAccounts, + Cards cards, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cards = cards; this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; + this.financialAccounts = financialAccounts; } public static Builder builder() { @@ -7622,21 +9576,41 @@ public static Builder builder() { } public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + private Map extraParams; - private StripeTransfers stripeTransfers; + 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; + } - /** 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); + /** 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.Recipient.Capabilities.StripeBalance#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7651,7 +9625,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.StripeBalance#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7663,20 +9637,21 @@ public Builder putAllExtraParam(Map map) { } /** - * Allows the account to receive /v1/transfers into their Stripe Balance (/v1/balance). + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. */ - public Builder setStripeTransfers( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - stripeTransfers) { - this.stripeTransfers = stripeTransfers; + public Builder setFinancialAccounts( + AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers { + 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} @@ -7694,7 +9669,7 @@ public static class StripeTransfers { @SerializedName("requested") Boolean requested; - private StripeTransfers(Map extraParams, Boolean requested) { + private BankAccounts(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7709,18 +9684,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments + .BankAccounts build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.requested); + 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.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7735,7 +9710,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.StripeBalance.StripeTransfers#extraParams} + * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7756,233 +9731,177 @@ public Builder setRequested(Boolean requested) { } } } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** Capabilities to request on the Storer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; + @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; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 Storer(Capabilities capabilities, Map extraParams) { - this.capabilities = capabilities; - this.extraParams = extraParams; - } + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Capabilities capabilities; + public static class Builder { + private Map extraParams; - private Map extraParams; + private Boolean requested; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer build() { - return new AccountCreateParams.Configuration.Storer(this.capabilities, this.extraParams); - } + /** 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); + } - /** 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.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 a key/value pair to `extraParams` map. A map 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.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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<>(); + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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; + @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; - /** 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); - } + /** + * 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.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + 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.Storer.Capabilities#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; - } - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; - return this; - } + public static class Builder { + private Map extraParams; - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } + private Boolean requested; - /** 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; - } + /** 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); + } - /** 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; - } + /** + * Add a key/value pair to `extraParams` map. A map 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; + } - /** 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; + /** + * Add all map key/value pairs to `extraParams` map. A map 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 FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ @SerializedName("bank_accounts") BankAccounts bankAccounts; @@ -7996,9 +9915,19 @@ public static class FinancialAddresses { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private FinancialAddresses(BankAccounts bankAccounts, 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() { @@ -8010,59 +9939,150 @@ public static class Builder { private Map extraParams; + private FinancialAccounts financialAccounts; + /** 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); + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { + return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers( + this.bankAccounts, this.extraParams, this.financialAccounts); } - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts + 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.FinancialAddresses#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.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; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map 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<>(); + /** + * 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 BankAccounts { + 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} @@ -8080,7 +10100,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts(Map extraParams, Boolean requested) { + private FinancialAccounts(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -8095,1055 +10115,751 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts + public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts(this.extraParams, this.requested); + 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.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 a key/value pair to `extraParams` map. A map 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") + String currency; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The Account's preferred locales (languages), ordered by preference. */ + @SerializedName("locales") + List locales; + + /** Account profile information. */ + @SerializedName("profile") + Profile profile; + + /** Default responsibilities held by either Stripe or the platform. */ + @SerializedName("responsibilities") + Responsibilities responsibilities; + + private Defaults( + String currency, + Map extraParams, + List locales, + Profile profile, + Responsibilities responsibilities) { + this.currency = currency; + this.extraParams = extraParams; + this.locales = locales; + this.profile = profile; + this.responsibilities = responsibilities; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String currency; + + private Map extraParams; + + private List locales; + + private Profile profile; + + private Responsibilities responsibilities; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Defaults build() { + return new AccountCreateParams.Defaults( + this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); + } + + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountCreateParams.Defaults#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A 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; + } + + /** Account profile information. */ + public Builder setProfile(AccountCreateParams.Defaults.Profile profile) { + this.profile = profile; + 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 Profile { + /** The business's publicly-available website. */ + @SerializedName("business_url") + String businessUrl; + + /** The name which is used by the business. */ + @SerializedName("doing_business_as") + String doingBusinessAs; - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } + /** + * 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 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; + private Profile( + String businessUrl, + String doingBusinessAs, + Map extraParams, + String productDescription) { + this.businessUrl = businessUrl; + this.doingBusinessAs = doingBusinessAs; + this.extraParams = extraParams; + this.productDescription = productDescription; + } - /** Can hold storage-type funds on Stripe in GBP. */ - @SerializedName("gbp") - Gbp gbp; + public static Builder builder() { + return new Builder(); + } - private HoldsCurrencies(Map extraParams, Gbp gbp) { - this.extraParams = extraParams; - this.gbp = gbp; - } + public static class Builder { + private String businessUrl; - public static Builder builder() { - return new Builder(); - } + private String doingBusinessAs; - public static class Builder { - private Map extraParams; + private Map extraParams; - private Gbp gbp; + private String productDescription; - /** 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); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Defaults.Profile build() { + return new AccountCreateParams.Defaults.Profile( + this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); + } - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + /** The business's publicly-available website. */ + public Builder setBusinessUrl(String businessUrl) { + this.businessUrl = businessUrl; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(String doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + 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; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Defaults.Profile#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - @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; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Defaults.Profile#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Gbp(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * 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 Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Responsibilities { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static class Builder { - private Map extraParams; + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + @SerializedName("fees_collector") + FeesCollector feesCollector; - private Boolean requested; + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + @SerializedName("losses_collector") + LossesCollector lossesCollector; - /** 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); - } + private Responsibilities( + Map extraParams, + FeesCollector feesCollector, + LossesCollector lossesCollector) { + this.extraParams = extraParams; + this.feesCollector = feesCollector; + this.lossesCollector = lossesCollector; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.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 Builder builder() { + return new Builder(); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.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; - } + 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. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } + private FeesCollector feesCollector; - @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 LossesCollector lossesCollector; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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.Defaults.Responsibilities build() { + return new AccountCreateParams.Defaults.Responsibilities( + this.extraParams, this.feesCollector, this.lossesCollector); + } - private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link 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 BankAccounts bankAccounts; - - private Map extraParams; + /** + * 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; + } - /** 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); - } + /** + * 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; + } + } - /** - * 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; - } + public enum FeesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + @SerializedName("stripe") + STRIPE("stripe"); - /** - * Add all map key/value pairs to `extraParams` map. A map 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(onMethod_ = {@Override}) + private final String value; - @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; + FeesCollector(String value) { + this.value = value; + } + } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + public enum LossesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("stripe") + STRIPE("stripe"); - public static Builder builder() { - return new Builder(); - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static class Builder { - private Map extraParams; + LossesCollector(String value) { + this.value = value; + } + } + } - private Boolean requested; + public enum Locale implements ApiRequestParams.EnumParam { + @SerializedName("ar-SA") + AR_SA("ar-SA"), - /** 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); - } + @SerializedName("bg") + BG("bg"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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; - } + @SerializedName("bg-BG") + BG_BG("bg-BG"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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; - } + @SerializedName("cs") + CS("cs"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } + @SerializedName("cs-CZ") + CS_CZ("cs-CZ"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundPayments { - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + @SerializedName("da") + DA("da"), - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - @SerializedName("cards") - Cards cards; + @SerializedName("da-DK") + DA_DK("da-DK"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("de") + DE("de"), - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + @SerializedName("de-DE") + DE_DE("de-DE"), - private OutboundPayments( - BankAccounts bankAccounts, - Cards cards, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - } + @SerializedName("el") + EL("el"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("el-GR") + EL_GR("el-GR"), - public static class Builder { - private BankAccounts bankAccounts; + @SerializedName("en") + EN("en"), - private Cards cards; + @SerializedName("en-AU") + EN_AU("en-AU"), - private Map extraParams; + @SerializedName("en-CA") + EN_CA("en-CA"), - private FinancialAccounts financialAccounts; + @SerializedName("en-GB") + EN_GB("en-GB"), - /** 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); - } + @SerializedName("en-IE") + EN_IE("en-IE"), - /** 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; - } + @SerializedName("en-IN") + EN_IN("en-IN"), - /** 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; - } + @SerializedName("en-NZ") + EN_NZ("en-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 - * 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; - } + @SerializedName("en-SG") + EN_SG("en-SG"), - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + @SerializedName("en-US") + EN_US("en-US"), - /** - * 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; - } - } + @SerializedName("es") + ES("es"), - @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("es-419") + ES_419("es-419"), - /** - * 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("es-ES") + ES_ES("es-ES"), - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("et") + ET("et"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("et-EE") + ET_EE("et-EE"), - public static class Builder { - private Map extraParams; + @SerializedName("fi") + FI("fi"), - private Boolean requested; + @SerializedName("fil") + FIL("fil"), - /** 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); - } + @SerializedName("fil-PH") + FIL_PH("fil-PH"), - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + @SerializedName("fi-FI") + FI_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 - * 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; - } + @SerializedName("fr") + FR("fr"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("fr-CA") + FR_CA("fr-CA"), - @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("fr-FR") + FR_FR("fr-FR"), + + @SerializedName("he-IL") + HE_IL("he-IL"), - /** - * 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("hr") + HR("hr"), - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("hr-HR") + HR_HR("hr-HR"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("hu") + HU("hu"), - public static class Builder { - private Map extraParams; + @SerializedName("hu-HU") + HU_HU("hu-HU"), - private Boolean requested; + @SerializedName("id") + ID("id"), - /** 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); - } + @SerializedName("id-ID") + ID_ID("id-ID"), - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + @SerializedName("it") + IT("it"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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; - } + @SerializedName("it-IT") + IT_IT("it-IT"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("ja") + JA("ja"), - @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("ja-JP") + JA_JP("ja-JP"), - /** - * 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("ko") + KO("ko"), - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("ko-KR") + KO_KR("ko-KR"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("lt") + LT("lt"), - public static class Builder { - private Map extraParams; + @SerializedName("lt-LT") + LT_LT("lt-LT"), - private Boolean requested; + @SerializedName("lv") + LV("lv"), - /** 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); - } + @SerializedName("lv-LV") + LV_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 - * 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; - } + @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 - * 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; - } + @SerializedName("ms-MY") + MS_MY("ms-MY"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } + @SerializedName("mt") + MT("mt"), - @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("mt-MT") + MT_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("nb") + NB("nb"), - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + @SerializedName("nb-NO") + NB_NO("nb-NO"), - private OutboundTransfers( - BankAccounts bankAccounts, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - } + @SerializedName("nl") + NL("nl"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("nl-NL") + NL_NL("nl-NL"), - public static class Builder { - private BankAccounts bankAccounts; + @SerializedName("pl") + PL("pl"), - private Map extraParams; + @SerializedName("pl-PL") + PL_PL("pl-PL"), - private FinancialAccounts financialAccounts; + @SerializedName("pt") + PT("pt"), - /** 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); - } + @SerializedName("pt-BR") + PT_BR("pt-BR"), - /** 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; - } + @SerializedName("pt-PT") + PT_PT("pt-PT"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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; - } + @SerializedName("ro") + RO("ro"), - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + @SerializedName("ro-RO") + RO_RO("ro-RO"), - /** - * 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; - } - } + @SerializedName("ru") + RU("ru"), - @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("ru-RU") + RU_RU("ru-RU"), - /** - * 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("sk") + SK("sk"), - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("sk-SK") + SK_SK("sk-SK"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("sl") + SL("sl"), - public static class Builder { - private Map extraParams; + @SerializedName("sl-SI") + SL_SI("sl-SI"), - private Boolean requested; + @SerializedName("sv") + SV("sv"), - /** 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); - } + @SerializedName("sv-SE") + SV_SE("sv-SE"), - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + @SerializedName("th") + TH("th"), - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + @SerializedName("th-TH") + TH_TH("th-TH"), - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("tr") + TR("tr"), - @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("tr-TR") + TR_TR("tr-TR"), - /** - * 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("vi") + VI("vi"), - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("vi-VN") + VI_VN("vi-VN"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("zh") + ZH("zh"), - public static class Builder { - private Map extraParams; + @SerializedName("zh-Hans") + ZH_HANS("zh-Hans"), - private Boolean requested; + @SerializedName("zh-Hant-HK") + ZH_HANT_HK("zh-Hant-HK"), - /** 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); - } + @SerializedName("zh-Hant-TW") + ZH_HANT_TW("zh-Hant-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.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("zh-HK") + ZH_HK("zh-HK"), - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + @SerializedName("zh-TW") + ZH_TW("zh-TW"); - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } + @Getter(onMethod_ = {@Override}) + private final String value; + + Locale(String value) { + this.value = value; } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Defaults { + 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; + /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. + * 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("currency") - String currency; + @SerializedName("country") + String 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; - - /** The Account's preferred locales (languages), ordered by preference. */ - @SerializedName("locales") - List locales; - - /** Account profile information. */ - @SerializedName("profile") - Profile profile; + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Default responsibilities held by either Stripe or the platform. */ - @SerializedName("responsibilities") - Responsibilities responsibilities; + /** Information about the person represented by the account. */ + @SerializedName("individual") + Individual individual; - private Defaults( - String currency, + private Identity( + Attestations attestations, + BusinessDetails businessDetails, + String country, + EntityType entityType, Map extraParams, - List locales, - Profile profile, - Responsibilities responsibilities) { - this.currency = currency; + Individual individual) { + this.attestations = attestations; + this.businessDetails = businessDetails; + this.country = country; + this.entityType = entityType; this.extraParams = extraParams; - this.locales = locales; - this.profile = profile; - this.responsibilities = responsibilities; + this.individual = individual; } public static Builder builder() { @@ -9151,36 +10867,63 @@ public static Builder builder() { } public static class Builder { - private String currency; + private Attestations attestations; - private Map extraParams; + private BusinessDetails businessDetails; - private List locales; + private String country; - private Profile profile; + private EntityType entityType; - private Responsibilities responsibilities; + private Map extraParams; + + private Individual individual; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults build() { - return new AccountCreateParams.Defaults( - this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); + 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; } /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. + * 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 setCurrency(String currency) { - this.currency = currency; + public Builder setCountry(String 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.Defaults#extraParams} for the field documentation. + * AccountCreateParams.Identity#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -9193,7 +10936,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.Defaults#extraParams} for the field documentation. + * See {@link AccountCreateParams.Identity#extraParams} for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -9203,157 +10946,23 @@ public Builder putAllExtraParam(Map 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; - } - - /** Account profile information. */ - public Builder setProfile(AccountCreateParams.Defaults.Profile profile) { - this.profile = profile; - return this; - } - - /** Default responsibilities held by either Stripe or the platform. */ - public Builder setResponsibilities( - AccountCreateParams.Defaults.Responsibilities responsibilities) { - this.responsibilities = responsibilities; + /** 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 Profile { - /** The business's publicly-available website. */ - @SerializedName("business_url") - String businessUrl; - - /** The name which is used by the business. */ - @SerializedName("doing_business_as") - String doingBusinessAs; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 Attestations { /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. + * This hash is used to attest that the directors information provided to Stripe is both + * current and correct. */ - @SerializedName("product_description") - String productDescription; - - private Profile( - String businessUrl, - String doingBusinessAs, - Map extraParams, - String productDescription) { - this.businessUrl = businessUrl; - this.doingBusinessAs = doingBusinessAs; - this.extraParams = extraParams; - this.productDescription = productDescription; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private String businessUrl; - - private String doingBusinessAs; - - private Map extraParams; - - private String productDescription; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults.Profile build() { - return new AccountCreateParams.Defaults.Profile( - this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); - } - - /** The business's publicly-available website. */ - public Builder setBusinessUrl(String businessUrl) { - this.businessUrl = businessUrl; - return this; - } - - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(String doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Profile#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Defaults.Profile#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Internal-only description of the product sold or service provided by the business. It's - * used by Stripe for risk and underwriting purposes. - */ - public Builder setProductDescription(String productDescription) { - this.productDescription = productDescription; - return this; - } - } - } + @SerializedName("directorship_declaration") + DirectorshipDeclaration directorshipDeclaration; - @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. @@ -9364,26 +10973,31 @@ public static class Responsibilities { Map extraParams; /** - * Required. A value indicating the party responsible for collecting fees - * from this account. + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. */ - @SerializedName("fees_collector") - FeesCollector feesCollector; + @SerializedName("ownership_declaration") + OwnershipDeclaration ownershipDeclaration; - /** - * 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; + /** 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 Responsibilities( + private Attestations( + DirectorshipDeclaration directorshipDeclaration, Map extraParams, - FeesCollector feesCollector, - LossesCollector lossesCollector) { + OwnershipDeclaration ownershipDeclaration, + PersonsProvided personsProvided, + TermsOfService termsOfService) { + this.directorshipDeclaration = directorshipDeclaration; this.extraParams = extraParams; - this.feesCollector = feesCollector; - this.lossesCollector = lossesCollector; + this.ownershipDeclaration = ownershipDeclaration; + this.personsProvided = personsProvided; + this.termsOfService = termsOfService; } public static Builder builder() { @@ -9391,22 +11005,41 @@ public static Builder builder() { } public static class Builder { + private DirectorshipDeclaration directorshipDeclaration; + private Map extraParams; - private FeesCollector feesCollector; + private OwnershipDeclaration ownershipDeclaration; - private LossesCollector lossesCollector; + private PersonsProvided personsProvided; + + private TermsOfService termsOfService; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Defaults.Responsibilities build() { - return new AccountCreateParams.Defaults.Responsibilities( - this.extraParams, this.feesCollector, this.lossesCollector); + 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.Defaults.Responsibilities#extraParams} for the field + * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9420,7 +11053,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.Defaults.Responsibilities#extraParams} for the field + * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -9432,1191 +11065,3233 @@ public Builder putAllExtraParam(Map map) { } /** - * Required. A value indicating the party responsible for collecting fees - * from this account. + * This hash is used to attest that the beneficial owner information provided to Stripe is + * both current and correct. */ - public Builder setFeesCollector( - AccountCreateParams.Defaults.Responsibilities.FeesCollector feesCollector) { - this.feesCollector = feesCollector; + public Builder setOwnershipDeclaration( + AccountCreateParams.Identity.Attestations.OwnershipDeclaration ownershipDeclaration) { + this.ownershipDeclaration = ownershipDeclaration; 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; + /** 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; } - } - - 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; + /** Attestations of accepted terms of service agreements. */ + public Builder setTermsOfService( + AccountCreateParams.Identity.Attestations.TermsOfService termsOfService) { + this.termsOfService = termsOfService; + return this; } } - } - - 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"), + @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("lv-LV") - LV_LV("lv-LV"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ms") - MS("ms"), + /** The IP address from which the director attestation was made. */ + @SerializedName("ip") + String ip; - @SerializedName("ms-MY") - MS_MY("ms-MY"), + /** The user agent of the browser from which the director attestation was made. */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("mt") - MT("mt"), + private DirectorshipDeclaration( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("mt-MT") - MT_MT("mt-MT"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("nb") - NB("nb"), + public static class Builder { + private Instant date; - @SerializedName("nb-NO") - NB_NO("nb-NO"), + private Map extraParams; - @SerializedName("nl") - NL("nl"), + private String ip; - @SerializedName("nl-NL") - NL_NL("nl-NL"), + private String userAgent; - @SerializedName("pl") - PL("pl"), + /** 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("pl-PL") - PL_PL("pl-PL"), + /** + * 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("pt") - PT("pt"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * 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("pt-BR") - PT_BR("pt-BR"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * 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("pt-PT") - PT_PT("pt-PT"), + /** The IP address from which the director attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("ro") - RO("ro"), + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("ro-RO") - RO_RO("ro-RO"), + @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("ru") - RU("ru"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("ru-RU") - RU_RU("ru-RU"), + /** The IP address from which the beneficial owner attestation was made. */ + @SerializedName("ip") + String ip; - @SerializedName("sk") - SK("sk"), + /** The user agent of the browser from which the beneficial owner attestation was made. */ + @SerializedName("user_agent") + String userAgent; - @SerializedName("sk-SK") - SK_SK("sk-SK"), + private OwnershipDeclaration( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("sl") - SL("sl"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("sl-SI") - SL_SI("sl-SI"), + public static class Builder { + private Instant date; - @SerializedName("sv") - SV("sv"), + private Map extraParams; - @SerializedName("sv-SE") - SV_SE("sv-SE"), + private String ip; - @SerializedName("th") - TH("th"), + private String userAgent; - @SerializedName("th-TH") - TH_TH("th-TH"), + /** 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("tr") - TR("tr"), + /** + * 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("tr-TR") - TR_TR("tr-TR"), + /** + * Add a key/value pair to `extraParams` map. A map 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("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 + * 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("vi-VN") - VI_VN("vi-VN"), + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("zh") - ZH("zh"), + /** 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("zh-Hans") - ZH_HANS("zh-Hans"), + @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("zh-Hant-HK") - ZH_HANT_HK("zh-Hant-HK"), + /** + * 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("zh-Hant-TW") - ZH_HANT_TW("zh-Hant-TW"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("zh-HK") - ZH_HK("zh-HK"), + /** + * 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("zh-TW") - ZH_TW("zh-TW"); + /** Reason for why the company is exempt from providing ownership information. */ + @SerializedName("ownership_exemption_reason") + OwnershipExemptionReason ownershipExemptionReason; - @Getter(onMethod_ = {@Override}) - private final String value; + 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; + } - Locale(String value) { - this.value = value; - } - } - } + public static Builder builder() { + return new Builder(); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Identity { - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - @SerializedName("attestations") - Attestations attestations; + public static class Builder { + private Boolean directors; - /** Information about the company or business. */ - @SerializedName("business_details") - BusinessDetails businessDetails; + private Boolean executives; - /** - * 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; + private Map extraParams; - /** The entity type. */ - @SerializedName("entity_type") - EntityType entityType; + private Boolean owners; - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 OwnershipExemptionReason ownershipExemptionReason; - /** Information about the person represented by the account. */ - @SerializedName("individual") - Individual individual; + /** 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); + } - 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; - } + /** + * 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; + } - public static Builder builder() { - return new Builder(); - } + /** + * 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; + } - public static class Builder { - private Attestations attestations; + /** + * Add a key/value pair to `extraParams` map. A map 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; + } - private BusinessDetails businessDetails; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private String country; + /** + * 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; + } - private EntityType entityType; + /** 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; + } + } - private Map extraParams; + public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { + @SerializedName("qualified_entity_exceeds_ownership_threshold") + QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( + "qualified_entity_exceeds_ownership_threshold"), - private Individual individual; + @SerializedName("qualifies_as_financial_institution") + QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); - /** 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); - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - public Builder setAttestations(AccountCreateParams.Identity.Attestations attestations) { - this.attestations = attestations; - return this; + OwnershipExemptionReason(String value) { + this.value = value; + } + } } - /** Information about the company or business. */ - public Builder setBusinessDetails( - AccountCreateParams.Identity.BusinessDetails businessDetails) { - this.businessDetails = businessDetails; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TermsOfService { + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + @SerializedName("account") + Account account; - /** - * 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; - } + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + @SerializedName("card_creator") + CardCreator cardCreator; - /** The entity type. */ - public Builder setEntityType(AccountCreateParams.Identity.EntityType entityType) { - this.entityType = entityType; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountCreateParams.Identity#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + @SerializedName("storer") + Storer storer; + + private TermsOfService( + Account account, + CardCreator cardCreator, + Map extraParams, + Storer storer) { + this.account = account; + this.cardCreator = cardCreator; + this.extraParams = extraParams; + this.storer = storer; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map 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<>(); + public static Builder builder() { + return new Builder(); } - 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; - } - } + public static class Builder { + private Account account; - @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; + private CardCreator cardCreator; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + private Map extraParams; - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - @SerializedName("ownership_declaration") - OwnershipDeclaration ownershipDeclaration; + private Storer storer; - /** Attestation that all Persons with a specific Relationship value have been provided. */ - @SerializedName("persons_provided") - PersonsProvided personsProvided; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService( + this.account, this.cardCreator, this.extraParams, this.storer); + } - /** Attestations of accepted terms of service agreements. */ - @SerializedName("terms_of_service") - TermsOfService termsOfService; + /** + * 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; + } - 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; - } + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + public Builder setCardCreator( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator cardCreator) { + this.cardCreator = cardCreator; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Identity.Attestations.TermsOfService#extraParams} + * for the 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 DirectorshipDeclaration directorshipDeclaration; + /** + * Add all map key/value pairs to `extraParams` map. A map 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; + } - private Map extraParams; + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + public Builder setStorer( + AccountCreateParams.Identity.Attestations.TermsOfService.Storer storer) { + this.storer = storer; + return this; + } + } - private OwnershipDeclaration ownershipDeclaration; + @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; - private PersonsProvided personsProvided; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private TermsOfService termsOfService; + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** 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); - } + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String userAgent; - /** - * 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; - } + private Account( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static 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; + } - /** - * 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; + /** + * 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; + } + } } - /** 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; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardCreator { + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; - /** Attestations of accepted terms of service agreements. */ - public Builder setTermsOfService( - AccountCreateParams.Identity.Attestations.TermsOfService termsOfService) { - this.termsOfService = termsOfService; - 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 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; + private CardCreator(Commercial commercial, Map extraParams) { + this.commercial = commercial; + this.extraParams = 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; + public static Builder builder() { + return new Builder(); + } - /** The IP address from which the director attestation was made. */ - @SerializedName("ip") - String ip; + public static class Builder { + private Commercial commercial; - /** The user agent of the browser from which the director attestation was made. */ - @SerializedName("user_agent") - String userAgent; + private Map extraParams; - private DirectorshipDeclaration( - Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator( + this.commercial, this.extraParams); + } - public static Builder builder() { - return new Builder(); - } + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + public Builder setCommercial( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + commercial) { + this.commercial = commercial; + return this; + } - 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.Identity.Attestations.TermsOfService.CardCreator#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator#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; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Commercial { + /** Terms of service acceptances for Stripe commercial card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; - private String userAgent; + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. + */ + @SerializedName("celtic") + Celtic celtic; - /** 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); - } + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; - /** - * 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; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private Commercial( + AccountHolder accountHolder, + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams) { + this.accountHolder = accountHolder; + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.DirectorshipDeclaration#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 IP address from which the director attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + public static class Builder { + private AccountHolder accountHolder; - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + private Celtic celtic; - @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; + private CrossRiverBank crossRiverBank; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + private Map extraParams; - /** The IP address from which the beneficial owner attestation was made. */ - @SerializedName("ip") - String ip; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial( + this.accountHolder, this.celtic, this.crossRiverBank, this.extraParams); + } - /** The user agent of the browser from which the beneficial owner attestation was made. */ - @SerializedName("user_agent") - String userAgent; + /** Terms of service acceptances for Stripe commercial card issuing. */ + public Builder setAccountHolder( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .AccountHolder + accountHolder) { + this.accountHolder = accountHolder; + return this; + } - private OwnershipDeclaration( - Instant date, Map extraParams, String ip, String userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN + * sponsor. + */ + public Builder setCeltic( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic + celtic) { + this.celtic = celtic; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + public Builder setCrossRiverBank( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} + * for the 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 Instant date; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder { + /** + * Required. The time when the Account's representative accepted the + * terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - private String ip; + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private String userAgent; + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; - /** 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 user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + String 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; - } + private AccountHolder( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.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; - } + public static Builder builder() { + return new Builder(); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountCreateParams.Identity.Attestations.OwnershipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static class Builder { + private Instant date; - /** The IP address from which the beneficial owner attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + private Map extraParams; - /** The user agent of the browser from which the beneficial owner attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + private String ip; - @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; + private String userAgent; - /** - * 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; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. The time when the 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; + } - /** - * 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; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Reason for why the company is exempt from providing ownership information. */ - @SerializedName("ownership_exemption_reason") - OwnershipExemptionReason ownershipExemptionReason; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - 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; - } + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - public static Builder builder() { - return new Builder(); - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - public static class Builder { - private Boolean directors; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Celtic { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - private Boolean executives; + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN + * sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; - private Map extraParams; + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Boolean owners; + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN + * sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; - private OwnershipExemptionReason ownershipExemptionReason; + private Celtic( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } - /** 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); - } + public static Builder builder() { + return new Builder(); + } - /** - * 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; - } + public static class Builder { + private ApplePay applePay; - /** - * 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; - } + private ChargeCard chargeCard; - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Identity.Attestations.PersonsProvided#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private SpendCard spendCard; - /** - * 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.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic( + this.applePay, this.chargeCard, this.extraParams, this.spendCard); + } - /** 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; - } - } + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic + * as BIN sponsor. + */ + public Builder setApplePay( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { - @SerializedName("qualified_entity_exceeds_ownership_threshold") - QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( - "qualified_entity_exceeds_ownership_threshold"), + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as + * BIN sponsor. + */ + public Builder setChargeCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @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.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as + * BIN sponsor. + */ + public Builder setSpendCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } - OwnershipExemptionReason(String value) { - this.value = value; - } - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private ApplePay( + Instant date, Map extraParams, String ip, String userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TermsOfService { - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - @SerializedName("account") - Account account; + 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 Instant date; + + private Map extraParams; + + private String ip; + + private String userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ApplePay + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private ChargeCard( + BankTerms bankTerms, Map extraParams, Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.platform = platform; + } - 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 Builder builder() { - return new Builder(); - } + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard( + this.bankTerms, this.extraParams, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } - public static class Builder { - private Account account; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private BankTerms( + 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.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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; + } + } + } - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + 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 Platform( + 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.CardCreator + .Commercial.Celtic.ChargeCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative + * accepted the terms of service. Represented as a RFC 3339 date & time UTC + * value in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } - private Storer storer; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } - /** 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); - } + public static Builder builder() { + return new Builder(); + } - /** - * 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; - } + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.Platform + platform) { + this.platform = platform; + return this; + } + } - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private BankTerms( + 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.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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; + } + } + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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<>(); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private FinancingDisclosures( + 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.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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 Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + 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 Platform( + 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.CardCreator + .Commercial.Celtic.SpendCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } } - this.extraParams.putAll(map); - return this; - } - /** 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 CrossRiverBank { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - @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; + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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; + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - String userAgent; + private CrossRiverBank( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } - 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 Builder builder() { - return new Builder(); - } + public static class Builder { + private ApplePay applePay; - public static class Builder { - private Instant date; + private ChargeCard chargeCard; - private Map extraParams; + private Map extraParams; - private String ip; + private SpendCard spendCard; - private String userAgent; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank( + this.applePay, this.chargeCard, this.extraParams, this.spendCard); + } - /** 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); - } + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setApplePay( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - /** - * 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; - } + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setChargeCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setSpendCard( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map 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<>(); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's representative + * accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private ApplePay( + 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.CardCreator + .Commercial.CrossRiverBank.ApplePay + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - /** - * Required. The IP address from which the Account's representative - * accepted the terms of service. - */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private ChargeCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private BankTerms( + 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.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private FinancingDisclosures( + 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.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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 Platform { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + 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 Platform( + 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.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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 SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures); + } + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private BankTerms( + 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.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * Required. The time when the Account's representative accepted + * the terms of service. Represented as a RFC 3339 date & time UTC value in + * millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The IP address from which the Account's + * representative accepted the terms of service. + */ + @SerializedName("ip") + String ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + String userAgent; + + private FinancingDisclosures( + 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.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * 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.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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; + } + } + } + } } } } @@ -17344,6 +21019,9 @@ public enum Dashboard implements ApiRequestParams.EnumParam { } public enum Include implements ApiRequestParams.EnumParam { + @SerializedName("configuration.card_creator") + CONFIGURATION__CARD_CREATOR("configuration.card_creator"), + @SerializedName("configuration.customer") CONFIGURATION__CUSTOMER("configuration.customer"), diff --git a/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java b/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java index dee37bdee38..4284e06bfd1 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java @@ -100,6 +100,9 @@ public Builder addAllInclude(List elements) { } public enum Include implements ApiRequestParams.EnumParam { + @SerializedName("configuration.card_creator") + CONFIGURATION__CARD_CREATOR("configuration.card_creator"), + @SerializedName("configuration.customer") CONFIGURATION__CUSTOMER("configuration.customer"), 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 345f3558fe2..85613d2bbb8 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java @@ -296,6 +296,10 @@ public Builder putAllMetadata(Map map) { @Getter @EqualsAndHashCode(callSuper = false) public static class Configuration { + /** The CardCreator Configuration allows the Account to create and issue cards to users. */ + @SerializedName("card_creator") + CardCreator cardCreator; + /** The Customer Configuration allows the Account to be charged. */ @SerializedName("customer") Customer customer; @@ -329,11 +333,13 @@ public static class Configuration { Storer storer; private Configuration( + CardCreator cardCreator, Customer customer, Map extraParams, Merchant merchant, Recipient recipient, Storer storer) { + this.cardCreator = cardCreator; this.customer = customer; this.extraParams = extraParams; this.merchant = merchant; @@ -346,6 +352,8 @@ public static Builder builder() { } public static class Builder { + private CardCreator cardCreator; + private Customer customer; private Map extraParams; @@ -359,7 +367,18 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Configuration build() { return new AccountUpdateParams.Configuration( - this.customer, this.extraParams, this.merchant, this.recipient, this.storer); + this.cardCreator, + this.customer, + this.extraParams, + this.merchant, + this.recipient, + this.storer); + } + + /** The CardCreator Configuration allows the Account to create and issue cards to users. */ + public Builder setCardCreator(AccountUpdateParams.Configuration.CardCreator cardCreator) { + this.cardCreator = cardCreator; + return this; } /** The Customer Configuration allows the Account to be charged. */ @@ -422,7 +441,7 @@ public Builder setStorer(AccountUpdateParams.Configuration.Storer storer) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Customer { + public static class CardCreator { /** * Represents the state of the configuration, and can be updated to deactivate or re-apply a * configuration. @@ -430,22 +449,7 @@ public static class Customer { @SerializedName("applied") Boolean applied; - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the - * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; - - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - @SerializedName("billing") - Billing billing; - - /** Capabilities that have been requested on the Customer Configuration. */ + /** Capabilities to request on the CardCreator Configuration. */ @SerializedName("capabilities") Capabilities capabilities; @@ -458,32 +462,11 @@ public static class Customer { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - @SerializedName("shipping") - Shipping shipping; - - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - @SerializedName("test_clock") - Object testClock; - - private Customer( - Boolean applied, - AutomaticIndirectTax automaticIndirectTax, - Billing billing, - Capabilities capabilities, - Map extraParams, - Shipping shipping, - Object testClock) { + private CardCreator( + Boolean applied, Capabilities capabilities, Map extraParams) { this.applied = applied; - this.automaticIndirectTax = automaticIndirectTax; - this.billing = billing; this.capabilities = capabilities; this.extraParams = extraParams; - this.shipping = shipping; - this.testClock = testClock; } public static Builder builder() { @@ -493,28 +476,14 @@ public static Builder builder() { public static class Builder { private Boolean applied; - private AutomaticIndirectTax automaticIndirectTax; - - private Billing billing; - private Capabilities capabilities; private Map extraParams; - private Shipping shipping; - - private Object testClock; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer build() { - return new AccountUpdateParams.Configuration.Customer( - this.applied, - this.automaticIndirectTax, - this.billing, - this.capabilities, - this.extraParams, - this.shipping, - this.testClock); + public AccountUpdateParams.Configuration.CardCreator build() { + return new AccountUpdateParams.Configuration.CardCreator( + this.applied, this.capabilities, this.extraParams); } /** @@ -526,29 +495,9 @@ public Builder setApplied(Boolean applied) { return this; } - /** - * Automatic indirect tax settings to be used when automatic tax calculation is enabled on - * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if - * automatic tax calculation is possible given the current customer location information. - */ - public Builder setAutomaticIndirectTax( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - return this; - } - - /** - * Billing settings - default settings used for this customer in Billing flows such as - * Invoices and Subscriptions. - */ - public Builder setBilling(AccountUpdateParams.Configuration.Customer.Billing billing) { - this.billing = billing; - return this; - } - - /** Capabilities that have been requested on the Customer Configuration. */ + /** Capabilities to request on the CardCreator Configuration. */ public Builder setCapabilities( - AccountUpdateParams.Configuration.Customer.Capabilities capabilities) { + AccountUpdateParams.Configuration.CardCreator.Capabilities capabilities) { this.capabilities = capabilities; return this; } @@ -556,7 +505,7 @@ public Builder setCapabilities( /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer#extraParams} for the field + * map. See {@link AccountUpdateParams.Configuration.CardCreator#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -570,7 +519,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer#extraParams} for the field + * map. See {@link AccountUpdateParams.Configuration.CardCreator#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -580,42 +529,14 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } - - /** The customer's shipping information. Appears on invoices emailed to this customer. */ - public Builder setShipping(AccountUpdateParams.Configuration.Customer.Shipping shipping) { - this.shipping = shipping; - return this; - } - - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - public Builder setTestClock(String testClock) { - this.testClock = testClock; - return this; - } - - /** - * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and - * when the Customer Configuration is first set on an Account. - */ - public Builder setTestClock(EmptyParam testClock) { - this.testClock = testClock; - return this; - } } @Getter @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or - * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following - * text: “Reverse charge”. - */ - @SerializedName("exempt") - Exempt exempt; + public static class Capabilities { + /** Can create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; /** * Map of extra parameters for custom features not available in this client library. The @@ -627,38 +548,9 @@ public static class AutomaticIndirectTax { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - @SerializedName("ip_address") - Object ipAddress; - - /** - * The data source used to identify the customer's tax location - defaults to - * 'identity_address'. Will only be used for automatic tax calculation on the customer's - * Invoices and Subscriptions. - */ - @SerializedName("location_source") - LocationSource locationSource; - - /** - * A per-request flag that indicates when Stripe should validate the customer tax location - - * defaults to 'auto'. - */ - @SerializedName("validate_location") - ValidateLocation validateLocation; - - private AutomaticIndirectTax( - Exempt exempt, - Map extraParams, - Object ipAddress, - LocationSource locationSource, - ValidateLocation validateLocation) { - this.exempt = exempt; + private Capabilities(Commercial commercial, Map extraParams) { + this.commercial = commercial; this.extraParams = extraParams; - this.ipAddress = ipAddress; - this.locationSource = locationSource; - this.validateLocation = validateLocation; } public static Builder builder() { @@ -666,43 +558,28 @@ public static Builder builder() { } public static class Builder { - private Exempt exempt; + private Commercial commercial; private Map extraParams; - private Object ipAddress; - - private LocationSource locationSource; - - private ValidateLocation validateLocation; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax build() { - return new AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax( - this.exempt, - this.extraParams, - this.ipAddress, - this.locationSource, - this.validateLocation); + public AccountUpdateParams.Configuration.CardCreator.Capabilities build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities( + this.commercial, this.extraParams); } - /** - * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, - * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following - * text: “Reverse charge”. - */ - public Builder setExempt( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { - this.exempt = exempt; + /** Can create cards for commercial issuing use cases. */ + public Builder setCommercial( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial commercial) { + this.commercial = commercial; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. + * map. See {@link AccountUpdateParams.Configuration.CardCreator.Capabilities#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -715,9 +592,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the - * field documentation. + * map. See {@link AccountUpdateParams.Configuration.CardCreator.Capabilities#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -726,398 +602,387 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - public Builder setIpAddress(String ipAddress) { - this.ipAddress = ipAddress; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Commercial { + /** Can create commercial issuing cards with Celtic as BIN sponsor. */ + @SerializedName("celtic") + Celtic celtic; - /** - * A recent IP address of the customer used for tax reporting and tax location inference. - */ - public Builder setIpAddress(EmptyParam ipAddress) { - this.ipAddress = ipAddress; - return this; - } + /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; /** - * The data source used to identify the customer's tax location - defaults to - * 'identity_address'. Will only be used for automatic tax calculation on the customer's - * Invoices and Subscriptions. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized 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 setLocationSource( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource - locationSource) { - this.locationSource = locationSource; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Can create commercial issuing cards with Stripe as BIN sponsor. */ + @SerializedName("stripe") + Stripe stripe; + + private Commercial( + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams, + Stripe stripe) { + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; + this.stripe = stripe; } - /** - * A per-request flag that indicates when Stripe should validate the customer tax location - * - defaults to 'auto'. - */ - public Builder setValidateLocation( - AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.ValidateLocation - validateLocation) { - this.validateLocation = validateLocation; - return this; + public static Builder builder() { + return new Builder(); } - } - public enum Exempt implements ApiRequestParams.EnumParam { - @SerializedName("exempt") - EXEMPT("exempt"), + public static class Builder { + private Celtic celtic; - @SerializedName("none") - NONE("none"), + private CrossRiverBank crossRiverBank; - @SerializedName("reverse") - REVERSE("reverse"); + private Map extraParams; - @Getter(onMethod_ = {@Override}) - private final String value; + private Stripe stripe; - Exempt(String value) { - this.value = value; - } - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial( + this.celtic, this.crossRiverBank, this.extraParams, this.stripe); + } - public enum LocationSource implements ApiRequestParams.EnumParam { - @SerializedName("identity_address") - IDENTITY_ADDRESS("identity_address"), + /** Can create commercial issuing cards with Celtic as BIN sponsor. */ + public Builder setCeltic( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + celtic) { + this.celtic = celtic; + return this; + } - @SerializedName("ip_address") - IP_ADDRESS("ip_address"), + /** Can create commercial issuing cards with Cross River Bank as BIN sponsor. */ + public Builder setCrossRiverBank( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + return this; + } - @SerializedName("shipping_address") - SHIPPING_ADDRESS("shipping_address"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - LocationSource(String value) { - this.value = value; + /** Can create commercial issuing cards with Stripe as BIN sponsor. */ + public Builder setStripe( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + stripe) { + this.stripe = stripe; + return this; + } } - } - public enum ValidateLocation implements ApiRequestParams.EnumParam { - @SerializedName("auto") - AUTO("auto"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Celtic { + /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; - @SerializedName("deferred") - DEFERRED("deferred"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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("immediately") - IMMEDIATELY("immediately"); + /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */ + @SerializedName("spend_card") + SpendCard spendCard; - @Getter(onMethod_ = {@Override}) - private final String value; + private Celtic( + ChargeCard chargeCard, Map extraParams, SpendCard spendCard) { + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } - ValidateLocation(String value) { - this.value = value; - } - } - } + public static Builder builder() { + return new Builder(); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Billing { - /** - * ID of a payment method that’s attached to the customer, to be used as the customer’s - * default payment method for invoices and subscriptions. - */ - @SerializedName("default_payment_method") - Object defaultPaymentMethod; + public static class Builder { + private ChargeCard chargeCard; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + private Map extraParams; - /** Default settings used on invoices for this customer. */ - @SerializedName("invoice") - Invoice invoice; + private SpendCard spendCard; - private Billing( - Object defaultPaymentMethod, Map extraParams, Invoice invoice) { - this.defaultPaymentMethod = defaultPaymentMethod; - this.extraParams = extraParams; - this.invoice = invoice; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Celtic(this.chargeCard, this.extraParams, this.spendCard); + } - public static Builder builder() { - return new Builder(); - } + /** Can create commercial issuing charge cards with Celtic as BIN sponsor. */ + public Builder setChargeCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - public static class Builder { - private Object defaultPaymentMethod; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Invoice invoice; + /** Can create commercial issuing spend cards with Celtic as BIN sponsor. */ + public Builder setSpendCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing build() { - return new AccountUpdateParams.Configuration.Customer.Billing( - this.defaultPaymentMethod, this.extraParams, this.invoice); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * ID of a payment method that’s attached to the customer, to be used as the customer’s - * default payment method for invoices and subscriptions. - */ - public Builder setDefaultPaymentMethod(String defaultPaymentMethod) { - this.defaultPaymentMethod = defaultPaymentMethod; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * ID of a payment method that’s attached to the customer, to be used as the customer’s - * default payment method for invoices and subscriptions. - */ - public Builder setDefaultPaymentMethod(EmptyParam defaultPaymentMethod) { - this.defaultPaymentMethod = defaultPaymentMethod; - return this; - } + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + 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.Customer.Billing#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .ChargeCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Celtic.ChargeCard(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - /** Default settings used on invoices for this customer. */ - public Builder setInvoice( - AccountUpdateParams.Configuration.Customer.Billing.Invoice invoice) { - this.invoice = invoice; - return this; - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Invoice { - /** - * The list of up to 4 default custom fields to be displayed on invoices for this - * customer. - */ - @SerializedName("custom_fields") - List customFields; + /** + * To 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 SpendCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Default footer to be displayed on invoices for this customer. */ - @SerializedName("footer") - Object footer; + public static Builder builder() { + return new Builder(); + } - /** The sequence to be used on the customer's next invoice. Defaults to 1. */ - @SerializedName("next_sequence") - Long nextSequence; + public static class Builder { + private Map extraParams; - /** - * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 - * uppercase letters or numbers. - */ - @SerializedName("prefix") - Object prefix; + private Boolean requested; - /** Default options for invoice PDF rendering for this customer. */ - @SerializedName("rendering") - Rendering rendering; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic + .SpendCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Celtic.SpendCard(this.extraParams, this.requested); + } - private Invoice( - List - customFields, - Map extraParams, - Object footer, - Long nextSequence, - Object prefix, - Rendering rendering) { - this.customFields = customFields; - this.extraParams = extraParams; - this.footer = footer; - this.nextSequence = nextSequence; - this.prefix = prefix; - this.rendering = rendering; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List - customFields; - - private Map extraParams; - - private Object footer; - - private Long nextSequence; - - private Object prefix; - - private Rendering rendering; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing.Invoice build() { - return new AccountUpdateParams.Configuration.Customer.Billing.Invoice( - this.customFields, - this.extraParams, - this.footer, - this.nextSequence, - this.prefix, - this.rendering); - } - - /** - * Add an element to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addCustomField( - AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField element) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); - } - this.customFields.add(element); - return this; - } - - /** - * Add all elements to `customFields` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the - * field documentation. - */ - public Builder addAllCustomField( - List - elements) { - if (this.customFields == null) { - this.customFields = new ArrayList<>(); - } - this.customFields.addAll(elements); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; - } - - /** Default footer to be displayed on invoices for this customer. */ - public Builder setFooter(String footer) { - this.footer = footer; - return this; - } - - /** Default footer to be displayed on invoices for this customer. */ - public Builder setFooter(EmptyParam footer) { - this.footer = footer; - return this; - } - - /** The sequence to be used on the customer's next invoice. Defaults to 1. */ - public Builder setNextSequence(Long nextSequence) { - this.nextSequence = nextSequence; - return this; - } - - /** - * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 - * uppercase letters or numbers. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } - - /** - * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 - * uppercase letters or numbers. - */ - public Builder setPrefix(EmptyParam prefix) { - this.prefix = prefix; - return this; - } - - /** Default options for invoice PDF rendering for this customer. */ - public Builder setRendering( - AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { - this.rendering = rendering; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CustomField { + public static class CrossRiverBank { + /** Can create commercial issuing charge cards with Cross River Bank as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -1128,24 +993,15 @@ public static class CustomField { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Required. The name of the custom field. This may be up to 40 - * characters. - */ - @SerializedName("name") - Object name; - - /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined values. - */ - @SerializedName("value") - Object value; + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ + @SerializedName("spend_card") + SpendCard spendCard; - private CustomField(Map extraParams, Object name, Object value) { + private CrossRiverBank( + ChargeCard chargeCard, Map extraParams, SpendCard spendCard) { + this.chargeCard = chargeCard; this.extraParams = extraParams; - this.name = name; - this.value = value; + this.spendCard = spendCard; } public static Builder builder() { @@ -1153,24 +1009,36 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; + private ChargeCard chargeCard; - private Object name; + private Map extraParams; - private Object value; + private SpendCard spendCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank build() { - return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField( - this.extraParams, this.name, this.value); + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank(this.chargeCard, this.extraParams, this.spendCard); + } + + /** + * Can create commercial issuing charge cards with Cross River Bank as BIN sponsor. + */ + public Builder setChargeCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1185,7 +1053,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1196,57 +1064,189 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Required. The name of the custom field. This may be up to 40 - * characters. - */ - public Builder setName(String name) { - this.name = name; + /** Can create commercial issuing spend cards with Cross River Bank as BIN sponsor. */ + public Builder setSpendCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard + spendCard) { + this.spendCard = spendCard; return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { /** - * Required. The name of the custom field. This may be up to 40 - * characters. + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. */ - public Builder setName(EmptyParam name) { - this.name = name; - return this; - } + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined - * values. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setValue(String value) { - this.value = value; - return this; + @SerializedName("requested") + Boolean requested; + + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.ChargeCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.ChargeCard(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { /** - * Required. The value of the custom field. This may be up to 140 - * characters. When updating, pass an empty string to remove previously-defined - * values. + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. */ - public Builder setValue(EmptyParam value) { - this.value = value; - return this; + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private SpendCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .CrossRiverBank.SpendCard(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Rendering { - /** - * How line-item prices and amounts will be displayed with respect to tax on invoice - * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include - * inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will - * exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. - */ - @SerializedName("amount_tax_display") - AmountTaxDisplay amountTaxDisplay; + public static class Stripe { + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + @SerializedName("charge_card") + ChargeCard chargeCard; /** * Map of extra parameters for custom features not available in this client library. The @@ -1258,17 +1258,15 @@ public static class Rendering { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** ID of the invoice rendering template to use for future invoices. */ - @SerializedName("template") - Object template; + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + @SerializedName("prepaid_card") + PrepaidCard prepaidCard; - private Rendering( - AmountTaxDisplay amountTaxDisplay, - Map extraParams, - Object template) { - this.amountTaxDisplay = amountTaxDisplay; + private Stripe( + ChargeCard chargeCard, Map extraParams, PrepaidCard prepaidCard) { + this.chargeCard = chargeCard; this.extraParams = extraParams; - this.template = template; + this.prepaidCard = prepaidCard; } public static Builder builder() { @@ -1276,30 +1274,25 @@ public static Builder builder() { } public static class Builder { - private AmountTaxDisplay amountTaxDisplay; + private ChargeCard chargeCard; private Map extraParams; - private Object template; + private PrepaidCard prepaidCard; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering build() { - return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering( - this.amountTaxDisplay, this.extraParams, this.template); + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe(this.chargeCard, this.extraParams, this.prepaidCard); } - /** - * How line-item prices and amounts will be displayed with respect to tax on invoice - * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will - * include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. - * exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF - * amounts. - */ - public Builder setAmountTaxDisplay( - AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering - .AmountTaxDisplay - amountTaxDisplay) { - this.amountTaxDisplay = amountTaxDisplay; + /** Can create commercial issuing charge cards with Stripe as BIN sponsor. */ + public Builder setChargeCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + chargeCard) { + this.chargeCard = chargeCard; return this; } @@ -1307,7 +1300,7 @@ public Builder setAmountTaxDisplay( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1322,7 +1315,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -1333,236 +1326,425 @@ public Builder putAllExtraParam(Map map) { return this; } - /** ID of the invoice rendering template to use for future invoices. */ - public Builder setTemplate(String template) { - this.template = template; - return this; - } - - /** ID of the invoice rendering template to use for future invoices. */ - public Builder setTemplate(EmptyParam template) { - this.template = template; + /** Can create commercial issuing prepaid cards with Stripe as BIN sponsor. */ + public Builder setPrepaidCard( + AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + prepaidCard) { + this.prepaidCard = prepaidCard; return this; } } - public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { - @SerializedName("exclude_tax") - EXCLUDE_TAX("exclude_tax"), - - @SerializedName("include_inclusive_tax") - INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @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; - AmountTaxDisplay(String value) { - this.value = value; + private ChargeCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** - * Generates requirements for enabling automatic indirect tax calculation on this customer's - * invoices or subscriptions. Recommended to request this capability if planning to enable - * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code - * location_source} field. - */ - @SerializedName("automatic_indirect_tax") - AutomaticIndirectTax automaticIndirectTax; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - private Capabilities( - AutomaticIndirectTax automaticIndirectTax, Map extraParams) { - this.automaticIndirectTax = automaticIndirectTax; - this.extraParams = extraParams; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private AutomaticIndirectTax automaticIndirectTax; + private Boolean requested; - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .ChargeCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.ChargeCard(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Capabilities build() { - return new AccountUpdateParams.Configuration.Customer.Capabilities( - this.automaticIndirectTax, this.extraParams); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Generates requirements for enabling automatic indirect tax calculation on this - * customer's invoices or subscriptions. Recommended to request this capability if - * planning to enable automatic tax calculation on this customer's invoices or - * subscriptions. Uses the {@code location_source} field. - */ - public Builder setAutomaticIndirectTax( - AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - automaticIndirectTax) { - this.automaticIndirectTax = automaticIndirectTax; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PrepaidCard { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class AutomaticIndirectTax { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private PrepaidCard(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private AutomaticIndirectTax(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private Map extraParams; - public static class Builder { - private Map extraParams; + private Boolean requested; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe + .PrepaidCard + build() { + return new AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial + .Stripe.PrepaidCard(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax - build() { - return new AccountUpdateParams.Configuration.Customer.Capabilities - .AutomaticIndirectTax(this.extraParams, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.CardCreator.Capabilities.Commercial.Stripe.PrepaidCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * To request a new Capability for an account, pass true. There can be a delay + * before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; } } } } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Shipping { - /** Customer shipping address. */ - @SerializedName("address") - Address address; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Customer { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on the + * customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; - /** Customer name. */ - @SerializedName("name") - Object name; + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + @SerializedName("billing") + Billing billing; - /** Customer phone (including extension). */ - @SerializedName("phone") - Object phone; + /** Capabilities that have been requested on the Customer Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; - private Shipping( - Address address, Map extraParams, Object name, Object phone) { - this.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 customer's shipping information. Appears on invoices emailed to this customer. */ + @SerializedName("shipping") + Shipping shipping; + + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + @SerializedName("test_clock") + Object testClock; + + private Customer( + Boolean applied, + AutomaticIndirectTax automaticIndirectTax, + Billing billing, + Capabilities capabilities, + Map extraParams, + Shipping shipping, + Object testClock) { + this.applied = applied; + this.automaticIndirectTax = automaticIndirectTax; + this.billing = billing; + this.capabilities = capabilities; + this.extraParams = extraParams; + this.shipping = shipping; + this.testClock = testClock; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Boolean applied; + + private AutomaticIndirectTax automaticIndirectTax; + + private Billing billing; + + private Capabilities capabilities; + + private Map extraParams; + + private Shipping shipping; + + private Object testClock; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer build() { + return new AccountUpdateParams.Configuration.Customer( + this.applied, + this.automaticIndirectTax, + this.billing, + this.capabilities, + this.extraParams, + this.shipping, + this.testClock); + } + + /** + * 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; + } + + /** + * Automatic indirect tax settings to be used when automatic tax calculation is enabled on + * the customer's invoices, subscriptions, checkout sessions, or payment links. Surfaces if + * automatic tax calculation is possible given the current customer location information. + */ + public Builder setAutomaticIndirectTax( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax automaticIndirectTax) { + this.automaticIndirectTax = automaticIndirectTax; + return this; + } + + /** + * Billing settings - default settings used for this customer in Billing flows such as + * Invoices and Subscriptions. + */ + public Builder setBilling(AccountUpdateParams.Configuration.Customer.Billing billing) { + this.billing = billing; + return this; + } + + /** Capabilities that have been requested on the Customer Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Customer.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The customer's shipping information. Appears on invoices emailed to this customer. */ + public Builder setShipping(AccountUpdateParams.Configuration.Customer.Shipping shipping) { + this.shipping = shipping; + return this; + } + + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + public Builder setTestClock(String testClock) { + this.testClock = testClock; + return this; + } + + /** + * ID of the test clock to attach to the customer. Can only be set on testmode Accounts, and + * when the Customer Configuration is first set on an Account. + */ + public Builder setTestClock(EmptyParam testClock) { + this.testClock = testClock; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax { + /** + * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, or + * {@code reverse}. When set to reverse, invoice and receipt PDFs include the following + * text: “Reverse charge”. + */ + @SerializedName("exempt") + Exempt exempt; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 recent IP address of the customer used for tax reporting and tax location inference. + */ + @SerializedName("ip_address") + Object ipAddress; + + /** + * The data source used to identify the customer's tax location - defaults to + * 'identity_address'. Will only be used for automatic tax calculation on the customer's + * Invoices and Subscriptions. + */ + @SerializedName("location_source") + LocationSource locationSource; + + /** + * A per-request flag that indicates when Stripe should validate the customer tax location - + * defaults to 'auto'. + */ + @SerializedName("validate_location") + ValidateLocation validateLocation; + + private AutomaticIndirectTax( + Exempt exempt, + Map extraParams, + Object ipAddress, + LocationSource locationSource, + ValidateLocation validateLocation) { + this.exempt = exempt; this.extraParams = extraParams; - this.name = name; - this.phone = phone; + this.ipAddress = ipAddress; + this.locationSource = locationSource; + this.validateLocation = validateLocation; } public static Builder builder() { @@ -1570,32 +1752,43 @@ public static Builder builder() { } public static class Builder { - private Address address; + private Exempt exempt; private Map extraParams; - private Object name; + private Object ipAddress; - private Object phone; + private LocationSource locationSource; + + private ValidateLocation validateLocation; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Shipping build() { - return new AccountUpdateParams.Configuration.Customer.Shipping( - this.address, this.extraParams, this.name, this.phone); + public AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax build() { + return new AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax( + this.exempt, + this.extraParams, + this.ipAddress, + this.locationSource, + this.validateLocation); } - /** Customer shipping address. */ - public Builder setAddress( - AccountUpdateParams.Configuration.Customer.Shipping.Address address) { - this.address = address; + /** + * Describes the customer's tax exemption status, which is {@code none}, {@code exempt}, + * or {@code reverse}. When set to reverse, invoice and receipt PDFs include the following + * text: “Reverse charge”. + */ + public Builder setExempt( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.Exempt exempt) { + this.exempt = exempt; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. + * map. See {@link + * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -1608,8 +1801,9 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for - * the field documentation. + * map. See {@link + * AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -1619,327 +1813,1219 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Customer name. */ - public Builder setName(String name) { - this.name = name; + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + public Builder setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; return this; } - /** Customer name. */ - public Builder setName(EmptyParam name) { - this.name = name; + /** + * A recent IP address of the customer used for tax reporting and tax location inference. + */ + public Builder setIpAddress(EmptyParam ipAddress) { + this.ipAddress = ipAddress; return this; } - /** Customer phone (including extension). */ - public Builder setPhone(String phone) { - this.phone = phone; + /** + * The data source used to identify the customer's tax location - defaults to + * 'identity_address'. Will only be used for automatic tax calculation on the customer's + * Invoices and Subscriptions. + */ + public Builder setLocationSource( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.LocationSource + locationSource) { + this.locationSource = locationSource; return this; } - /** Customer phone (including extension). */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; + /** + * A per-request flag that indicates when Stripe should validate the customer tax location + * - defaults to 'auto'. + */ + public Builder setValidateLocation( + AccountUpdateParams.Configuration.Customer.AutomaticIndirectTax.ValidateLocation + validateLocation) { + this.validateLocation = validateLocation; return this; } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; + public enum Exempt implements ApiRequestParams.EnumParam { + @SerializedName("exempt") + EXEMPT("exempt"), - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - Object country; + @SerializedName("none") + NONE("none"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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("reverse") + REVERSE("reverse"); - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; + @Getter(onMethod_ = {@Override}) + private final String value; - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; + Exempt(String value) { + this.value = value; + } + } - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; + public enum LocationSource implements ApiRequestParams.EnumParam { + @SerializedName("identity_address") + IDENTITY_ADDRESS("identity_address"), - /** State, county, province, or region. */ - @SerializedName("state") - Object state; + @SerializedName("ip_address") + IP_ADDRESS("ip_address"), - private Address( - Object city, - Object country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state) { - this.city = city; - this.country = country; - this.extraParams = extraParams; - this.line1 = line1; - this.line2 = line2; - this.postalCode = postalCode; - this.state = state; - } + @SerializedName("shipping_address") + SHIPPING_ADDRESS("shipping_address"); - public static Builder builder() { - return new Builder(); - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static class Builder { - private Object city; + LocationSource(String value) { + this.value = value; + } + } - private Object country; + public enum ValidateLocation implements ApiRequestParams.EnumParam { + @SerializedName("auto") + AUTO("auto"), - private Map extraParams; + @SerializedName("deferred") + DEFERRED("deferred"), - private Object line1; + @SerializedName("immediately") + IMMEDIATELY("immediately"); - private Object line2; + @Getter(onMethod_ = {@Override}) + private final String value; - private Object postalCode; + ValidateLocation(String value) { + this.value = value; + } + } + } - private Object state; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Billing { + /** + * ID of a payment method that’s attached to the customer, to be used as the customer’s + * default payment method for invoices and subscriptions. + */ + @SerializedName("default_payment_method") + Object defaultPaymentMethod; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Customer.Shipping.Address build() { - return new AccountUpdateParams.Configuration.Customer.Shipping.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state); - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; - } + /** Default settings used on invoices for this customer. */ + @SerializedName("invoice") + Invoice invoice; - /** City, district, suburb, town, or village. */ - public Builder setCity(EmptyParam city) { - this.city = city; - return this; - } + private Billing( + Object defaultPaymentMethod, Map extraParams, Invoice invoice) { + this.defaultPaymentMethod = defaultPaymentMethod; + this.extraParams = extraParams; + this.invoice = invoice; + } - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(String country) { - this.country = country; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * Two-letter country code (ISO 3166-1 alpha-2). - */ - public Builder setCountry(EmptyParam country) { - this.country = country; - return this; - } + public static class Builder { + private Object defaultPaymentMethod; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private Invoice invoice; - /** Address line 1 (e.g., street, PO Box, or company name). */ - public Builder setLine1(String line1) { - this.line1 = line1; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Billing build() { + return new AccountUpdateParams.Configuration.Customer.Billing( + this.defaultPaymentMethod, this.extraParams, this.invoice); + } - /** 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; - } + /** + * ID of a payment method that’s attached to the customer, to be used as the customer’s + * default payment method for invoices and subscriptions. + */ + public Builder setDefaultPaymentMethod(String defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + return this; + } - /** ZIP or postal code. */ - public Builder setPostalCode(String postalCode) { - this.postalCode = postalCode; - return this; - } + /** + * ID of a payment method that’s attached to the customer, to be used as the customer’s + * default payment method for invoices and subscriptions. + */ + public Builder setDefaultPaymentMethod(EmptyParam defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + return this; + } - /** ZIP or postal code. */ - public Builder setPostalCode(EmptyParam postalCode) { - this.postalCode = postalCode; - return this; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** State, county, province, or region. */ - public Builder setState(String state) { - this.state = state; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer.Billing#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - /** State, county, province, or region. */ - public Builder setState(EmptyParam state) { - this.state = state; - return this; - } + /** Default settings used on invoices for this customer. */ + public Builder setInvoice( + AccountUpdateParams.Configuration.Customer.Billing.Invoice invoice) { + this.invoice = invoice; + return this; } } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Merchant { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; - - /** Settings used for Bacs debit payments. */ - @SerializedName("bacs_debit_payments") - BacsDebitPayments bacsDebitPayments; - /** - * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and - * other products. - */ - @SerializedName("branding") - Branding branding; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Invoice { + /** + * The list of up to 4 default custom fields to be displayed on invoices for this + * customer. + */ + @SerializedName("custom_fields") + List customFields; - /** Capabilities to request on the Merchant 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; - /** Card payments settings. */ - @SerializedName("card_payments") - CardPayments cardPayments; + /** Default footer to be displayed on invoices for this customer. */ + @SerializedName("footer") + Object footer; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 sequence to be used on the customer's next invoice. Defaults to 1. */ + @SerializedName("next_sequence") + Long nextSequence; - /** - * 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; + /** + * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + * uppercase letters or numbers. + */ + @SerializedName("prefix") + Object prefix; - /** Statement descriptor. */ - @SerializedName("statement_descriptor") - StatementDescriptor statementDescriptor; + /** Default options for invoice PDF rendering for this customer. */ + @SerializedName("rendering") + Rendering rendering; - /** Publicly available contact information for sending support issues to. */ - @SerializedName("support") - Support support; + private Invoice( + List + customFields, + Map extraParams, + Object footer, + Long nextSequence, + Object prefix, + Rendering rendering) { + this.customFields = customFields; + this.extraParams = extraParams; + this.footer = footer; + this.nextSequence = nextSequence; + this.prefix = prefix; + this.rendering = rendering; + } - 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; - } + public static Builder builder() { + return new Builder(); + } - public static Builder builder() { - return new Builder(); - } + public static class Builder { + private List + customFields; - public static class Builder { - private Boolean applied; + private Map extraParams; - private BacsDebitPayments bacsDebitPayments; + private Object footer; - private Branding branding; + private Long nextSequence; - private Capabilities capabilities; + private Object prefix; - private CardPayments cardPayments; + private Rendering rendering; - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Billing.Invoice build() { + return new AccountUpdateParams.Configuration.Customer.Billing.Invoice( + this.customFields, + this.extraParams, + this.footer, + this.nextSequence, + this.prefix, + this.rendering); + } - private Object mcc; + /** + * Add an element to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. + */ + public Builder addCustomField( + AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField element) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.add(element); + return this; + } - private StatementDescriptor statementDescriptor; + /** + * Add all elements to `customFields` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice#customFields} for the + * field documentation. + */ + public Builder addAllCustomField( + List + elements) { + if (this.customFields == null) { + this.customFields = new ArrayList<>(); + } + this.customFields.addAll(elements); + return this; + } - 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.Customer.Billing.Invoice#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Default footer to be displayed on invoices for this customer. */ + public Builder setFooter(String footer) { + this.footer = footer; + return this; + } + + /** Default footer to be displayed on invoices for this customer. */ + public Builder setFooter(EmptyParam footer) { + this.footer = footer; + return this; + } + + /** The sequence to be used on the customer's next invoice. Defaults to 1. */ + public Builder setNextSequence(Long nextSequence) { + this.nextSequence = nextSequence; + return this; + } + + /** + * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + * uppercase letters or numbers. + */ + public Builder setPrefix(String prefix) { + this.prefix = prefix; + return this; + } + + /** + * The prefix for the customer used to generate unique invoice numbers. Must be 3–12 + * uppercase letters or numbers. + */ + public Builder setPrefix(EmptyParam prefix) { + this.prefix = prefix; + return this; + } + + /** Default options for invoice PDF rendering for this customer. */ + public Builder setRendering( + AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering rendering) { + this.rendering = rendering; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CustomField { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 name of the custom field. This may be up to 40 + * characters. + */ + @SerializedName("name") + Object name; + + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined values. + */ + @SerializedName("value") + Object value; + + private CustomField(Map extraParams, Object name, Object value) { + this.extraParams = extraParams; + this.name = name; + this.value = value; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object name; + + private Object value; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField + build() { + return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField( + this.extraParams, this.name, this.value); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.CustomField#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** + * Required. The name of the custom field. This may be up to 40 + * characters. + */ + public Builder setName(EmptyParam name) { + this.name = name; + return this; + } + + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined + * values. + */ + public Builder setValue(String value) { + this.value = value; + return this; + } + + /** + * Required. The value of the custom field. This may be up to 140 + * characters. When updating, pass an empty string to remove previously-defined + * values. + */ + public Builder setValue(EmptyParam value) { + this.value = value; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Rendering { + /** + * How line-item prices and amounts will be displayed with respect to tax on invoice + * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will include + * inclusive tax (and exclude exclusive tax) in invoice PDF amounts. exclude_tax will + * exclude all tax (inclusive and exclusive alike) from invoice PDF amounts. + */ + @SerializedName("amount_tax_display") + AmountTaxDisplay amountTaxDisplay; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** ID of the invoice rendering template to use for future invoices. */ + @SerializedName("template") + Object template; + + private Rendering( + AmountTaxDisplay amountTaxDisplay, + Map extraParams, + Object template) { + this.amountTaxDisplay = amountTaxDisplay; + this.extraParams = extraParams; + this.template = template; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AmountTaxDisplay amountTaxDisplay; + + private Map extraParams; + + private Object template; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering build() { + return new AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering( + this.amountTaxDisplay, this.extraParams, this.template); + } + + /** + * How line-item prices and amounts will be displayed with respect to tax on invoice + * PDFs. One of exclude_tax or include_inclusive_tax. include_inclusive_tax will + * include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. + * exclude_tax will exclude all tax (inclusive and exclusive alike) from invoice PDF + * amounts. + */ + public Builder setAmountTaxDisplay( + AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering + .AmountTaxDisplay + amountTaxDisplay) { + this.amountTaxDisplay = amountTaxDisplay; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Billing.Invoice.Rendering#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** ID of the invoice rendering template to use for future invoices. */ + public Builder setTemplate(String template) { + this.template = template; + return this; + } + + /** ID of the invoice rendering template to use for future invoices. */ + public Builder setTemplate(EmptyParam template) { + this.template = template; + return this; + } + } + + public enum AmountTaxDisplay implements ApiRequestParams.EnumParam { + @SerializedName("exclude_tax") + EXCLUDE_TAX("exclude_tax"), + + @SerializedName("include_inclusive_tax") + INCLUDE_INCLUSIVE_TAX("include_inclusive_tax"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + AmountTaxDisplay(String value) { + this.value = value; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** + * Generates requirements for enabling automatic indirect tax calculation on this customer's + * invoices or subscriptions. Recommended to request this capability if planning to enable + * automatic tax calculation on this customer's invoices or subscriptions. Uses the {@code + * location_source} field. + */ + @SerializedName("automatic_indirect_tax") + AutomaticIndirectTax automaticIndirectTax; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Capabilities( + AutomaticIndirectTax automaticIndirectTax, Map extraParams) { + this.automaticIndirectTax = automaticIndirectTax; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private AutomaticIndirectTax automaticIndirectTax; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Capabilities build() { + return new AccountUpdateParams.Configuration.Customer.Capabilities( + this.automaticIndirectTax, this.extraParams); + } + + /** + * Generates requirements for enabling automatic indirect tax calculation on this + * customer's invoices or subscriptions. Recommended to request this capability if + * planning to enable automatic tax calculation on this customer's invoices or + * subscriptions. Uses the {@code location_source} field. + */ + public Builder setAutomaticIndirectTax( + AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + automaticIndirectTax) { + this.automaticIndirectTax = automaticIndirectTax; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AutomaticIndirectTax { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private AutomaticIndirectTax(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax + build() { + return new AccountUpdateParams.Configuration.Customer.Capabilities + .AutomaticIndirectTax(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Capabilities.AutomaticIndirectTax#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Shipping { + /** Customer shipping address. */ + @SerializedName("address") + Address address; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Customer name. */ + @SerializedName("name") + Object name; + + /** Customer phone (including extension). */ + @SerializedName("phone") + Object phone; + + private Shipping( + Address address, Map extraParams, Object name, Object phone) { + this.address = address; + this.extraParams = extraParams; + this.name = name; + this.phone = phone; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Address address; + + private Map extraParams; + + private Object name; + + private Object phone; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Shipping build() { + return new AccountUpdateParams.Configuration.Customer.Shipping( + this.address, this.extraParams, this.name, this.phone); + } + + /** Customer shipping address. */ + public Builder setAddress( + AccountUpdateParams.Configuration.Customer.Shipping.Address address) { + this.address = address; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Customer.Shipping#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Customer name. */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** Customer name. */ + public Builder setName(EmptyParam name) { + this.name = name; + return this; + } + + /** Customer phone (including extension). */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } + + /** Customer phone (including extension). */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; + + /** + * 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; + + /** 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; + + private Address( + Object city, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state) { + this.city = city; + this.country = country; + this.extraParams = extraParams; + this.line1 = line1; + this.line2 = line2; + this.postalCode = postalCode; + this.state = state; + } + + 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; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Customer.Shipping.Address build() { + return new AccountUpdateParams.Configuration.Customer.Shipping.Address( + this.city, + this.country, + this.extraParams, + this.line1, + this.line2, + this.postalCode, + this.state); + } + + /** 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(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 + * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Customer.Shipping.Address#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** 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; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Merchant { + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + @SerializedName("applied") + Boolean applied; + + /** Settings used for Bacs debit payments. */ + @SerializedName("bacs_debit_payments") + BacsDebitPayments bacsDebitPayments; + + /** + * Settings used to apply the merchant's branding to email receipts, invoices, Checkout, and + * other products. + */ + @SerializedName("branding") + Branding branding; + + /** Capabilities to request on the Merchant Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** Card payments settings. */ + @SerializedName("card_payments") + CardPayments cardPayments; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The merchant category code for the merchant. MCCs are used to classify businesses based on + * the goods or services they provide. + */ + @SerializedName("mcc") + Object mcc; + + /** Statement descriptor. */ + @SerializedName("statement_descriptor") + StatementDescriptor statementDescriptor; + + /** Publicly available contact information for sending support issues to. */ + @SerializedName("support") + Support support; + + 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; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Boolean applied; + + private BacsDebitPayments bacsDebitPayments; + + private Branding branding; + + private Capabilities capabilities; + + private CardPayments cardPayments; + + private Map extraParams; + + private Object mcc; + + private StatementDescriptor statementDescriptor; + + private Support support; /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Configuration.Merchant build() { @@ -2771,329 +3857,656 @@ public Builder setAmazonPayPayments( return this; } - /** Allow the merchant to process Australian BECS Direct Debit payments. */ - public Builder setAuBecsDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments - auBecsDebitPayments) { - this.auBecsDebitPayments = auBecsDebitPayments; + /** 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 BACS Direct Debit payments. */ - public Builder setBacsDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments - bacsDebitPayments) { - this.bacsDebitPayments = bacsDebitPayments; + /** 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 Bancontact payments. */ - public Builder setBancontactPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments - bancontactPayments) { - this.bancontactPayments = bancontactPayments; + /** 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 BLIK payments. */ - public Builder setBlikPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments blikPayments) { - this.blikPayments = blikPayments; + /** 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 Boleto payments. */ - public Builder setBoletoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments - boletoPayments) { - this.boletoPayments = boletoPayments; + /** 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 collect card payments. */ - public Builder setCardPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments cardPayments) { - this.cardPayments = cardPayments; + /** 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 Cartes Bancaires payments. */ - public Builder setCartesBancairesPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments - cartesBancairesPayments) { - this.cartesBancairesPayments = cartesBancairesPayments; + /** 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 Cash App payments. */ - public Builder setCashappPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments - cashappPayments) { - this.cashappPayments = cashappPayments; + /** 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 EPS payments. */ - public Builder setEpsPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments epsPayments) { - this.epsPayments = epsPayments; + /** 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 { /** - * Add a key/value pair to `extraParams` map. A map is initialized 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. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized 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.Configuration.Merchant.Capabilities#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; - /** Allow the merchant to process FPX payments. */ - public Builder setFpxPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments fpxPayments) { - this.fpxPayments = fpxPayments; - return this; + private AchDebitPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Allow the merchant to process UK bank transfer payments. */ - public Builder setGbBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments - gbBankTransferPayments) { - this.gbBankTransferPayments = gbBankTransferPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** Allow the merchant to process GrabPay payments. */ - public Builder setGrabpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments - grabpayPayments) { - this.grabpayPayments = grabpayPayments; - return this; - } + public static class Builder { + private Map extraParams; - /** Allow the merchant to process iDEAL payments. */ - public Builder setIdealPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments idealPayments) { - this.idealPayments = idealPayments; - return this; - } + private Boolean requested; - /** Allow the merchant to process JCB card payments. */ - public Builder setJcbPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments jcbPayments) { - this.jcbPayments = jcbPayments; - return this; + /** 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; + } } + } - /** Allow the merchant to process Japanese bank transfer payments. */ - public Builder setJpBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - jpBankTransferPayments) { - this.jpBankTransferPayments = jpBankTransferPayments; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class 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; } - /** Allow the merchant to process Kakao Pay payments. */ - public Builder setKakaoPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - kakaoPayPayments) { - this.kakaoPayPayments = kakaoPayPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** Allow the merchant to process Klarna payments. */ - public Builder setKlarnaPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments - klarnaPayments) { - this.klarnaPayments = klarnaPayments; - return this; - } + 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; + } - /** Allow the merchant to process Konbini convenience store payments. */ - public Builder setKonbiniPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments - konbiniPayments) { - this.konbiniPayments = konbiniPayments; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } - /** Allow the merchant to process Korean card payments. */ - public Builder setKrCardPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments - krCardPayments) { - this.krCardPayments = krCardPayments; - 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; - /** Allow the merchant to process Link payments. */ - public Builder setLinkPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments linkPayments) { - this.linkPayments = linkPayments; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process MobilePay payments. */ - public Builder setMobilepayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments - mobilepayPayments) { - this.mobilepayPayments = mobilepayPayments; - return this; + private AffirmPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Allow the merchant to process Multibanco payments. */ - public Builder setMultibancoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments - multibancoPayments) { - this.multibancoPayments = multibancoPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** Allow the merchant to process Mexican bank transfer payments. */ - public Builder setMxBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments - mxBankTransferPayments) { - this.mxBankTransferPayments = mxBankTransferPayments; - return this; - } + public static class Builder { + private Map extraParams; - /** Allow the merchant to process Naver Pay payments. */ - public Builder setNaverPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments - naverPayPayments) { - this.naverPayPayments = naverPayPayments; - return this; - } + private Boolean requested; - /** Allow the merchant to process OXXO payments. */ - public Builder setOxxoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments oxxoPayments) { - this.oxxoPayments = oxxoPayments; - return this; - } + /** 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); + } - /** Allow the merchant to process Przelewy24 (P24) payments. */ - public Builder setP24Payments( - AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments p24Payments) { - this.p24Payments = p24Payments; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized 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; + } - /** Allow the merchant to process Pay by Bank payments. */ - public Builder setPayByBankPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments - payByBankPayments) { - this.payByBankPayments = payByBankPayments; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized 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; + } - /** Allow the merchant to process PAYCO payments. */ - public Builder setPaycoPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments paycoPayments) { - this.paycoPayments = paycoPayments; - return this; + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } } + } - /** Allow the merchant to process PayNow payments. */ - public Builder setPaynowPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments - paynowPayments) { - this.paynowPayments = paynowPayments; - 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; - /** Allow the merchant to process PromptPay payments. */ - public Builder setPromptpayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments - promptpayPayments) { - this.promptpayPayments = promptpayPayments; - return this; - } + /** + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Allow the merchant to process Revolut Pay payments. */ - public Builder setRevolutPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments - revolutPayPayments) { - this.revolutPayPayments = revolutPayPayments; - return this; + private AfterpayClearpayPayments(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** Allow the merchant to process Samsung Pay payments. */ - public Builder setSamsungPayPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments - samsungPayPayments) { - this.samsungPayPayments = samsungPayPayments; - return this; + public static Builder builder() { + return new Builder(); } - /** Allow the merchant to process SEPA bank transfer payments. */ - public Builder setSepaBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments - sepaBankTransferPayments) { - this.sepaBankTransferPayments = sepaBankTransferPayments; - return this; - } + public static class Builder { + private Map extraParams; - /** Allow the merchant to process SEPA Direct Debit payments. */ - public Builder setSepaDebitPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments - sepaDebitPayments) { - this.sepaDebitPayments = sepaDebitPayments; - return this; - } + private Boolean requested; - /** Allow the merchant to process Swish payments. */ - public Builder setSwishPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { - this.swishPayments = swishPayments; - return this; - } + /** 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); + } - /** Allow the merchant to process TWINT payments. */ - public Builder setTwintPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments twintPayments) { - this.twintPayments = twintPayments; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized 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; + } - /** Allow the merchant to process US bank transfer payments. */ - public Builder setUsBankTransferPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments - usBankTransferPayments) { - this.usBankTransferPayments = usBankTransferPayments; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized 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; + } - /** Allow the merchant to process Zip payments. */ - public Builder setZipPayments( - AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments zipPayments) { - this.zipPayments = zipPayments; - 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 AchDebitPayments { + 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. @@ -3111,7 +4524,7 @@ public static class AchDebitPayments { @SerializedName("requested") Boolean requested; - private AchDebitPayments(Map extraParams, Boolean requested) { + private AlmaPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3126,9 +4539,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments( this.extraParams, this.requested); } @@ -3136,8 +4548,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3151,8 +4563,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AchDebitPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3175,7 +4587,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AcssDebitPayments { + 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. @@ -3193,7 +4605,7 @@ public static class AcssDebitPayments { @SerializedName("requested") Boolean requested; - private AcssDebitPayments(Map extraParams, Boolean requested) { + private AmazonPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3208,9 +4620,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments( + return new AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments( this.extraParams, this.requested); } @@ -3218,7 +4630,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3233,7 +4645,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AcssDebitPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3257,7 +4669,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AffirmPayments { + 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. @@ -3275,7 +4687,7 @@ public static class AffirmPayments { @SerializedName("requested") Boolean requested; - private AffirmPayments(Map extraParams, Boolean requested) { + private AuBecsDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3290,16 +4702,17 @@ public static class Builder { 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); + 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.AffirmPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3314,7 +4727,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AffirmPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3338,7 +4751,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AfterpayClearpayPayments { + 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. @@ -3356,7 +4769,7 @@ public static class AfterpayClearpayPayments { @SerializedName("requested") Boolean requested; - private AfterpayClearpayPayments(Map extraParams, Boolean requested) { + private BacsDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3371,17 +4784,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .AfterpayClearpayPayments(this.extraParams, this.requested); + 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.AfterpayClearpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3396,7 +4809,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AfterpayClearpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3420,7 +4833,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AlmaPayments { + 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. @@ -3438,7 +4851,7 @@ public static class AlmaPayments { @SerializedName("requested") Boolean requested; - private AlmaPayments(Map extraParams, Boolean requested) { + private BancontactPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3453,8 +4866,9 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments( this.extraParams, this.requested); } @@ -3462,8 +4876,8 @@ public AccountUpdateParams.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3477,8 +4891,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AlmaPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3501,7 +4915,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AmazonPayPayments { + 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. @@ -3519,7 +4933,7 @@ public static class AmazonPayPayments { @SerializedName("requested") Boolean requested; - private AmazonPayPayments(Map extraParams, Boolean requested) { + private BlikPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3534,9 +4948,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments( this.extraParams, this.requested); } @@ -3544,8 +4957,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3559,8 +4972,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AmazonPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3583,7 +4996,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class AuBecsDebitPayments { + 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. @@ -3601,7 +5014,7 @@ public static class AuBecsDebitPayments { @SerializedName("requested") Boolean requested; - private AuBecsDebitPayments(Map extraParams, Boolean requested) { + private BoletoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3616,17 +5029,16 @@ public static class Builder { 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); + 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.AuBecsDebitPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3641,7 +5053,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.AuBecsDebitPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3665,7 +5077,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BacsDebitPayments { + 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. @@ -3683,7 +5095,7 @@ public static class BacsDebitPayments { @SerializedName("requested") Boolean requested; - private BacsDebitPayments(Map extraParams, Boolean requested) { + private CardPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3698,9 +5110,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments( this.extraParams, this.requested); } @@ -3708,8 +5119,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#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) { @@ -3723,8 +5134,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BacsDebitPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3747,7 +5158,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BancontactPayments { + 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. @@ -3765,7 +5176,7 @@ public static class BancontactPayments { @SerializedName("requested") Boolean requested; - private BancontactPayments(Map extraParams, Boolean requested) { + private CartesBancairesPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3780,17 +5191,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments( - this.extraParams, this.requested); + 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.BancontactPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3805,7 +5216,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BancontactPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3829,7 +5240,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BlikPayments { + 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. @@ -3847,7 +5258,7 @@ public static class BlikPayments { @SerializedName("requested") Boolean requested; - private BlikPayments(Map extraParams, Boolean requested) { + private CashappPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3862,8 +5273,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments( this.extraParams, this.requested); } @@ -3871,8 +5282,8 @@ public AccountUpdateParams.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3886,8 +5297,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BlikPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3910,7 +5321,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class BoletoPayments { + 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. @@ -3928,7 +5339,7 @@ public static class BoletoPayments { @SerializedName("requested") Boolean requested; - private BoletoPayments(Map extraParams, Boolean requested) { + private EpsPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -3943,8 +5354,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments( this.extraParams, this.requested); } @@ -3952,8 +5363,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments bu * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} - * 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) { @@ -3967,8 +5378,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.BoletoPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -3991,7 +5402,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CardPayments { + 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. @@ -4009,7 +5420,7 @@ public static class CardPayments { @SerializedName("requested") Boolean requested; - private CardPayments(Map extraParams, Boolean requested) { + private FpxPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4024,8 +5435,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments( this.extraParams, this.requested); } @@ -4033,7 +5444,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments buil * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4048,7 +5459,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CardPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4072,7 +5483,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CartesBancairesPayments { + 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. @@ -4090,7 +5501,7 @@ public static class CartesBancairesPayments { @SerializedName("requested") Boolean requested; - private CartesBancairesPayments(Map extraParams, Boolean requested) { + private GbBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4105,17 +5516,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments build() { return new AccountUpdateParams.Configuration.Merchant.Capabilities - .CartesBancairesPayments(this.extraParams, this.requested); + .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.CartesBancairesPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4130,7 +5541,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CartesBancairesPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4154,7 +5565,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CashappPayments { + 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. @@ -4172,7 +5583,7 @@ public static class CashappPayments { @SerializedName("requested") Boolean requested; - private CashappPayments(Map extraParams, Boolean requested) { + private GrabpayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4187,8 +5598,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments( this.extraParams, this.requested); } @@ -4196,7 +5607,7 @@ public AccountUpdateParams.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4211,7 +5622,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.CashappPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4235,7 +5646,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class EpsPayments { + 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. @@ -4253,7 +5664,7 @@ public static class EpsPayments { @SerializedName("requested") Boolean requested; - private EpsPayments(Map extraParams, Boolean requested) { + private IdealPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4268,8 +5679,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments( this.extraParams, this.requested); } @@ -4277,8 +5688,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4292,8 +5703,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.EpsPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4316,7 +5727,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FpxPayments { + 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. @@ -4334,7 +5745,7 @@ public static class FpxPayments { @SerializedName("requested") Boolean requested; - private FpxPayments(Map extraParams, Boolean requested) { + private JcbPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4349,8 +5760,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments( this.extraParams, this.requested); } @@ -4358,7 +5769,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for * the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4373,7 +5784,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.FpxPayments#extraParams} for + * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for * the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4397,7 +5808,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GbBankTransferPayments { + 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. @@ -4415,7 +5826,7 @@ public static class GbBankTransferPayments { @SerializedName("requested") Boolean requested; - private GbBankTransferPayments(Map extraParams, Boolean requested) { + private JpBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4430,17 +5841,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments build() { return new AccountUpdateParams.Configuration.Merchant.Capabilities - .GbBankTransferPayments(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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4455,7 +5866,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GbBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4479,7 +5890,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class GrabpayPayments { + 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. @@ -4497,7 +5908,7 @@ public static class GrabpayPayments { @SerializedName("requested") Boolean requested; - private GrabpayPayments(Map extraParams, Boolean requested) { + private KakaoPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4512,8 +5923,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( this.extraParams, this.requested); } @@ -4521,7 +5933,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments b * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4536,7 +5948,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.GrabpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4560,7 +5972,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class IdealPayments { + 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. @@ -4578,7 +5990,7 @@ public static class IdealPayments { @SerializedName("requested") Boolean requested; - private IdealPayments(Map extraParams, Boolean requested) { + private KlarnaPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4593,8 +6005,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments( this.extraParams, this.requested); } @@ -4602,7 +6014,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4617,7 +6029,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.IdealPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4641,7 +6053,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JcbPayments { + 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. @@ -4659,7 +6071,7 @@ public static class JcbPayments { @SerializedName("requested") Boolean requested; - private JcbPayments(Map extraParams, Boolean requested) { + private KonbiniPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4674,8 +6086,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments( this.extraParams, this.requested); } @@ -4683,8 +6095,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4698,8 +6110,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JcbPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4722,7 +6134,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class JpBankTransferPayments { + 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. @@ -4740,7 +6152,7 @@ public static class JpBankTransferPayments { @SerializedName("requested") Boolean requested; - private JpBankTransferPayments(Map extraParams, Boolean requested) { + private KrCardPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4755,17 +6167,16 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .JpBankTransferPayments(this.extraParams, this.requested); + public AccountUpdateParams.Configuration.Merchant.Capabilities.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.JpBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4780,7 +6191,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.JpBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4804,7 +6215,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KakaoPayPayments { + 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. @@ -4822,7 +6233,7 @@ public static class KakaoPayPayments { @SerializedName("requested") Boolean requested; - private KakaoPayPayments(Map extraParams, Boolean requested) { + private LinkPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4837,9 +6248,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments( this.extraParams, this.requested); } @@ -4847,8 +6257,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -4862,8 +6272,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KakaoPayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -4886,7 +6296,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KlarnaPayments { + 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. @@ -4904,7 +6314,7 @@ public static class KlarnaPayments { @SerializedName("requested") Boolean requested; - private KlarnaPayments(Map extraParams, Boolean requested) { + private MobilepayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -4919,8 +6329,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments( this.extraParams, this.requested); } @@ -4928,7 +6339,7 @@ public AccountUpdateParams.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 - * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -4943,7 +6354,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KlarnaPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -4967,7 +6378,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KonbiniPayments { + 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. @@ -4985,7 +6396,7 @@ public static class KonbiniPayments { @SerializedName("requested") Boolean requested; - private KonbiniPayments(Map extraParams, Boolean requested) { + private MultibancoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5000,8 +6411,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments( this.extraParams, this.requested); } @@ -5009,7 +6421,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments b * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5024,7 +6436,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KonbiniPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5048,7 +6460,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class KrCardPayments { + 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. @@ -5066,7 +6478,7 @@ public static class KrCardPayments { @SerializedName("requested") Boolean requested; - private KrCardPayments(Map extraParams, Boolean requested) { + private MxBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5081,16 +6493,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments( - this.extraParams, this.requested); + 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.KrCardPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5105,7 +6518,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.KrCardPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5129,7 +6542,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class LinkPayments { + 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. @@ -5147,7 +6560,7 @@ public static class LinkPayments { @SerializedName("requested") Boolean requested; - private LinkPayments(Map extraParams, Boolean requested) { + private NaverPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5162,8 +6575,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments( this.extraParams, this.requested); } @@ -5171,8 +6585,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments buil * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5186,8 +6600,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.LinkPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5210,7 +6624,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class MobilepayPayments { + 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. @@ -5228,7 +6642,7 @@ public static class MobilepayPayments { @SerializedName("requested") Boolean requested; - private MobilepayPayments(Map extraParams, Boolean requested) { + private OxxoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5243,9 +6657,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments( this.extraParams, this.requested); } @@ -5253,8 +6666,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5268,8 +6681,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MobilepayPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5292,7 +6705,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class MultibancoPayments { + 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. @@ -5310,7 +6723,7 @@ public static class MultibancoPayments { @SerializedName("requested") Boolean requested; - private MultibancoPayments(Map extraParams, Boolean requested) { + private P24Payments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5325,9 +6738,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments( this.extraParams, this.requested); } @@ -5335,8 +6747,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5350,8 +6762,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MultibancoPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5374,7 +6786,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class MxBankTransferPayments { + 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. @@ -5392,7 +6804,7 @@ public static class MxBankTransferPayments { @SerializedName("requested") Boolean requested; - private MxBankTransferPayments(Map extraParams, Boolean requested) { + private PayByBankPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5407,17 +6819,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .MxBankTransferPayments(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments( + this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5432,7 +6844,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.MxBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5456,7 +6868,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class NaverPayPayments { + 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. @@ -5474,7 +6886,7 @@ public static class NaverPayPayments { @SerializedName("requested") Boolean requested; - private NaverPayPayments(Map extraParams, Boolean requested) { + private PaycoPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5489,9 +6901,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments( this.extraParams, this.requested); } @@ -5499,7 +6910,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5514,7 +6925,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.NaverPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5538,7 +6949,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class OxxoPayments { + 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. @@ -5556,7 +6967,7 @@ public static class OxxoPayments { @SerializedName("requested") Boolean requested; - private OxxoPayments(Map extraParams, Boolean requested) { + private PaynowPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5571,8 +6982,8 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments( this.extraParams, this.requested); } @@ -5580,8 +6991,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments buil * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5595,8 +7006,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.OxxoPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5619,7 +7030,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class P24Payments { + 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. @@ -5637,7 +7048,7 @@ public static class P24Payments { @SerializedName("requested") Boolean requested; - private P24Payments(Map extraParams, Boolean requested) { + private PromptpayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5652,8 +7063,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments( this.extraParams, this.requested); } @@ -5661,8 +7073,8 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments build * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5676,8 +7088,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.P24Payments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5700,7 +7112,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PayByBankPayments { + 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. @@ -5718,7 +7130,7 @@ public static class PayByBankPayments { @SerializedName("requested") Boolean requested; - private PayByBankPayments(Map extraParams, Boolean requested) { + private RevolutPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5733,9 +7145,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments( + return new AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments( this.extraParams, this.requested); } @@ -5743,7 +7155,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5758,7 +7170,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PayByBankPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5782,7 +7194,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PaycoPayments { + 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. @@ -5800,7 +7212,7 @@ public static class PaycoPayments { @SerializedName("requested") Boolean requested; - private PaycoPayments(Map extraParams, Boolean requested) { + private SamsungPayPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5815,8 +7227,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments( + public AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments( this.extraParams, this.requested); } @@ -5824,7 +7237,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments bui * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5839,7 +7252,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaycoPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5863,7 +7276,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PaynowPayments { + 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. @@ -5881,7 +7294,7 @@ public static class PaynowPayments { @SerializedName("requested") Boolean requested; - private PaynowPayments(Map extraParams, Boolean requested) { + private SepaBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5896,16 +7309,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments( - this.extraParams, this.requested); + 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.PaynowPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5920,7 +7334,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PaynowPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5944,7 +7358,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class PromptpayPayments { + 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. @@ -5962,7 +7376,7 @@ public static class PromptpayPayments { @SerializedName("requested") Boolean requested; - private PromptpayPayments(Map extraParams, Boolean requested) { + private SepaDebitPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -5977,9 +7391,9 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments( + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments( this.extraParams, this.requested); } @@ -5987,7 +7401,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6002,7 +7416,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.PromptpayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6026,7 +7440,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class RevolutPayPayments { + 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. @@ -6044,7 +7458,7 @@ public static class RevolutPayPayments { @SerializedName("requested") Boolean requested; - private RevolutPayPayments(Map extraParams, Boolean requested) { + private SwishPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6059,9 +7473,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments( this.extraParams, this.requested); } @@ -6069,7 +7482,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6084,7 +7497,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.RevolutPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6108,7 +7521,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SamsungPayPayments { + 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. @@ -6126,7 +7539,7 @@ public static class SamsungPayPayments { @SerializedName("requested") Boolean requested; - private SamsungPayPayments(Map extraParams, Boolean requested) { + private TwintPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6141,9 +7554,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments( this.extraParams, this.requested); } @@ -6151,7 +7563,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6166,7 +7578,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SamsungPayPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.TwintPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6190,7 +7602,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SepaBankTransferPayments { + 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. @@ -6208,7 +7620,7 @@ public static class SepaBankTransferPayments { @SerializedName("requested") Boolean requested; - private SepaBankTransferPayments(Map extraParams, Boolean requested) { + private UsBankTransferPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6223,17 +7635,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments + public AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments build() { return new AccountUpdateParams.Configuration.Merchant.Capabilities - .SepaBankTransferPayments(this.extraParams, this.requested); + .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.SepaBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6248,7 +7660,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaBankTransferPayments#extraParams} + * AccountUpdateParams.Configuration.Merchant.Capabilities.UsBankTransferPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6272,7 +7684,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class SepaDebitPayments { + 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. @@ -6290,7 +7702,7 @@ public static class SepaDebitPayments { @SerializedName("requested") Boolean requested; - private SepaDebitPayments(Map extraParams, Boolean requested) { + private ZipPayments(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -6305,9 +7717,8 @@ public static class Builder { 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( + public AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments( this.extraParams, this.requested); } @@ -6315,8 +7726,8 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6330,8 +7741,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SepaDebitPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6351,10 +7762,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 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 SwishPayments { + 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. @@ -6365,16 +7871,11 @@ public static class SwishPayments { @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) { + private DeclineOn( + Boolean avsFailure, Boolean cvcFailure, Map extraParams) { + this.avsFailure = avsFailure; + this.cvcFailure = cvcFailure; this.extraParams = extraParams; - this.requested = requested; } public static Builder builder() { @@ -6382,22 +7883,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 AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments( - this.extraParams, this.requested); + 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.Capabilities.SwishPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6411,8 +7933,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments#extraParams} - * for the field documentation. + * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6421,102 +7943,305 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + } + } + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class 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; } - } - @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. + * Add all map key/value pairs to `extraParams` map. A map is 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. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * 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; + } /** - * 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 AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the + * field documentation. */ - @SerializedName("requested") - Boolean requested; - - private TwintPayments(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; + 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.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; } - 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); - } + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(String phone) { + this.phone = phone; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized 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; - } + /** A publicly available phone number to call with support issues. */ + public Builder setPhone(EmptyParam phone) { + this.phone = phone; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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; - } + /** A publicly available website for handling support issues. */ + public Builder setUrl(String url) { + this.url = url; + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + /** 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 UsBankTransferPayments { + public static class Address { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + Object city; + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + Object country; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -6527,16 +8252,43 @@ public static class UsBankTransferPayments { @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; + /** Address line 1 (e.g., street, PO Box, or company name). */ + @SerializedName("line1") + Object line1; - private UsBankTransferPayments(Map extraParams, Boolean requested) { + /** 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, + Object country, + Map extraParams, + Object line1, + Object line2, + Object postalCode, + Object state, + Object 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() { @@ -6544,104 +8296,71 @@ public static Builder builder() { } public static class Builder { + private Object city; + + private Object country; + private Map extraParams; - private Boolean requested; + 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.Capabilities.UsBankTransferPayments - build() { - return new AccountUpdateParams.Configuration.Merchant.Capabilities - .UsBankTransferPayments(this.extraParams, this.requested); + 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); } - /** - * Add a key/value pair to `extraParams` map. A map is initialized 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); + /** 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 - * 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); + /** City, district, suburb, town, or village. */ + public Builder setCity(EmptyParam city) { + this.city = city; return this; } /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. + * Two-letter country code (ISO 3166-1 alpha-2). */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setCountry(String country) { + this.country = country; return this; } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class 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); + /** + * 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.Capabilities.ZipPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -6655,8 +8374,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Capabilities.ZipPayments#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6666,27 +8385,219 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** 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; } } } } + } + + @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. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + @SerializedName("default_outbound_destination") + Object defaultOutboundDestination; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + 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); + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CardPayments { /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. */ - @SerializedName("decline_on") - DeclineOn declineOn; + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } + + /** Capabilities to request on the Recipient Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + public Builder setDefaultOutboundDestination(String defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + return this; + } + + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + public Builder setDefaultOutboundDestination(EmptyParam defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ + @SerializedName("cards") + Cards cards; + + /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; /** * Map of extra parameters for custom features not available in this client library. The @@ -6698,40 +8609,76 @@ public static class CardPayments { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private CardPayments(DeclineOn declineOn, Map extraParams) { - this.declineOn = declineOn; + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_balance") + StripeBalance stripeBalance; + + private Capabilities( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; this.extraParams = extraParams; + this.stripeBalance = stripeBalance; } public static Builder builder() { return new Builder(); } - public static class Builder { - private DeclineOn declineOn; + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; private Map extraParams; + private StripeBalance stripeBalance; + /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.CardPayments build() { - return new AccountUpdateParams.Configuration.Merchant.CardPayments( - this.declineOn, this.extraParams); + public AccountUpdateParams.Configuration.Recipient.Capabilities build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.stripeBalance); + } + + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ + public Builder setCards( + AccountUpdateParams.Configuration.Recipient.Capabilities.Cards cards) { + this.cards = cards; + return this; } /** - * Automatically declines certain charge types regardless of whether the card issuer - * accepted or declined the charge. + * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ - public Builder setDeclineOn( - AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn declineOn) { - this.declineOn = declineOn; + public Builder setCryptoWallets( + AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6745,7 +8692,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.CardPayments#extraParams} + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6755,26 +8702,21 @@ public Builder putAllExtraParam(Map map) { 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. + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("cvc_failure") - Boolean cvcFailure; + 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. @@ -6785,11 +8727,21 @@ public static class DeclineOn { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private DeclineOn( - Boolean avsFailure, Boolean cvcFailure, Map extraParams) { - this.avsFailure = avsFailure; - this.cvcFailure = cvcFailure; + /** + * 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() { @@ -6797,43 +8749,24 @@ public static Builder 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); - } + private Local local; - /** - * 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; - } + private Wire wire; - /** - * 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; + /** 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.Merchant.CardPayments.DeclineOn#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) { @@ -6847,8 +8780,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.CardPayments.DeclineOn#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -6857,305 +8790,276 @@ public Builder putAllExtraParam(Map map) { 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<>(); + /** + * 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; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is 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<>(); + /** + * 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; } - this.extraParams.putAll(map); - return this; } - /** - * Default text that appears on statements for card charges outside of Japan, prefixing - * any dynamic statement_descriptor_suffix specified on the charge. To maximize space for - * the dynamic part of the descriptor, keep this text short. If you don’t specify this - * value, statement_descriptor is used as the prefix. For more information about statement - * descriptors and their requirements, see the Merchant Configuration settings - * documentation. - */ - public Builder setPrefix(String prefix) { - this.prefix = prefix; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class 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; - /** - * 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; - } - } - } + /** + * To 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 Support { - /** A publicly available mailing address for sending support issues to. */ - @SerializedName("address") - Address address; + private Local(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** A publicly available email address for sending support issues to. */ - @SerializedName("email") - Object email; + public static Builder builder() { + return new Builder(); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public static class Builder { + private Map extraParams; - /** A publicly available phone number to call with support issues. */ - @SerializedName("phone") - Object phone; + private Boolean requested; - /** A publicly available website for handling support issues. */ - @SerializedName("url") - Object url; + /** 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); + } - 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; - } + /** + * Add a key/value pair to `extraParams` map. A map 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; + } - 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.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; + } - public static class Builder { - private Address address; + /** + * To request a new Capability for an 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 email; + @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; - 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 phone; + private Wire(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Object url; + public static Builder builder() { + return new Builder(); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Support build() { - return new AccountUpdateParams.Configuration.Merchant.Support( - this.address, this.email, this.extraParams, this.phone, this.url); - } + public static class Builder { + private Map extraParams; - /** A publicly available mailing address for sending support issues to. */ - public Builder setAddress( - AccountUpdateParams.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 AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire(this.extraParams, this.requested); + } - /** 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.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 a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Merchant.Support#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map 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; + } } - this.extraParams.put(key, value); - 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; /** - * Add all map key/value pairs to `extraParams` map. A map is 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. + * 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; - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(String phone) { - this.phone = phone; - return this; + private Cards(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; } - /** A publicly available phone number to call with support issues. */ - public Builder setPhone(EmptyParam phone) { - this.phone = phone; - return this; + public static Builder builder() { + return new Builder(); } - /** A publicly available website for handling support issues. */ - public Builder setUrl(String url) { - this.url = url; - return this; - } + public static class Builder { + private Map extraParams; - /** A publicly available website for handling support issues. */ - public Builder setUrl(EmptyParam url) { - this.url = url; - return this; + 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 Address { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - Object city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - Object country; - + public static class CryptoWallets { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7166,43 +9070,16 @@ public static class Address { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Address line 1 (e.g., street, PO Box, or company name). */ - @SerializedName("line1") - Object line1; - - /** Address line 2 (e.g., apartment, suite, unit, or building). */ - @SerializedName("line2") - Object line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - Object postalCode; - - /** State, county, province, or region. */ - @SerializedName("state") - Object state; - - /** Town or 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 Address( - Object city, - Object country, - Map extraParams, - Object line1, - Object line2, - Object postalCode, - Object state, - Object town) { - this.city = city; - this.country = country; + private CryptoWallets(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() { @@ -7210,71 +9087,102 @@ public static Builder builder() { } public static class Builder { - private Object city; - - private Object country; - private Map extraParams; - private Object line1; - - private Object line2; - - private Object postalCode; - - private Object state; - - private Object town; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Merchant.Support.Address build() { - return new AccountUpdateParams.Configuration.Merchant.Support.Address( - this.city, - this.country, - this.extraParams, - this.line1, - this.line2, - this.postalCode, - this.state, - this.town); - } - - /** City, district, suburb, town, or village. */ - public Builder setCity(String city) { - this.city = city; - return this; + public AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets( + 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.Recipient.Capabilities.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); return this; } /** - * 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.Recipient.Capabilities.CryptoWallets#extraParams} + * for the field documentation. */ - public Builder setCountry(String country) { - this.country = country; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } /** - * Two-letter country code (ISO 3166-1 alpha-2). + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setCountry(EmptyParam country) { - this.country = country; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class 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.Merchant.Support.Address#extraParams} for the field - * documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7288,8 +9196,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Merchant.Support.Address#extraParams} for the field - * documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7299,64 +9207,98 @@ 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; + /** + * 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; } + } - /** 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 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; - /** 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 StripeTransfers(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.Recipient.Capabilities.StripeBalance + .StripeTransfers + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.requested); + } - /** Town or cho-me. */ - public Builder setTown(String town) { - this.town = town; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map 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; + } - /** Town or cho-me. */ - public Builder setTown(EmptyParam town) { - this.town = town; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.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; + } } } } @@ -7365,7 +9307,7 @@ public Builder setTown(EmptyParam town) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Recipient { + public static class Storer { /** * Represents the state of the configuration, and can be updated to deactivate or re-apply a * configuration. @@ -7373,21 +9315,10 @@ public static class Recipient { @SerializedName("applied") Boolean applied; - /** Capabilities to request on the Recipient Configuration. */ + /** Capabilities to request on the Storer 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. For further details about creating an Outbound Destination, see Collect - * recipient's payment details. - */ - @SerializedName("default_outbound_destination") - Object defaultOutboundDestination; - /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7397,14 +9328,9 @@ public static class Recipient { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Recipient( - Boolean applied, - Capabilities capabilities, - Object defaultOutboundDestination, - Map extraParams) { + private Storer(Boolean applied, Capabilities capabilities, Map extraParams) { this.applied = applied; this.capabilities = capabilities; - this.defaultOutboundDestination = defaultOutboundDestination; this.extraParams = extraParams; } @@ -7417,14 +9343,12 @@ public static class Builder { 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); + public AccountUpdateParams.Configuration.Storer build() { + return new AccountUpdateParams.Configuration.Storer( + this.applied, this.capabilities, this.extraParams); } /** @@ -7436,43 +9360,17 @@ public Builder setApplied(Boolean applied) { return this; } - /** Capabilities to request on the Recipient Configuration. */ + /** Capabilities to request on the Storer Configuration. */ public Builder setCapabilities( - AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { + AccountUpdateParams.Configuration.Storer.Capabilities capabilities) { this.capabilities = capabilities; return this; } - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. For further details about creating an Outbound Destination, see Collect - * recipient's payment details. - */ - public Builder setDefaultOutboundDestination(String defaultOutboundDestination) { - this.defaultOutboundDestination = defaultOutboundDestination; - return this; - } - - /** - * The payout method id to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via - * dashboard. Can also be explicitly set to {@code null} to clear the existing default - * outbound destination. For further details about creating an Outbound Destination, see Collect - * recipient's payment details. - */ - public Builder setDefaultOutboundDestination(EmptyParam defaultOutboundDestination) { - this.defaultOutboundDestination = defaultOutboundDestination; - return this; - } - /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7486,7 +9384,7 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -7501,18 +9399,6 @@ public Builder putAllExtraParam(Map map) { @Getter @EqualsAndHashCode(callSuper = false) public static class Capabilities { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Capability that enable OutboundPayments to a debit card linked to this Account. */ - @SerializedName("cards") - Cards cards; - - /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -7523,21 +9409,39 @@ 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; + /** 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( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, Map extraParams, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; + FinancialAddresses financialAddresses, + HoldsCurrencies holdsCurrencies, + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers) { this.extraParams = extraParams; - this.stripeBalance = stripeBalance; + this.financialAddresses = financialAddresses; + this.holdsCurrencies = holdsCurrencies; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; } public static Builder builder() { @@ -7545,55 +9449,34 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; + private Map extraParams; + + private FinancialAddresses financialAddresses; - private Cards cards; + private HoldsCurrencies holdsCurrencies; - private CryptoWallets cryptoWallets; + private InboundTransfers inboundTransfers; - private Map extraParams; + private OutboundPayments outboundPayments; - private StripeBalance stripeBalance; + private OutboundTransfers outboundTransfers; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities( - this.bankAccounts, - this.cards, - this.cryptoWallets, + public AccountUpdateParams.Configuration.Storer.Capabilities build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities( this.extraParams, - this.stripeBalance); - } - - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Capability that enable OutboundPayments to a debit card linked to this Account. */ - public Builder setCards( - AccountUpdateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; - return this; - } - - /** - * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. - */ - public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; + 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.Recipient.Capabilities#extraParams} - * for the field documentation. + * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -7606,8 +9489,8 @@ public Builder putExtraParam(String key, Object value) { /** * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} - * for the field documentation. + * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -7617,20 +9500,57 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). - */ - public Builder setStripeBalance( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - stripeBalance) { - this.stripeBalance = stripeBalance; + /** 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 BankAccounts { + 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. @@ -7641,21 +9561,9 @@ public static class BankAccounts { @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) { + private FinancialAddresses(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; this.extraParams = extraParams; - this.local = local; - this.wire = wire; } public static Builder builder() { @@ -7663,153 +9571,63 @@ public static Builder builder() { } public static class Builder { - private Map extraParams; - - private Local local; + private BankAccounts bankAccounts; - private Wire wire; + private Map extraParams; /** 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; + public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses( + this.bankAccounts, this.extraParams); } /** - * Enables this Account to receive OutboundPayments to linked bank accounts over wire. + * Can provision a bank-account-like financial address (VBAN) to credit/debit a + * FinancialAccount. */ - public Builder setWire( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { - this.wire = wire; + public Builder setBankAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; 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; + /** + * Add a key/value pair to `extraParams` map. A map 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; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.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 Wire { + 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} @@ -7827,7 +9645,7 @@ public static class Wire { @SerializedName("requested") Boolean requested; - private Wire(Map extraParams, Boolean requested) { + private BankAccounts(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -7842,17 +9660,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + .BankAccounts build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.requested); + 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.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -7867,7 +9686,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -7892,169 +9711,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Cards { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map 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 CryptoWallets { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private CryptoWallets(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - 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.CryptoWallets build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeBalance { + 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. @@ -8065,15 +9722,13 @@ public static class StripeBalance { @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; + /** Can hold storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { + private HoldsCurrencies(Map extraParams, Gbp gbp) { this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; + this.gbp = gbp; } public static Builder builder() { @@ -8083,19 +9738,19 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private StripeTransfers stripeTransfers; + private Gbp gbp; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance( - this.extraParams, this.stripeTransfers); + public AccountUpdateParams.Configuration.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.Recipient.Capabilities.StripeBalance#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8110,7 +9765,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8121,21 +9776,17 @@ public Builder putAllExtraParam(Map 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; + /** 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 StripeTransfers { + 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} @@ -8153,7 +9804,7 @@ public static class StripeTransfers { @SerializedName("requested") Boolean requested; - private StripeTransfers(Map extraParams, Boolean requested) { + private Gbp(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -8168,18 +9819,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers + public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.requested); + 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.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8194,7 +9844,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8216,255 +9866,182 @@ public Builder setRequested(Boolean requested) { } } } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; - - /** 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; - } + @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; - /** Capabilities to request on the Storer Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Storer.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static Builder builder() { + return new Builder(); } - this.extraParams.putAll(map); - return this; - } - } - - @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 BankAccounts bankAccounts; - public static class Builder { - private Map extraParams; + private Map extraParams; - private FinancialAddresses financialAddresses; + /** 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); + } - private HoldsCurrencies holdsCurrencies; + /** + * 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; + } - private InboundTransfers inboundTransfers; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * 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; + } - private OutboundPayments outboundPayments; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * 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; + } + } - private OutboundTransfers outboundTransfers; + @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; - /** 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); - } + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#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.Configuration.Storer.Capabilities#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; - } - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; - return this; - } + public static class Builder { + private Map extraParams; - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } + private Boolean requested; - /** 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; - } + /** 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); + } - /** 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; - } + /** + * Add a key/value pair to `extraParams` map. A map 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; + } - /** 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; + /** + * Add all map key/value pairs to `extraParams` map. A map 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 FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ + 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. @@ -8475,9 +10052,22 @@ public static class FinancialAddresses { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private FinancialAddresses(BankAccounts bankAccounts, 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() { @@ -8487,32 +10077,39 @@ public static Builder 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.FinancialAddresses - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses( - this.bankAccounts, this.extraParams); + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments( + this.bankAccounts, this.cards, this.extraParams, this.financialAccounts); } - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts + 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.FinancialAddresses#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8527,7 +10124,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8537,6 +10134,18 @@ public Builder putAllExtraParam(Map map) { 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 @@ -8574,10 +10183,10 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments .BankAccounts build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments .BankAccounts(this.extraParams, this.requested); } @@ -8585,7 +10194,89 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * 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) { @@ -8600,7 +10291,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8621,86 +10312,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @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 { + 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} @@ -8718,7 +10333,7 @@ public static class Gbp { @SerializedName("requested") Boolean requested; - private Gbp(Map extraParams, Boolean requested) { + private FinancialAccounts(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -8733,17 +10348,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments + .FinancialAccounts build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp(this.extraParams, this.requested); + 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.HoldsCurrencies.Gbp#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8758,7 +10374,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8783,10 +10399,8 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class InboundTransfers { - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ @SerializedName("bank_accounts") BankAccounts bankAccounts; @@ -8800,9 +10414,19 @@ public static class InboundTransfers { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private InboundTransfers(BankAccounts bankAccounts, 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() { @@ -8814,17 +10438,17 @@ public static class Builder { private Map extraParams; + private FinancialAccounts financialAccounts; + /** 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); + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers( + this.bankAccounts, this.extraParams, this.financialAccounts); } - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts bankAccounts) { this.bankAccounts = bankAccounts; return this; @@ -8834,7 +10458,7 @@ public Builder setBankAccounts( * Add a key/value pair to `extraParams` map. A map 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} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8849,7 +10473,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -8859,6 +10483,17 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + public Builder setFinancialAccounts( + AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } } @Getter @@ -8896,10 +10531,10 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers .BankAccounts build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers + return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers .BankAccounts(this.extraParams, this.requested); } @@ -8907,7 +10542,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -8922,149 +10557,31 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * 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 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<>(); + */ + 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.Configuration.Storer.Capabilities.OutboundPayments#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; - } - - /** - * 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 { + 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} @@ -9082,7 +10599,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts(Map extraParams, Boolean requested) { + private FinancialAccounts(Map extraParams, Boolean requested) { this.extraParams = extraParams; this.requested = requested; } @@ -9097,18 +10614,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts + public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers + .FinancialAccounts build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts(this.extraParams, this.requested); + 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.OutboundPayments.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -9123,7 +10640,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -9144,2045 +10661,4457 @@ public Builder setRequested(Boolean requested) { } } } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Defaults { + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + @SerializedName("currency") + Object currency; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The Account's preferred locales (languages), ordered by preference. */ + @SerializedName("locales") + List locales; + + /** Account profile information. */ + @SerializedName("profile") + Profile profile; + + /** Default responsibilities held by either Stripe or the platform. */ + @SerializedName("responsibilities") + Responsibilities responsibilities; + + private Defaults( + Object currency, + Map extraParams, + List locales, + Profile profile, + Responsibilities responsibilities) { + this.currency = currency; + this.extraParams = extraParams; + this.locales = locales; + this.profile = profile; + this.responsibilities = responsibilities; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object currency; + + private Map extraParams; + + private List locales; + + private Profile profile; + + private Responsibilities responsibilities; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Defaults build() { + return new AccountUpdateParams.Defaults( + this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); + } + + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** + * Three-letter ISO currency + * code, in lowercase. Must be a supported + * currency. + */ + public Builder setCurrency(EmptyParam currency) { + this.currency = currency; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountUpdateParams.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; + } + + /** Account profile information. */ + public Builder setProfile(AccountUpdateParams.Defaults.Profile profile) { + this.profile = profile; + return this; + } + + /** Default responsibilities held by either Stripe or the platform. */ + public Builder setResponsibilities( + AccountUpdateParams.Defaults.Responsibilities responsibilities) { + this.responsibilities = responsibilities; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Profile { + /** The business's publicly-available website. */ + @SerializedName("business_url") + Object businessUrl; + + /** The name which is used by the business. */ + @SerializedName("doing_business_as") + Object doingBusinessAs; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Internal-only description of the product sold or service provided by the business. It's + * used by Stripe for risk and underwriting purposes. + */ + @SerializedName("product_description") + Object productDescription; + + private Profile( + Object businessUrl, + Object doingBusinessAs, + Map extraParams, + Object productDescription) { + this.businessUrl = businessUrl; + this.doingBusinessAs = doingBusinessAs; + this.extraParams = extraParams; + this.productDescription = productDescription; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object businessUrl; - @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 Object doingBusinessAs; - /** - * To 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 Map extraParams; - private Cards(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + private Object productDescription; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Defaults.Profile build() { + return new AccountUpdateParams.Defaults.Profile( + this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); + } - public static class Builder { - private Map extraParams; + /** The business's publicly-available website. */ + public Builder setBusinessUrl(String businessUrl) { + this.businessUrl = businessUrl; + return this; + } - private Boolean requested; + /** The business's publicly-available website. */ + public Builder setBusinessUrl(EmptyParam businessUrl) { + this.businessUrl = businessUrl; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards(this.extraParams, this.requested); - } + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(String doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.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; - } + /** The name which is used by the business. */ + public Builder setDoingBusinessAs(EmptyParam doingBusinessAs) { + this.doingBusinessAs = doingBusinessAs; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Defaults.Profile#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Defaults.Profile#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - @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; + /** + * 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; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** + * 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; + } + } + } - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Responsibilities { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static Builder builder() { - return new Builder(); - } + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + @SerializedName("fees_collector") + FeesCollector feesCollector; - public static class Builder { - private Map extraParams; + /** + * 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 Boolean requested; + private Responsibilities( + Map extraParams, + FeesCollector feesCollector, + LossesCollector lossesCollector) { + this.extraParams = extraParams; + this.feesCollector = feesCollector; + this.lossesCollector = lossesCollector; + } - /** 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); - } + public static Builder builder() { + return new Builder(); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.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; - } + public static class Builder { + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.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; - } + 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; + } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Defaults.Responsibilities#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers { - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + /** + * Required. A value indicating the party responsible for collecting fees + * from this account. + */ + public Builder setFeesCollector( + AccountUpdateParams.Defaults.Responsibilities.FeesCollector feesCollector) { + this.feesCollector = feesCollector; + return this; + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Required. A value indicating who is responsible for losses when this + * Account can’t pay back negative balances from payments. + */ + public Builder setLossesCollector( + AccountUpdateParams.Defaults.Responsibilities.LossesCollector lossesCollector) { + this.lossesCollector = lossesCollector; + return this; + } + } - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + public enum FeesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - private OutboundTransfers( - BankAccounts bankAccounts, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - } + @SerializedName("stripe") + STRIPE("stripe"); - public static Builder builder() { - return new Builder(); - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static class Builder { - private BankAccounts bankAccounts; + FeesCollector(String value) { + this.value = value; + } + } - private Map extraParams; + public enum LossesCollector implements ApiRequestParams.EnumParam { + @SerializedName("application") + APPLICATION("application"), - private FinancialAccounts financialAccounts; + @SerializedName("stripe") + STRIPE("stripe"); - /** 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); - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** 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; - } + LossesCollector(String value) { + this.value = value; + } + } + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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; - } + public enum Locale implements ApiRequestParams.EnumParam { + @SerializedName("ar-SA") + AR_SA("ar-SA"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * 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("bg") + BG("bg"), - /** - * 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("bg-BG") + BG_BG("bg-BG"), - @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("cs") + CS("cs"), - /** - * To 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("cs-CZ") + CS_CZ("cs-CZ"), - private BankAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("da") + DA("da"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("da-DK") + DA_DK("da-DK"), - public static class Builder { - private Map extraParams; + @SerializedName("de") + DE("de"), - private Boolean requested; + @SerializedName("de-DE") + DE_DE("de-DE"), - /** 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("el") + EL("el"), - /** - * Add a key/value pair to `extraParams` map. A map 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("el-GR") + EL_GR("el-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 - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("en") + 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"), - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + @SerializedName("en-IN") + EN_IN("en-IN"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class 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("en-NZ") + EN_NZ("en-NZ"), - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @SerializedName("en-SG") + EN_SG("en-SG"), - private FinancialAccounts(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + @SerializedName("en-US") + EN_US("en-US"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("es") + ES("es"), - public static class Builder { - private Map extraParams; + @SerializedName("es-419") + ES_419("es-419"), - private Boolean requested; + @SerializedName("es-ES") + ES_ES("es-ES"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .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("et-EE") + ET_EE("et-EE"), - /** - * Add all map key/value pairs to `extraParams` map. A map 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("fi") + FI("fi"), - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } - } - } + @SerializedName("fil") + FIL("fil"), - @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("fil-PH") + FIL_PH("fil-PH"), - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @SerializedName("fi-FI") + FI_FI("fi-FI"), - /** The Account's preferred locales (languages), ordered by preference. */ - @SerializedName("locales") - List locales; + @SerializedName("fr") + FR("fr"), - /** Account profile information. */ - @SerializedName("profile") - Profile profile; + @SerializedName("fr-CA") + FR_CA("fr-CA"), - /** Default responsibilities held by either Stripe or the platform. */ - @SerializedName("responsibilities") - Responsibilities responsibilities; + @SerializedName("fr-FR") + FR_FR("fr-FR"), - private Defaults( - Object currency, - Map extraParams, - List locales, - Profile profile, - Responsibilities responsibilities) { - this.currency = currency; - this.extraParams = extraParams; - this.locales = locales; - this.profile = profile; - this.responsibilities = responsibilities; - } + @SerializedName("he-IL") + HE_IL("he-IL"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("hr") + HR("hr"), - public static class Builder { - private Object currency; + @SerializedName("hr-HR") + HR_HR("hr-HR"), - private Map extraParams; + @SerializedName("hu") + HU("hu"), - private List locales; + @SerializedName("hu-HU") + HU_HU("hu-HU"), - private Profile profile; + @SerializedName("id") + ID("id"), - private Responsibilities responsibilities; + @SerializedName("id-ID") + ID_ID("id-ID"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Defaults build() { - return new AccountUpdateParams.Defaults( - this.currency, this.extraParams, this.locales, this.profile, this.responsibilities); - } + @SerializedName("it") + IT("it"), - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - public Builder setCurrency(String currency) { - this.currency = currency; - return this; - } + @SerializedName("it-IT") + IT_IT("it-IT"), - /** - * Three-letter ISO currency - * code, in lowercase. Must be a supported - * currency. - */ - public Builder setCurrency(EmptyParam currency) { - this.currency = currency; - return this; - } + @SerializedName("ja") + JA("ja"), - /** - * Add a key/value pair to `extraParams` map. A 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("ja-JP") + JA_JP("ja-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.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("ko") + KO("ko"), - /** - * 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("ko-KR") + KO_KR("ko-KR"), + + @SerializedName("lt") + LT("lt"), - /** - * 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("lt-LT") + LT_LT("lt-LT"), - /** Account profile information. */ - public Builder setProfile(AccountUpdateParams.Defaults.Profile profile) { - this.profile = profile; - return this; - } + @SerializedName("lv") + LV("lv"), - /** Default responsibilities held by either Stripe or the platform. */ - public Builder setResponsibilities( - AccountUpdateParams.Defaults.Responsibilities responsibilities) { - this.responsibilities = responsibilities; - return this; - } - } + @SerializedName("lv-LV") + LV_LV("lv-LV"), - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Profile { - /** The business's publicly-available website. */ - @SerializedName("business_url") - Object businessUrl; + @SerializedName("ms") + MS("ms"), - /** The name which is used by the business. */ - @SerializedName("doing_business_as") - Object doingBusinessAs; + @SerializedName("ms-MY") + MS_MY("ms-MY"), - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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("mt") + MT("mt"), - /** - * 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("mt-MT") + MT_MT("mt-MT"), - private Profile( - Object businessUrl, - Object doingBusinessAs, - Map extraParams, - Object productDescription) { - this.businessUrl = businessUrl; - this.doingBusinessAs = doingBusinessAs; - this.extraParams = extraParams; - this.productDescription = productDescription; - } + @SerializedName("nb") + NB("nb"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("nb-NO") + NB_NO("nb-NO"), - public static class Builder { - private Object businessUrl; + @SerializedName("nl") + NL("nl"), - private Object doingBusinessAs; + @SerializedName("nl-NL") + NL_NL("nl-NL"), - private Map extraParams; + @SerializedName("pl") + PL("pl"), - private Object productDescription; + @SerializedName("pl-PL") + PL_PL("pl-PL"), - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Defaults.Profile build() { - return new AccountUpdateParams.Defaults.Profile( - this.businessUrl, this.doingBusinessAs, this.extraParams, this.productDescription); - } + @SerializedName("pt") + PT("pt"), - /** The business's publicly-available website. */ - public Builder setBusinessUrl(String businessUrl) { - this.businessUrl = businessUrl; - return this; - } + @SerializedName("pt-BR") + PT_BR("pt-BR"), - /** The business's publicly-available website. */ - public Builder setBusinessUrl(EmptyParam businessUrl) { - this.businessUrl = businessUrl; - return this; - } + @SerializedName("pt-PT") + PT_PT("pt-PT"), - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(String doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } + @SerializedName("ro") + RO("ro"), - /** The name which is used by the business. */ - public Builder setDoingBusinessAs(EmptyParam doingBusinessAs) { - this.doingBusinessAs = doingBusinessAs; - return this; - } + @SerializedName("ro-RO") + RO_RO("ro-RO"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Defaults.Profile#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + @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.Defaults.Profile#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @SerializedName("ru-RU") + RU_RU("ru-RU"), - /** - * 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("sk") + SK("sk"), - /** - * 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("sk-SK") + SK_SK("sk-SK"), - @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("sl") + SL("sl"), - /** - * Required. A value indicating the party responsible for collecting fees - * from this account. - */ - @SerializedName("fees_collector") - FeesCollector feesCollector; + @SerializedName("sl-SI") + SL_SI("sl-SI"), - /** - * 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("sv") + SV("sv"), - private Responsibilities( - Map extraParams, - FeesCollector feesCollector, - LossesCollector lossesCollector) { - this.extraParams = extraParams; - this.feesCollector = feesCollector; - this.lossesCollector = lossesCollector; - } + @SerializedName("sv-SE") + SV_SE("sv-SE"), - public static Builder builder() { - return new Builder(); - } + @SerializedName("th") + TH("th"), - public static class Builder { - private Map extraParams; + @SerializedName("th-TH") + TH_TH("th-TH"), - private FeesCollector feesCollector; + @SerializedName("tr") + TR("tr"), - private LossesCollector lossesCollector; + @SerializedName("tr-TR") + TR_TR("tr-TR"), - /** 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("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.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("vi-VN") + VI_VN("vi-VN"), + + @SerializedName("zh") + ZH("zh"), - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.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("zh-Hans") + ZH_HANS("zh-Hans"), - /** - * 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("zh-Hant-HK") + ZH_HANT_HK("zh-Hant-HK"), - /** - * 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("zh-Hant-TW") + ZH_HANT_TW("zh-Hant-TW"), - public enum FeesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), + @SerializedName("zh-HK") + ZH_HK("zh-HK"), - @SerializedName("stripe") - STRIPE("stripe"); + @SerializedName("zh-TW") + ZH_TW("zh-TW"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - FeesCollector(String value) { - this.value = value; - } + Locale(String value) { + this.value = value; } + } + } - public enum LossesCollector implements ApiRequestParams.EnumParam { - @SerializedName("application") - APPLICATION("application"), + @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("stripe") - STRIPE("stripe"); + /** Information about the company or business. */ + @SerializedName("business_details") + BusinessDetails businessDetails; - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * 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; - LossesCollector(String value) { - this.value = value; - } - } + /** 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, + 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; } - public enum Locale implements ApiRequestParams.EnumParam { - @SerializedName("ar-SA") - AR_SA("ar-SA"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("bg") - BG("bg"), + public static class Builder { + private Attestations attestations; - @SerializedName("bg-BG") - BG_BG("bg-BG"), + private BusinessDetails businessDetails; - @SerializedName("cs") - CS("cs"), + private Object country; - @SerializedName("cs-CZ") - CS_CZ("cs-CZ"), + private EntityType entityType; - @SerializedName("da") - DA("da"), + private Map extraParams; - @SerializedName("da-DK") - DA_DK("da-DK"), + private Individual individual; - @SerializedName("de") - DE("de"), + /** 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("de-DE") - DE_DE("de-DE"), + /** 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("el") - EL("el"), + /** Information about the company or business. */ + public Builder setBusinessDetails( + AccountUpdateParams.Identity.BusinessDetails businessDetails) { + this.businessDetails = businessDetails; + return this; + } - @SerializedName("el-GR") - EL_GR("el-GR"), + /** + * 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("en") - EN("en"), + /** + * 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("en-AU") - EN_AU("en-AU"), + /** The entity type. */ + public Builder setEntityType(AccountUpdateParams.Identity.EntityType entityType) { + this.entityType = entityType; + return this; + } - @SerializedName("en-CA") - EN_CA("en-CA"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AccountUpdateParams.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("en-GB") - EN_GB("en-GB"), + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AccountUpdateParams.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("en-IE") - EN_IE("en-IE"), + /** + * 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("en-IN") - EN_IN("en-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("en-NZ") - EN_NZ("en-NZ"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("en-SG") - EN_SG("en-SG"), + /** + * 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("en-US") - EN_US("en-US"), + /** Attestation that all Persons with a specific Relationship value have been provided. */ + @SerializedName("persons_provided") + PersonsProvided personsProvided; - @SerializedName("es") - ES("es"), + /** Attestations of accepted terms of service agreements. */ + @SerializedName("terms_of_service") + TermsOfService termsOfService; - @SerializedName("es-419") - ES_419("es-419"), + 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("es-ES") - ES_ES("es-ES"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("et") - ET("et"), + public static class Builder { + private DirectorshipDeclaration directorshipDeclaration; - @SerializedName("et-EE") - ET_EE("et-EE"), + private Map extraParams; - @SerializedName("fi") - FI("fi"), + private OwnershipDeclaration ownershipDeclaration; - @SerializedName("fil") - FIL("fil"), + private PersonsProvided personsProvided; - @SerializedName("fil-PH") - FIL_PH("fil-PH"), + private TermsOfService termsOfService; - @SerializedName("fi-FI") - FI_FI("fi-FI"), + /** 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("fr") - FR("fr"), + /** + * 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("fr-CA") - FR_CA("fr-CA"), + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.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("fr-FR") - FR_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 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("he-IL") - HE_IL("he-IL"), + /** + * 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("hr") - HR("hr"), + /** 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("hr-HR") - HR_HR("hr-HR"), + /** Attestations of accepted terms of service agreements. */ + public Builder setTermsOfService( + AccountUpdateParams.Identity.Attestations.TermsOfService termsOfService) { + this.termsOfService = termsOfService; + return this; + } + } - @SerializedName("hu") - HU("hu"), + @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("hu-HU") - HU_HU("hu-HU"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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("id") - ID("id"), + /** The IP address from which the director attestation was made. */ + @SerializedName("ip") + Object ip; - @SerializedName("id-ID") - ID_ID("id-ID"), + /** The user agent of the browser from which the director attestation was made. */ + @SerializedName("user_agent") + Object userAgent; - @SerializedName("it") - IT("it"), + private DirectorshipDeclaration( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("it-IT") - IT_IT("it-IT"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("ja") - JA("ja"), + public static class Builder { + private Instant date; - @SerializedName("ja-JP") - JA_JP("ja-JP"), + private Map extraParams; - @SerializedName("ko") - KO("ko"), + private Object ip; - @SerializedName("ko-KR") - KO_KR("ko-KR"), + private Object userAgent; - @SerializedName("lt") - LT("lt"), + /** 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("lt-LT") - LT_LT("lt-LT"), + /** + * 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("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 + * AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - @SerializedName("lv-LV") - LV_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 + * AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - @SerializedName("ms") - MS("ms"), + /** The IP address from which the director attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("ms-MY") - MS_MY("ms-MY"), + /** The IP address from which the director attestation was made. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - @SerializedName("mt") - MT("mt"), + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - @SerializedName("mt-MT") - MT_MT("mt-MT"), + /** The user agent of the browser from which the director attestation was made. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("nb") - NB("nb"), + @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("nb-NO") - NB_NO("nb-NO"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - @SerializedName("nl") - NL("nl"), + /** The IP address from which the beneficial owner attestation was made. */ + @SerializedName("ip") + Object ip; - @SerializedName("nl-NL") - NL_NL("nl-NL"), + /** The user agent of the browser from which the beneficial owner attestation was made. */ + @SerializedName("user_agent") + Object userAgent; - @SerializedName("pl") - PL("pl"), + private OwnershipDeclaration( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - @SerializedName("pl-PL") - PL_PL("pl-PL"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("pt") - PT("pt"), + public static class Builder { + private Instant date; - @SerializedName("pt-BR") - PT_BR("pt-BR"), + private Map extraParams; - @SerializedName("pt-PT") - PT_PT("pt-PT"), + private Object ip; - @SerializedName("ro") - RO("ro"), + private Object userAgent; - @SerializedName("ro-RO") - RO_RO("ro-RO"), + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.OwnershipDeclaration build() { + return new AccountUpdateParams.Identity.Attestations.OwnershipDeclaration( + this.date, this.extraParams, this.ip, this.userAgent); + } - @SerializedName("ru") - RU("ru"), + /** + * 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("ru-RU") - RU_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.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("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.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("sk-SK") - SK_SK("sk-SK"), + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - @SerializedName("sl") - SL("sl"), + /** The IP address from which the beneficial owner attestation was made. */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - @SerializedName("sl-SI") - SL_SI("sl-SI"), + /** 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("sv") - SV("sv"), + /** The user agent of the browser from which the beneficial owner attestation was made. */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @SerializedName("sv-SE") - SV_SE("sv-SE"), + @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("th") - TH("th"), + /** + * 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("th-TH") - TH_TH("th-TH"), + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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("tr") - TR("tr"), + /** + * 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("tr-TR") - TR_TR("tr-TR"), + /** Reason for why the company is exempt from providing ownership information. */ + @SerializedName("ownership_exemption_reason") + OwnershipExemptionReason ownershipExemptionReason; - @SerializedName("vi") - VI("vi"), + 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("vi-VN") - VI_VN("vi-VN"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("zh") - ZH("zh"), + public static class Builder { + private Boolean directors; - @SerializedName("zh-Hans") - ZH_HANS("zh-Hans"), + private Boolean executives; - @SerializedName("zh-Hant-HK") - ZH_HANT_HK("zh-Hant-HK"), + private Map extraParams; - @SerializedName("zh-Hant-TW") - ZH_HANT_TW("zh-Hant-TW"), + private Boolean owners; - @SerializedName("zh-HK") - ZH_HK("zh-HK"), + private OwnershipExemptionReason ownershipExemptionReason; - @SerializedName("zh-TW") - ZH_TW("zh-TW"); + /** 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; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * 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; + } - Locale(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.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; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Identity { - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - @SerializedName("attestations") - Attestations attestations; + /** + * Add all map key/value pairs to `extraParams` map. A map 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; + } - /** Information about the company or business. */ - @SerializedName("business_details") - BusinessDetails businessDetails; + /** + * 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; + } - /** - * 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; + /** 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; + } + } - /** The entity type. */ - @SerializedName("entity_type") - EntityType entityType; + public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { + @SerializedName("qualified_entity_exceeds_ownership_threshold") + QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( + "qualified_entity_exceeds_ownership_threshold"), - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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("qualifies_as_financial_institution") + QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); - /** - * 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; + @Getter(onMethod_ = {@Override}) + private final String value; - 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; - } + OwnershipExemptionReason(String value) { + this.value = value; + } + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TermsOfService { + /** + * Details on the Account's acceptance of the Stripe Services + * Agreement. + */ + @SerializedName("account") + Account account; - public static class Builder { - private Attestations attestations; + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + @SerializedName("card_creator") + CardCreator cardCreator; - private BusinessDetails businessDetails; + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private Object country; + /** Details on the Account's acceptance of Treasury-specific terms of service. */ + @SerializedName("storer") + Storer storer; - private EntityType entityType; + private TermsOfService( + Account account, + CardCreator cardCreator, + Map extraParams, + Storer storer) { + this.account = account; + this.cardCreator = cardCreator; + this.extraParams = extraParams; + this.storer = storer; + } - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Individual individual; + public static class Builder { + private Account account; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity build() { - return new AccountUpdateParams.Identity( - this.attestations, - this.businessDetails, - this.country, - this.entityType, - this.extraParams, - this.individual); - } + private CardCreator cardCreator; - /** Attestations from the identity's key people, e.g. owners, executives, directors. */ - public Builder setAttestations(AccountUpdateParams.Identity.Attestations attestations) { - this.attestations = attestations; - return this; - } + private Map extraParams; - /** Information about the company or business. */ - public Builder setBusinessDetails( - AccountUpdateParams.Identity.BusinessDetails businessDetails) { - this.businessDetails = businessDetails; - return this; - } + private Storer storer; - /** - * The country in which the account holder resides, or in which the business is legally - * established. This should be an ISO 3166-1 alpha-2 country - * code. - */ - public Builder setCountry(String country) { - this.country = country; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService( + this.account, this.cardCreator, this.extraParams, this.storer); + } - /** - * 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; - } + /** + * 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; + } - /** The entity type. */ - public Builder setEntityType(AccountUpdateParams.Identity.EntityType entityType) { - this.entityType = entityType; - return this; - } + /** Details on the Account's acceptance of Issuing-specific terms of service. */ + public Builder setCardCreator( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator cardCreator) { + this.cardCreator = cardCreator; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * AccountUpdateParams.Identity#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Identity.Attestations.TermsOfService#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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<>(); + /** + * Add all map key/value pairs to `extraParams` map. A map 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; + } } - 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 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; - @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; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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; - /** - * This hash is used to attest that the beneficial owner information provided to Stripe is - * both current and correct. - */ - @SerializedName("ownership_declaration") - OwnershipDeclaration ownershipDeclaration; + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + Object userAgent; - /** Attestation that all Persons with a specific Relationship value have been provided. */ - @SerializedName("persons_provided") - PersonsProvided personsProvided; + private Account( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** Attestations of accepted terms of service agreements. */ - @SerializedName("terms_of_service") - TermsOfService termsOfService; + public static Builder builder() { + return new Builder(); + } - 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 class Builder { + private Instant date; - public static Builder builder() { - return new Builder(); - } + private Map extraParams; - public static class Builder { - private DirectorshipDeclaration directorshipDeclaration; + private Object ip; - private Map extraParams; + private Object userAgent; - private OwnershipDeclaration ownershipDeclaration; + /** 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); + } - private PersonsProvided personsProvided; + /** + * 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; + } - private TermsOfService termsOfService; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * 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; + } - /** 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); - } + /** + * Add all map key/value pairs to `extraParams` map. A map 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; + } - /** - * 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; - } + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link 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; - } + /** + * The IP address from which the Account's representative accepted the terms of service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link 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; - } + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } - /** - * This 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; + /** + * 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; + } + } } - /** 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; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CardCreator { + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + @SerializedName("commercial") + Commercial commercial; - /** Attestations of accepted terms of service agreements. */ - public Builder setTermsOfService( - AccountUpdateParams.Identity.Attestations.TermsOfService termsOfService) { - this.termsOfService = termsOfService; - 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 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; + private CardCreator(Commercial commercial, Map extraParams) { + this.commercial = commercial; + this.extraParams = 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; + public static Builder builder() { + return new Builder(); + } - /** The IP address from which the director attestation was made. */ - @SerializedName("ip") - Object ip; + public static class Builder { + private Commercial commercial; - /** The user agent of the browser from which the director attestation was made. */ - @SerializedName("user_agent") - Object userAgent; + private Map extraParams; - private DirectorshipDeclaration( - Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator( + this.commercial, this.extraParams); + } - public static Builder builder() { - return new Builder(); - } + /** Terms of service acceptances to create cards for commercial issuing use cases. */ + public Builder setCommercial( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + commercial) { + this.commercial = commercial; + return this; + } - 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 + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Map extraParams; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } - private Object ip; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Commercial { + /** Terms of service acceptances for Stripe commercial card issuing. */ + @SerializedName("account_holder") + AccountHolder accountHolder; - private Object userAgent; + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN sponsor. + */ + @SerializedName("celtic") + Celtic celtic; - /** 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); - } + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + @SerializedName("cross_river_bank") + CrossRiverBank crossRiverBank; - /** - * 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; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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.Identity.Attestations.DirectorshipDeclaration#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + private Commercial( + AccountHolder accountHolder, + Celtic celtic, + CrossRiverBank crossRiverBank, + Map extraParams) { + this.accountHolder = accountHolder; + this.celtic = celtic; + this.crossRiverBank = crossRiverBank; + this.extraParams = extraParams; } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * AccountUpdateParams.Identity.Attestations.DirectorshipDeclaration#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 IP address from which the director attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + public static class Builder { + private AccountHolder accountHolder; - /** The IP address from which the director attestation was made. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + private Celtic celtic; - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + private CrossRiverBank crossRiverBank; - /** The user agent of the browser from which the director attestation was made. */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + private Map extraParams; - @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; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial( + this.accountHolder, this.celtic, this.crossRiverBank, this.extraParams); + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Terms of service acceptances for Stripe commercial card issuing. */ + public Builder setAccountHolder( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .AccountHolder + accountHolder) { + this.accountHolder = accountHolder; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Celtic as BIN + * sponsor. + */ + public Builder setCeltic( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic + celtic) { + this.celtic = celtic; + return this; + } + + /** + * Terms of service acceptances for commercial issuing cards with Cross River Bank as + * BIN sponsor. + */ + public Builder setCrossRiverBank( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank + crossRiverBank) { + this.crossRiverBank = crossRiverBank; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class AccountHolder { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; - /** The IP address from which the beneficial owner attestation was made. */ - @SerializedName("ip") - Object ip; + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** The user agent of the browser from which the beneficial owner attestation was made. */ - @SerializedName("user_agent") - Object userAgent; + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; - private OwnershipDeclaration( - Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** + * The user agent of the browser from which the Account's representative accepted the + * terms of service. + */ + @SerializedName("user_agent") + Object userAgent; - public static Builder builder() { - return new Builder(); - } + private AccountHolder( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - public static class Builder { - private Instant date; + public static Builder builder() { + return new Builder(); + } - private Map extraParams; + public static class Builder { + private Instant date; - private Object ip; + private Map extraParams; - private Object userAgent; + private Object ip; - /** 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); - } + private Object 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; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.AccountHolder( + this.date, this.extraParams, this.ip, this.userAgent); + } - /** - * Add a key/value pair to `extraParams` map. A map 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; - } + /** + * 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 all map key/value pairs to `extraParams` map. A map 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; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** The IP address from which the beneficial owner attestation was made. */ - public Builder setIp(String ip) { - this.ip = ip; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.AccountHolder#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** The IP address from which the beneficial owner attestation was made. */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } - /** The user agent of the browser from which the beneficial owner attestation was made. */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + /** + * The 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 beneficial owner attestation was made. */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; - } - } - } + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(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; + /** + * 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; + } + } + } - /** - * 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; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Celtic { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic as + * BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as BIN + * sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; - /** - * 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; + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Reason for why the company is exempt from providing ownership information. */ - @SerializedName("ownership_exemption_reason") - OwnershipExemptionReason ownershipExemptionReason; + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as BIN + * sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; - private PersonsProvided( - Boolean directors, - Boolean executives, - Map extraParams, - Boolean owners, - OwnershipExemptionReason ownershipExemptionReason) { - this.directors = directors; - this.executives = executives; - this.extraParams = extraParams; - this.owners = owners; - this.ownershipExemptionReason = ownershipExemptionReason; - } + private Celtic( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } - public static class Builder { - private Boolean directors; + public static class Builder { + private ApplePay applePay; - private Boolean executives; + private ChargeCard chargeCard; - private Map extraParams; + private Map extraParams; - private Boolean owners; + private SpendCard spendCard; - private OwnershipExemptionReason ownershipExemptionReason; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic( + this.applePay, this.chargeCard, this.extraParams, this.spendCard); + } - /** 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); - } + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Celtic + * as BIN sponsor. + */ + public Builder setApplePay( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - /** - * 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; - } + /** + * Terms of service acceptances for commercial issuing charge cards with Celtic as + * BIN sponsor. + */ + public Builder setChargeCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - /** - * 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.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map 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.TermsOfService.CardCreator.Commercial.Celtic#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + /** + * Terms of service acceptances for commercial issuing spend cards with Celtic as + * BIN sponsor. + */ + public Builder setSpendCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .Celtic.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } - /** - * 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; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private ApplePay( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = userAgent; + } - /** 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 static Builder builder() { + return new Builder(); + } - public enum OwnershipExemptionReason implements ApiRequestParams.EnumParam { - @SerializedName("qualified_entity_exceeds_ownership_threshold") - QUALIFIED_ENTITY_EXCEEDS_OWNERSHIP_THRESHOLD( - "qualified_entity_exceeds_ownership_threshold"), + 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.CardCreator + .Commercial.Celtic.ApplePay + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private ChargeCard( + BankTerms bankTerms, Map extraParams, Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.platform = platform; + } - @SerializedName("qualifies_as_financial_institution") - QUALIFIES_AS_FINANCIAL_INSTITUTION("qualifies_as_financial_institution"); + public static Builder builder() { + return new Builder(); + } - @Getter(onMethod_ = {@Override}) - private final String value; + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard( + this.bankTerms, this.extraParams, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } - OwnershipExemptionReason(String value) { - this.value = value; - } - } - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + 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.CardCreator + .Commercial.Celtic.ChargeCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TermsOfService { - /** - * Details on the Account's acceptance of the Stripe Services - * Agreement. - */ - @SerializedName("account") - Account account; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Platform( + 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.CardCreator + .Commercial.Celtic.ChargeCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } - /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; + public static Builder builder() { + return new Builder(); + } - private TermsOfService(Account account, Map extraParams, Storer storer) { - this.account = account; - this.extraParams = extraParams; - this.storer = storer; - } + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Celtic + * as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Celtic as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing spend cards with + * Celtic as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.Celtic.SpendCard.Platform + platform) { + this.platform = platform; + return this; + } + } - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + 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.CardCreator + .Commercial.Celtic.SpendCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - public static class Builder { - private Account account; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private FinancingDisclosures( + 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.CardCreator + .Commercial.Celtic.SpendCard.FinancingDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Platform( + 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.CardCreator + .Commercial.Celtic.SpendCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.Celtic.SpendCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.Celtic.SpendCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } + } - private Storer storer; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CrossRiverBank { + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("apple_pay") + ApplePay applePay; - /** 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); - } + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("charge_card") + ChargeCard chargeCard; - /** - * 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; - } + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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.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; - } + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + @SerializedName("spend_card") + SpendCard spendCard; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link 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; - } + private CrossRiverBank( + ApplePay applePay, + ChargeCard chargeCard, + Map extraParams, + SpendCard spendCard) { + this.applePay = applePay; + this.chargeCard = chargeCard; + this.extraParams = extraParams; + this.spendCard = spendCard; + } - /** 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; - } - } + public static Builder builder() { + return new Builder(); + } - @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; + public static class Builder { + private ApplePay applePay; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 ChargeCard chargeCard; - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - @SerializedName("ip") - Object ip; + private Map extraParams; - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - @SerializedName("user_agent") - Object userAgent; + private SpendCard spendCard; - private Account( - Instant date, Map extraParams, Object ip, Object userAgent) { - this.date = date; - this.extraParams = extraParams; - this.ip = ip; - this.userAgent = userAgent; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank( + this.applePay, this.chargeCard, this.extraParams, this.spendCard); + } - public static Builder builder() { - return new Builder(); - } + /** + * Terms of service acceptances for commercial issuing Apple Pay cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setApplePay( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ApplePay + applePay) { + this.applePay = applePay; + return this; + } - public static class Builder { - private Instant date; + /** + * Terms of service acceptances for commercial issuing charge cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setChargeCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.ChargeCard + chargeCard) { + this.chargeCard = chargeCard; + return this; + } - 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.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - private Object ip; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - private Object userAgent; + /** + * Terms of service acceptances for commercial issuing spend cards with Cross River + * Bank as BIN sponsor. + */ + public Builder setSpendCard( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial + .CrossRiverBank.SpendCard + spendCard) { + this.spendCard = spendCard; + return this; + } + } - /** 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); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ApplePay { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for + * example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private ApplePay( + Instant date, Map extraParams, Object ip, Object userAgent) { + this.date = date; + this.extraParams = extraParams; + this.ip = ip; + this.userAgent = 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; - } + 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.Identity.Attestations.TermsOfService.Account#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public static class Builder { + private Instant date; + + private Map extraParams; + + private Object ip; + + private Object userAgent; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ApplePay + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ApplePay( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ApplePay#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map 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<>(); + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ChargeCard { + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + @SerializedName("platform") + Platform platform; + + private ChargeCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures, + Platform platform) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + this.platform = platform; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + private Platform platform; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard( + this.bankTerms, this.extraParams, this.financingDisclosures, this.platform); + } + + /** + * Bank terms of service acceptance for commercial issuing charge cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing charge + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + + /** + * Platform terms of service acceptance for commercial issuing charge cards with + * Cross River Bank as BIN sponsor. + */ + public Builder setPlatform( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + platform) { + this.platform = platform; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private BankTerms( + 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.CardCreator + .Commercial.CrossRiverBank.ChargeCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private FinancingDisclosures( + 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.CardCreator + .Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Platform { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private Platform( + 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.CardCreator + .Commercial.CrossRiverBank.ChargeCard.Platform + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.ChargeCard.Platform#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } } - 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; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SpendCard { + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + @SerializedName("bank_terms") + BankTerms bankTerms; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + @SerializedName("financing_disclosures") + FinancingDisclosures financingDisclosures; + + private SpendCard( + BankTerms bankTerms, + Map extraParams, + FinancingDisclosures financingDisclosures) { + this.bankTerms = bankTerms; + this.extraParams = extraParams; + this.financingDisclosures = financingDisclosures; + } - /** - * The IP address from which the Account's representative accepted the terms of service. - */ - public Builder setIp(EmptyParam ip) { - this.ip = ip; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(String userAgent) { - this.userAgent = userAgent; - return this; - } + public static class Builder { + private BankTerms bankTerms; + + private Map extraParams; + + private FinancingDisclosures financingDisclosures; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard( + this.bankTerms, this.extraParams, this.financingDisclosures); + } + + /** + * Bank terms of service acceptance for commercial issuing spend cards with Cross + * River Bank as BIN sponsor. + */ + public Builder setBankTerms( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + bankTerms) { + this.bankTerms = bankTerms; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Financial disclosures terms of service acceptance for commercial issuing spend + * cards with Cross River Bank as BIN sponsor. + */ + public Builder setFinancingDisclosures( + AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + financingDisclosures) { + this.financingDisclosures = financingDisclosures; + return this; + } + } - /** - * The user agent of the browser from which the Account's representative accepted the - * terms of service. - */ - public Builder setUserAgent(EmptyParam userAgent) { - this.userAgent = userAgent; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankTerms { + /** + * 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 BankTerms( + 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.CardCreator + .Commercial.CrossRiverBank.SpendCard.BankTerms + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.BankTerms#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancingDisclosures { + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("date") + Instant date; + + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + @SerializedName("ip") + Object ip; + + /** + * The user agent of the browser from which the Account's representative accepted + * the terms of service. + */ + @SerializedName("user_agent") + Object userAgent; + + private FinancingDisclosures( + 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.CardCreator + .Commercial.CrossRiverBank.SpendCard.FinancingDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures( + this.date, this.extraParams, this.ip, this.userAgent); + } + + /** + * The time when the Account's representative accepted the terms of service. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, + * for example: 2022-09-18T13:22:18.123Z. + */ + public Builder setDate(Instant date) { + this.date = date; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Identity.Attestations.TermsOfService.CardCreator.Commercial.CrossRiverBank.SpendCard.FinancingDisclosures#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(String ip) { + this.ip = ip; + return this; + } + + /** + * The IP address from which the Account's representative accepted the terms of + * service. + */ + public Builder setIp(EmptyParam ip) { + this.ip = ip; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(String userAgent) { + this.userAgent = userAgent; + return this; + } + + /** + * The user agent of the browser from which the Account's representative + * accepted the terms of service. + */ + public Builder setUserAgent(EmptyParam userAgent) { + this.userAgent = userAgent; + return this; + } + } + } + } } } } @@ -18456,6 +22385,9 @@ public enum Dashboard implements ApiRequestParams.EnumParam { } public enum Include implements ApiRequestParams.EnumParam { + @SerializedName("configuration.card_creator") + CONFIGURATION__CARD_CREATOR("configuration.card_creator"), + @SerializedName("configuration.customer") CONFIGURATION__CUSTOMER("configuration.customer"), diff --git a/src/main/java/com/stripe/service/PaymentMethodService.java b/src/main/java/com/stripe/service/PaymentMethodService.java index 4e55dd08b4d..d4e1740aa5f 100644 --- a/src/main/java/com/stripe/service/PaymentMethodService.java +++ b/src/main/java/com/stripe/service/PaymentMethodService.java @@ -4,6 +4,7 @@ import com.google.gson.reflect.TypeToken; import com.stripe.exception.StripeException; import com.stripe.model.PaymentMethod; +import com.stripe.model.PaymentMethodBalance; import com.stripe.model.StripeCollection; import com.stripe.net.ApiRequest; import com.stripe.net.ApiRequestParams; @@ -13,6 +14,7 @@ import com.stripe.net.RequestOptions; import com.stripe.net.StripeResponseGetter; import com.stripe.param.PaymentMethodAttachParams; +import com.stripe.param.PaymentMethodCheckBalanceParams; import com.stripe.param.PaymentMethodCreateParams; import com.stripe.param.PaymentMethodDetachParams; import com.stripe.param.PaymentMethodListParams; @@ -310,6 +312,37 @@ public PaymentMethod attach( options); return this.request(request, PaymentMethod.class); } + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance( + String paymentMethod, PaymentMethodCheckBalanceParams params) throws StripeException { + return checkBalance(paymentMethod, params, (RequestOptions) null); + } + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance(String paymentMethod, RequestOptions options) + throws StripeException { + return checkBalance(paymentMethod, (PaymentMethodCheckBalanceParams) null, options); + } + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance(String paymentMethod) throws StripeException { + return checkBalance( + paymentMethod, (PaymentMethodCheckBalanceParams) null, (RequestOptions) null); + } + /** Retrieves a payment method’s balance. */ + public PaymentMethodBalance checkBalance( + String paymentMethod, PaymentMethodCheckBalanceParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/payment_methods/%s/check_balance", ApiResource.urlEncodeId(paymentMethod)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PaymentMethodBalance.class); + } /** * Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no * longer be used for a payment or re-attached to a Customer. diff --git a/src/test/java/com/stripe/functional/GeneratedExamples.java b/src/test/java/com/stripe/functional/GeneratedExamples.java index b136d4042fd..ec0ed23c6f1 100644 --- a/src/test/java/com/stripe/functional/GeneratedExamples.java +++ b/src/test/java/com/stripe/functional/GeneratedExamples.java @@ -26825,7 +26825,7 @@ public void testV2CoreAccountGetServices() throws StripeException { null, new TypeToken< com.stripe.model.v2.StripeCollection>() {}.getType(), - "{\"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}"); + "{\"data\":[{\"applied_configurations\":[\"card_creator\"],\"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 = @@ -26847,7 +26847,7 @@ public void testV2CoreAccountPostServices() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); + "{\"applied_configurations\":[\"card_creator\"],\"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 = @@ -26868,7 +26868,7 @@ public void testV2CoreAccountGet2Services() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); + "{\"applied_configurations\":[\"card_creator\"],\"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 = @@ -26894,7 +26894,7 @@ public void testV2CoreAccountPost2Services() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); + "{\"applied_configurations\":[\"card_creator\"],\"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 = @@ -26920,7 +26920,7 @@ public void testV2CoreAccountPost3Services() throws StripeException { null, null, com.stripe.model.v2.core.Account.class, - "{\"applied_configurations\":[\"storer\"],\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"object\":\"v2.core.account\",\"livemode\":true}"); + "{\"applied_configurations\":[\"card_creator\"],\"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 =