diff --git a/CODEGEN_VERSION b/CODEGEN_VERSION index bce7797ff93..308e72af1a3 100644 --- a/CODEGEN_VERSION +++ b/CODEGEN_VERSION @@ -1 +1 @@ -161b2a6978a9cd8c0c376d83ae012fd5a7da2fe1 \ No newline at end of file +088388aa159596ba4e240aeb0bb65d5bb4a562ab \ No newline at end of file diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index 5a83b26fd19..c22138244ce 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v2315 \ No newline at end of file +v2323 \ No newline at end of file diff --git a/src/main/java/com/stripe/ApiVersion.java b/src/main/java/com/stripe/ApiVersion.java index ddc6f888035..81d8b7cc10a 100644 --- a/src/main/java/com/stripe/ApiVersion.java +++ b/src/main/java/com/stripe/ApiVersion.java @@ -2,5 +2,5 @@ package com.stripe; final class ApiVersion { - public static final String CURRENT = "2026-06-10.preview"; + public static final String CURRENT = "2026-06-24.preview"; } diff --git a/src/main/java/com/stripe/StripeEventNotificationHandler.java b/src/main/java/com/stripe/StripeEventNotificationHandler.java index 3b61c849ed1..a5d5ea2a07f 100644 --- a/src/main/java/com/stripe/StripeEventNotificationHandler.java +++ b/src/main/java/com/stripe/StripeEventNotificationHandler.java @@ -257,10 +257,10 @@ import com.stripe.events.V2CoreAccountIncludingConfigurationCustomerUpdatedEventNotification; import com.stripe.events.V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEventNotification; import com.stripe.events.V2CoreAccountIncludingConfigurationMerchantUpdatedEventNotification; +import com.stripe.events.V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEventNotification; +import com.stripe.events.V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEventNotification; import com.stripe.events.V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEventNotification; import com.stripe.events.V2CoreAccountIncludingConfigurationRecipientUpdatedEventNotification; -import com.stripe.events.V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEventNotification; -import com.stripe.events.V2CoreAccountIncludingConfigurationStorerUpdatedEventNotification; import com.stripe.events.V2CoreAccountIncludingDefaultsUpdatedEventNotification; import com.stripe.events.V2CoreAccountIncludingFutureRequirementsUpdatedEventNotification; import com.stripe.events.V2CoreAccountIncludingIdentityUpdatedEventNotification; @@ -341,6 +341,9 @@ import com.stripe.events.V2IamStripeAccessGrantRequestedEventNotification; import com.stripe.events.V2IamStripeAccessGrantUpdatedEventNotification; import com.stripe.events.V2MoneyManagementAdjustmentCreatedEventNotification; +import com.stripe.events.V2MoneyManagementDebitDisputeFailedEventNotification; +import com.stripe.events.V2MoneyManagementDebitDisputeSubmittedEventNotification; +import com.stripe.events.V2MoneyManagementDebitDisputeSucceededEventNotification; import com.stripe.events.V2MoneyManagementFinancialAccountCreatedEventNotification; import com.stripe.events.V2MoneyManagementFinancialAccountStatementCreatedEventNotification; import com.stripe.events.V2MoneyManagementFinancialAccountStatementRestatedEventNotification; @@ -358,12 +361,14 @@ import com.stripe.events.V2MoneyManagementOutboundPaymentFailedEventNotification; import com.stripe.events.V2MoneyManagementOutboundPaymentPostedEventNotification; import com.stripe.events.V2MoneyManagementOutboundPaymentReturnedEventNotification; +import com.stripe.events.V2MoneyManagementOutboundPaymentUnderReviewEventNotification; import com.stripe.events.V2MoneyManagementOutboundPaymentUpdatedEventNotification; import com.stripe.events.V2MoneyManagementOutboundTransferCanceledEventNotification; import com.stripe.events.V2MoneyManagementOutboundTransferCreatedEventNotification; import com.stripe.events.V2MoneyManagementOutboundTransferFailedEventNotification; import com.stripe.events.V2MoneyManagementOutboundTransferPostedEventNotification; import com.stripe.events.V2MoneyManagementOutboundTransferReturnedEventNotification; +import com.stripe.events.V2MoneyManagementOutboundTransferUnderReviewEventNotification; import com.stripe.events.V2MoneyManagementOutboundTransferUpdatedEventNotification; import com.stripe.events.V2MoneyManagementPayoutMethodCreatedEventNotification; import com.stripe.events.V2MoneyManagementPayoutMethodUpdatedEventNotification; @@ -2066,32 +2071,33 @@ public StripeEventNotificationHandler onV2CoreAccountIncludingConfigurationMerch } public StripeEventNotificationHandler - onV2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdated( + onV2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdated( Callback< - V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEventNotification> + V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEventNotification> callback) { - this.register("v2.core.account[configuration.recipient].capability_status_updated", callback); + this.register( + "v2.core.account[configuration.money_manager].capability_status_updated", callback); return this; } - public StripeEventNotificationHandler onV2CoreAccountIncludingConfigurationRecipientUpdated( - Callback callback) { - this.register("v2.core.account[configuration.recipient].updated", callback); + public StripeEventNotificationHandler onV2CoreAccountIncludingConfigurationMoneyManagerUpdated( + Callback callback) { + this.register("v2.core.account[configuration.money_manager].updated", callback); return this; } public StripeEventNotificationHandler - onV2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdated( + onV2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdated( Callback< - V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEventNotification> + V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEventNotification> callback) { - this.register("v2.core.account[configuration.storer].capability_status_updated", callback); + this.register("v2.core.account[configuration.recipient].capability_status_updated", callback); return this; } - public StripeEventNotificationHandler onV2CoreAccountIncludingConfigurationStorerUpdated( - Callback callback) { - this.register("v2.core.account[configuration.storer].updated", callback); + public StripeEventNotificationHandler onV2CoreAccountIncludingConfigurationRecipientUpdated( + Callback callback) { + this.register("v2.core.account[configuration.recipient].updated", callback); return this; } @@ -2569,6 +2575,24 @@ public StripeEventNotificationHandler onV2MoneyManagementAdjustmentCreated( return this; } + public StripeEventNotificationHandler onV2MoneyManagementDebitDisputeFailed( + Callback callback) { + this.register("v2.money_management.debit_dispute.failed", callback); + return this; + } + + public StripeEventNotificationHandler onV2MoneyManagementDebitDisputeSubmitted( + Callback callback) { + this.register("v2.money_management.debit_dispute.submitted", callback); + return this; + } + + public StripeEventNotificationHandler onV2MoneyManagementDebitDisputeSucceeded( + Callback callback) { + this.register("v2.money_management.debit_dispute.succeeded", callback); + return this; + } + public StripeEventNotificationHandler onV2MoneyManagementFinancialAccountCreated( Callback callback) { this.register("v2.money_management.financial_account.created", callback); @@ -2671,6 +2695,12 @@ public StripeEventNotificationHandler onV2MoneyManagementOutboundPaymentReturned return this; } + public StripeEventNotificationHandler onV2MoneyManagementOutboundPaymentUnderReview( + Callback callback) { + this.register("v2.money_management.outbound_payment.under_review", callback); + return this; + } + public StripeEventNotificationHandler onV2MoneyManagementOutboundPaymentUpdated( Callback callback) { this.register("v2.money_management.outbound_payment.updated", callback); @@ -2707,6 +2737,12 @@ public StripeEventNotificationHandler onV2MoneyManagementOutboundTransferReturne return this; } + public StripeEventNotificationHandler onV2MoneyManagementOutboundTransferUnderReview( + Callback callback) { + this.register("v2.money_management.outbound_transfer.under_review", callback); + return this; + } + public StripeEventNotificationHandler onV2MoneyManagementOutboundTransferUpdated( Callback callback) { this.register("v2.money_management.outbound_transfer.updated", callback); diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java index b9d23142347..496ee5f989a 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMerchantCapabilityStatusUpdatedEvent.java @@ -35,8 +35,8 @@ public static final class EventData { * oxxo_payments}, {@code p24_payments}, {@code payco_payments}, {@code paynow_payments}, {@code * stripe_balance.payouts}, {@code pay_by_bank_payments}, {@code promptpay_payments}, {@code * revolut_pay_payments}, {@code samsung_pay_payments}, {@code sepa_bank_transfer_payments}, - * {@code sepa_debit_payments}, {@code swish_payments}, {@code twint_payments}, {@code - * us_bank_transfer_payments}, or {@code zip_payments}. + * {@code sepa_debit_payments}, {@code sunbit_payments}, {@code swish_payments}, {@code + * twint_payments}, {@code us_bank_transfer_payments}, or {@code zip_payments}. */ @SerializedName("updated_capability") String updatedCapability; diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent.java similarity index 54% rename from src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent.java rename to src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent.java index 6d6e94af6f7..025375daac3 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent.java @@ -10,11 +10,11 @@ import lombok.Setter; @Getter -public final class V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent +public final class V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent extends Event { - /** Data for the v2.core.account[configuration.storer].capability_status_updated event. */ + /** Data for the v2.core.account[configuration.money_manager].capability_status_updated event. */ @SerializedName("data") - V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent.EventData data; + V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent.EventData data; @Getter @Setter @@ -22,14 +22,19 @@ public static final class EventData { /** * Open Enum. The capability which had its status updated. * - *

One of {@code consumer.holds_currencies.usd}, {@code financial_addressses.bank_accounts}, - * {@code financial_addressses.crypto_wallets}, {@code holds_currencies.eur}, {@code - * holds_currencies.gbp}, {@code holds_currencies.usd}, {@code holds_currencies.usdc}, {@code + *

One of {@code business_storage.inbound.cad}, {@code business_storage.inbound.eur}, {@code + * business_storage.inbound.gbp}, {@code business_storage.inbound.usd}, {@code + * business_storage.inbound.usdc}, {@code business_storage.outbound.cad}, {@code + * business_storage.outbound.eur}, {@code business_storage.outbound.gbp}, {@code + * business_storage.outbound.usd}, {@code business_storage.outbound.usdc}, {@code + * consumer_storage.inbound.usd}, {@code consumer_storage.inbound.usdc}, {@code + * consumer_storage.outbound.usd}, {@code consumer_storage.outbound.usdc}, {@code * inbound_transfers.bank_accounts}, {@code outbound_payments.bank_accounts}, {@code * outbound_payments.cards}, {@code outbound_payments.crypto_wallets}, {@code * outbound_payments.financial_accounts}, {@code outbound_payments.paper_checks}, {@code - * outbound_transfers.bank_accounts}, {@code outbound_transfers.crypto_wallets}, or {@code - * outbound_transfers.financial_accounts}. + * outbound_transfers.bank_accounts}, {@code outbound_transfers.crypto_wallets}, {@code + * outbound_transfers.financial_accounts}, {@code received_credits.bank_accounts}, {@code + * received_credits.crypto_wallets}, or {@code received_debits.bank_accounts}. */ @SerializedName("updated_capability") String updatedCapability; diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEventNotification.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEventNotification.java similarity index 75% rename from src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEventNotification.java rename to src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEventNotification.java index 90a72ddc20a..7863cf7a365 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEventNotification.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEventNotification.java @@ -9,7 +9,8 @@ import lombok.Getter; @Getter -public final class V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEventNotification +public final +class V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEventNotification extends EventNotification { @SerializedName("related_object") @@ -22,9 +23,9 @@ public Account fetchRelatedObject() throws StripeException { } /** Retrieve the corresponding full event from the Stripe API. */ @Override - public V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent fetchEvent() + public V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent fetchEvent() throws StripeException { - return (V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent) + return (V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent) super.fetchEvent(); } } diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEvent.java similarity index 88% rename from src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerUpdatedEvent.java rename to src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEvent.java index cbb365f91cf..c131c87372c 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerUpdatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEvent.java @@ -9,7 +9,7 @@ import lombok.Getter; @Getter -public final class V2CoreAccountIncludingConfigurationStorerUpdatedEvent extends Event { +public final class V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEvent extends Event { @SerializedName("related_object") /** Object containing the reference to API resource relevant to the event. */ diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerUpdatedEventNotification.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEventNotification.java similarity index 73% rename from src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerUpdatedEventNotification.java rename to src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEventNotification.java index 1f153afe6cc..b4e825322f0 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationStorerUpdatedEventNotification.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEventNotification.java @@ -9,7 +9,7 @@ import lombok.Getter; @Getter -public final class V2CoreAccountIncludingConfigurationStorerUpdatedEventNotification +public final class V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEventNotification extends EventNotification { @SerializedName("related_object") @@ -22,7 +22,8 @@ public Account fetchRelatedObject() throws StripeException { } /** Retrieve the corresponding full event from the Stripe API. */ @Override - public V2CoreAccountIncludingConfigurationStorerUpdatedEvent fetchEvent() throws StripeException { - return (V2CoreAccountIncludingConfigurationStorerUpdatedEvent) super.fetchEvent(); + public V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEvent fetchEvent() + throws StripeException { + return (V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEvent) super.fetchEvent(); } } diff --git a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEvent.java b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEvent.java index 7e5f8c6ff59..4e4240a2868 100644 --- a/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEvent.java +++ b/src/main/java/com/stripe/events/V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEvent.java @@ -22,9 +22,12 @@ public static final class EventData { /** * Open Enum. The capability which had its status updated. * - *

One of {@code bank_accounts.instant}, {@code bank_accounts.local}, {@code - * bank_accounts.wire}, {@code cards}, {@code crypto_wallets_v2}, {@code paper_checks}, {@code - * stripe_balance.payouts}, {@code stripe_balance.stripe_transfers}, or {@code + *

One of {@code bank_accounts.ach}, {@code bank_accounts.becs}, {@code bank_accounts.eft}, + * {@code bank_accounts.fedwire}, {@code bank_accounts.fps}, {@code bank_accounts.instant}, + * {@code bank_accounts.local}, {@code bank_accounts.npp}, {@code bank_accounts.rtp}, {@code + * bank_accounts.sepa_credit}, {@code bank_accounts.sepa_instant}, {@code bank_accounts.swift}, + * {@code bank_accounts.wire}, {@code cards}, {@code crypto_wallets_v2}, {@code paper_checks}, + * {@code stripe_balance.payouts}, {@code stripe_balance.stripe_transfers}, or {@code * stripe.transfers}. */ @SerializedName("updated_capability") diff --git a/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeFailedEvent.java b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeFailedEvent.java new file mode 100644 index 00000000000..ac3866f9927 --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeFailedEvent.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.Event; +import com.stripe.model.v2.core.Event.RelatedObject; +import com.stripe.model.v2.moneymanagement.DebitDispute; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementDebitDisputeFailedEvent 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 DebitDispute fetchRelatedObject() throws StripeException { + return (DebitDispute) super.fetchRelatedObject(this.relatedObject); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeFailedEventNotification.java b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeFailedEventNotification.java new file mode 100644 index 00000000000..0262c61f699 --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeFailedEventNotification.java @@ -0,0 +1,27 @@ +// 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.Event.RelatedObject; +import com.stripe.model.v2.core.EventNotification; +import com.stripe.model.v2.moneymanagement.DebitDispute; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementDebitDisputeFailedEventNotification 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 DebitDispute fetchRelatedObject() throws StripeException { + return (DebitDispute) super.fetchRelatedObject(this.relatedObject); + } + /** Retrieve the corresponding full event from the Stripe API. */ + @Override + public V2MoneyManagementDebitDisputeFailedEvent fetchEvent() throws StripeException { + return (V2MoneyManagementDebitDisputeFailedEvent) super.fetchEvent(); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSubmittedEvent.java b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSubmittedEvent.java new file mode 100644 index 00000000000..95b9d741f78 --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSubmittedEvent.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.Event; +import com.stripe.model.v2.core.Event.RelatedObject; +import com.stripe.model.v2.moneymanagement.DebitDispute; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementDebitDisputeSubmittedEvent 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 DebitDispute fetchRelatedObject() throws StripeException { + return (DebitDispute) super.fetchRelatedObject(this.relatedObject); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSubmittedEventNotification.java b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSubmittedEventNotification.java new file mode 100644 index 00000000000..89f5232d6da --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSubmittedEventNotification.java @@ -0,0 +1,28 @@ +// 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.Event.RelatedObject; +import com.stripe.model.v2.core.EventNotification; +import com.stripe.model.v2.moneymanagement.DebitDispute; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementDebitDisputeSubmittedEventNotification + 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 DebitDispute fetchRelatedObject() throws StripeException { + return (DebitDispute) super.fetchRelatedObject(this.relatedObject); + } + /** Retrieve the corresponding full event from the Stripe API. */ + @Override + public V2MoneyManagementDebitDisputeSubmittedEvent fetchEvent() throws StripeException { + return (V2MoneyManagementDebitDisputeSubmittedEvent) super.fetchEvent(); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSucceededEvent.java b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSucceededEvent.java new file mode 100644 index 00000000000..7522546805f --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSucceededEvent.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.Event; +import com.stripe.model.v2.core.Event.RelatedObject; +import com.stripe.model.v2.moneymanagement.DebitDispute; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementDebitDisputeSucceededEvent 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 DebitDispute fetchRelatedObject() throws StripeException { + return (DebitDispute) super.fetchRelatedObject(this.relatedObject); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSucceededEventNotification.java b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSucceededEventNotification.java new file mode 100644 index 00000000000..cb8ece7e8bc --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementDebitDisputeSucceededEventNotification.java @@ -0,0 +1,28 @@ +// 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.Event.RelatedObject; +import com.stripe.model.v2.core.EventNotification; +import com.stripe.model.v2.moneymanagement.DebitDispute; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementDebitDisputeSucceededEventNotification + 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 DebitDispute fetchRelatedObject() throws StripeException { + return (DebitDispute) super.fetchRelatedObject(this.relatedObject); + } + /** Retrieve the corresponding full event from the Stripe API. */ + @Override + public V2MoneyManagementDebitDisputeSucceededEvent fetchEvent() throws StripeException { + return (V2MoneyManagementDebitDisputeSucceededEvent) super.fetchEvent(); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementOutboundPaymentUnderReviewEvent.java b/src/main/java/com/stripe/events/V2MoneyManagementOutboundPaymentUnderReviewEvent.java new file mode 100644 index 00000000000..25be4c74058 --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementOutboundPaymentUnderReviewEvent.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.Event; +import com.stripe.model.v2.core.Event.RelatedObject; +import com.stripe.model.v2.moneymanagement.OutboundPayment; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementOutboundPaymentUnderReviewEvent 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 OutboundPayment fetchRelatedObject() throws StripeException { + return (OutboundPayment) super.fetchRelatedObject(this.relatedObject); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementOutboundPaymentUnderReviewEventNotification.java b/src/main/java/com/stripe/events/V2MoneyManagementOutboundPaymentUnderReviewEventNotification.java new file mode 100644 index 00000000000..4af42e7b1e7 --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementOutboundPaymentUnderReviewEventNotification.java @@ -0,0 +1,28 @@ +// 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.Event.RelatedObject; +import com.stripe.model.v2.core.EventNotification; +import com.stripe.model.v2.moneymanagement.OutboundPayment; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementOutboundPaymentUnderReviewEventNotification + 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 OutboundPayment fetchRelatedObject() throws StripeException { + return (OutboundPayment) super.fetchRelatedObject(this.relatedObject); + } + /** Retrieve the corresponding full event from the Stripe API. */ + @Override + public V2MoneyManagementOutboundPaymentUnderReviewEvent fetchEvent() throws StripeException { + return (V2MoneyManagementOutboundPaymentUnderReviewEvent) super.fetchEvent(); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementOutboundTransferUnderReviewEvent.java b/src/main/java/com/stripe/events/V2MoneyManagementOutboundTransferUnderReviewEvent.java new file mode 100644 index 00000000000..6c3b29b1e43 --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementOutboundTransferUnderReviewEvent.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.Event; +import com.stripe.model.v2.core.Event.RelatedObject; +import com.stripe.model.v2.moneymanagement.OutboundTransfer; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementOutboundTransferUnderReviewEvent 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 OutboundTransfer fetchRelatedObject() throws StripeException { + return (OutboundTransfer) super.fetchRelatedObject(this.relatedObject); + } +} diff --git a/src/main/java/com/stripe/events/V2MoneyManagementOutboundTransferUnderReviewEventNotification.java b/src/main/java/com/stripe/events/V2MoneyManagementOutboundTransferUnderReviewEventNotification.java new file mode 100644 index 00000000000..f2fa4fff345 --- /dev/null +++ b/src/main/java/com/stripe/events/V2MoneyManagementOutboundTransferUnderReviewEventNotification.java @@ -0,0 +1,28 @@ +// 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.Event.RelatedObject; +import com.stripe.model.v2.core.EventNotification; +import com.stripe.model.v2.moneymanagement.OutboundTransfer; +import lombok.Getter; + +@Getter +public final class V2MoneyManagementOutboundTransferUnderReviewEventNotification + 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 OutboundTransfer fetchRelatedObject() throws StripeException { + return (OutboundTransfer) super.fetchRelatedObject(this.relatedObject); + } + /** Retrieve the corresponding full event from the Stripe API. */ + @Override + public V2MoneyManagementOutboundTransferUnderReviewEvent fetchEvent() throws StripeException { + return (V2MoneyManagementOutboundTransferUnderReviewEvent) super.fetchEvent(); + } +} diff --git a/src/main/java/com/stripe/model/AccountSession.java b/src/main/java/com/stripe/model/AccountSession.java index d5afc1e73c1..0ea668a655c 100644 --- a/src/main/java/com/stripe/model/AccountSession.java +++ b/src/main/java/com/stripe/model/AccountSession.java @@ -191,6 +191,22 @@ public static class Components extends StripeObject { @SerializedName("financial_account_transactions") FinancialAccountTransactions financialAccountTransactions; + /** + * Configuration for the financial + * accounts embedded component. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; + + /** + * Configuration for the financial + * accounts transactions embedded component. + */ + @SerializedName("financial_accounts_transactions") + FinancialAccountsTransactions financialAccountsTransactions; + @SerializedName("instant_payouts_promotion") InstantPayoutsPromotion instantPayoutsPromotion; @@ -240,6 +256,14 @@ public static class Components extends StripeObject { @SerializedName("payouts_list") PayoutsList payoutsList; + /** + * Configuration for the recipients + * list embedded component. + */ + @SerializedName("recipients_list") + RecipientsList recipientsList; + @SerializedName("tax_registrations") TaxRegistrations taxRegistrations; @@ -795,6 +819,120 @@ public static class Features extends StripeObject { } } + /** + * For more details about FinancialAccounts, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts extends StripeObject { + /** Whether the embedded component is enabled. */ + @SerializedName("enabled") + Boolean enabled; + + @SerializedName("features") + Features features; + + /** + * For more details about Features, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Features extends StripeObject { + /** Whether to allow bill management features. */ + @SerializedName("bill_management") + Boolean billManagement; + + /** Whether to allow card management features. */ + @SerializedName("card_management") + Boolean cardManagement; + + /** + * Whether Stripe user authentication is disabled. This value can only be {@code true} for + * accounts where {@code controller.requirement_collection} is {@code application} for the + * account. This is {@code false} by default. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + + /** + * Whether to allow payout schedule to be changed. Defaults to {@code true} when {@code + * controller.losses.payments} is set to {@code stripe} for the account, otherwise {@code + * false}. + */ + @SerializedName("edit_payout_schedule") + Boolean editPayoutSchedule; + + /** + * Whether to enable the send money feature that grants access to the v2 + * CreateOutboundPayment API. + */ + @SerializedName("send_money") + Boolean sendMoney; + } + } + + /** + * For more details about FinancialAccountsTransactions, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccountsTransactions extends StripeObject { + /** Whether the embedded component is enabled. */ + @SerializedName("enabled") + Boolean enabled; + + @SerializedName("features") + Features features; + + /** + * For more details about Features, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Features extends StripeObject { + /** + * Whether to allow capturing and cancelling payment intents. This is {@code true} by + * default. + */ + @SerializedName("capture_payments") + Boolean capturePayments; + + /** Whether to allow card management features. */ + @SerializedName("card_management") + Boolean cardManagement; + + /** Whether to allow card spend dispute management features. */ + @SerializedName("card_spend_dispute_management") + Boolean cardSpendDisputeManagement; + + /** + * Whether connected accounts can manage destination charges that are created on behalf of + * them. This is {@code false} by default. + */ + @SerializedName("destination_on_behalf_of_charge_management") + Boolean destinationOnBehalfOfChargeManagement; + + /** + * Whether responding to disputes is enabled, including submitting evidence and accepting + * disputes. This is {@code true} by default. + */ + @SerializedName("dispute_management") + Boolean disputeManagement; + + /** Whether sending refunds is enabled. This is {@code true} by default. */ + @SerializedName("refund_management") + Boolean refundManagement; + } + } + /** * For more details about InstantPayoutsPromotion, please refer to the API Reference. @@ -1319,6 +1457,43 @@ public static class PayoutsList extends StripeObject { public static class Features extends StripeObject {} } + /** + * For more details about RecipientsList, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RecipientsList extends StripeObject { + /** Whether the embedded component is enabled. */ + @SerializedName("enabled") + Boolean enabled; + + @SerializedName("features") + Features features; + + /** + * For more details about Features, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Features extends StripeObject { + /** + * Whether Stripe user authentication is disabled. This value can only be {@code true} for + * accounts where {@code controller.requirement_collection} is {@code application} for the + * account. This is {@code false} by default. + */ + @SerializedName("disable_stripe_user_authentication") + Boolean disableStripeUserAuthentication; + + /** Whether to allow sending money. */ + @SerializedName("send_money") + Boolean sendMoney; + } + } + /** * For more details about TaxRegistrations, 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 937038a25fe..19dcb552b7c 100644 --- a/src/main/java/com/stripe/model/Charge.java +++ b/src/main/java/com/stripe/model/Charge.java @@ -3082,6 +3082,20 @@ public static class GiftCard extends StripeObject { @SerializedName("last4") String last4; + /** + * ID of the location that this + * transaction's reader is assigned to. + */ + @SerializedName("location") + String location; + + /** + * ID of the reader this + * transaction was made on. + */ + @SerializedName("reader") + String reader; + /** The transaction ID from the gift card processor. */ @SerializedName("transaction_id") String transactionId; diff --git a/src/main/java/com/stripe/model/Event.java b/src/main/java/com/stripe/model/Event.java index 3e3b998b83f..a6942b25135 100644 --- a/src/main/java/com/stripe/model/Event.java +++ b/src/main/java/com/stripe/model/Event.java @@ -113,14 +113,15 @@ public class Event extends ApiResource implements HasId { * account.external_account.updated}, {@code account.updated}, {@code account_notice.created}, * {@code account_notice.updated}, {@code application_fee.created}, {@code * application_fee.refund.updated}, {@code application_fee.refunded}, {@code balance.available}, - * {@code balance_settings.updated}, {@code billing.alert.triggered}, {@code - * billing.credit_grant.created}, {@code billing_portal.configuration.created}, {@code - * billing_portal.configuration.updated}, {@code billing_portal.session.created}, {@code - * capability.updated}, {@code capital.financing_offer.accepted}, {@code - * capital.financing_offer.accepted_other_offer}, {@code capital.financing_offer.canceled}, {@code - * capital.financing_offer.created}, {@code capital.financing_offer.expired}, {@code - * capital.financing_offer.fully_repaid}, {@code capital.financing_offer.paid_out}, {@code - * capital.financing_offer.rejected}, {@code capital.financing_offer.replacement_created}, {@code + * {@code balance_settings.updated}, {@code billing.alert.recovered}, {@code + * billing.alert.triggered}, {@code billing.credit_grant.created}, {@code + * billing_portal.configuration.created}, {@code billing_portal.configuration.updated}, {@code + * billing_portal.session.created}, {@code capability.updated}, {@code + * capital.financing_offer.accepted}, {@code capital.financing_offer.accepted_other_offer}, {@code + * capital.financing_offer.canceled}, {@code capital.financing_offer.created}, {@code + * capital.financing_offer.expired}, {@code capital.financing_offer.fully_repaid}, {@code + * capital.financing_offer.paid_out}, {@code capital.financing_offer.rejected}, {@code + * capital.financing_offer.replacement_created}, {@code * capital.financing_summary.line_of_credit_update}, {@code * capital.financing_transaction.created}, {@code cash_balance.funds_available}, {@code * charge.captured}, {@code charge.dispute.closed}, {@code charge.dispute.created}, {@code @@ -184,8 +185,8 @@ public class Event extends ApiResource implements HasId { * {@code issuing_transaction.created}, {@code * issuing_transaction.purchase_details_receipt_updated}, {@code issuing_transaction.updated}, * {@code mandate.updated}, {@code payment_intent.amount_capturable_updated}, {@code - * payment_intent.canceled}, {@code payment_intent.created}, {@code - * payment_intent.partially_funded}, {@code payment_intent.payment_failed}, {@code + * payment_intent.canceled}, {@code payment_intent.created}, {@code payment_intent.expired}, + * {@code payment_intent.partially_funded}, {@code payment_intent.payment_failed}, {@code * payment_intent.processing}, {@code payment_intent.requires_action}, {@code * payment_intent.succeeded}, {@code payment_link.created}, {@code payment_link.updated}, {@code * payment_method.attached}, {@code payment_method.automatically_updated}, {@code @@ -242,7 +243,6 @@ public class Event extends ApiResource implements HasId { * treasury.outbound_transfer.tracking_details_updated}, {@code treasury.received_credit.created}, * {@code treasury.received_credit.failed}, {@code treasury.received_credit.succeeded}, {@code * treasury.received_debit.created}, {@code invoice_payment.detached}, {@code - * billing.alert.recovered}, {@code payment_intent.expired}, {@code * billing.credit_balance_transaction.created}, {@code billing.credit_grant.updated}, {@code * billing.meter.created}, {@code billing.meter.deactivated}, {@code billing.meter.reactivated}, * or {@code billing.meter.updated}. diff --git a/src/main/java/com/stripe/model/GiftCardOperation.java b/src/main/java/com/stripe/model/GiftCardOperation.java index dc1ceb492e7..d097a312653 100644 --- a/src/main/java/com/stripe/model/GiftCardOperation.java +++ b/src/main/java/com/stripe/model/GiftCardOperation.java @@ -87,6 +87,10 @@ public class GiftCardOperation extends ApiResource implements HasId { @SerializedName("livemode") Boolean livemode; + /** ID of the location that this transaction's reader is assigned to. */ + @SerializedName("location") + String location; + /** * String representing the object's type. Objects of the same type share the same value. * @@ -99,6 +103,10 @@ public class GiftCardOperation extends ApiResource implements HasId { @SerializedName("on_behalf_of") String onBehalfOf; + /** ID of the reader this transaction was made on. */ + @SerializedName("reader") + String reader; + /** Details about a gift card reload operation. */ @SerializedName("reload") Reload reload; diff --git a/src/main/java/com/stripe/model/PaymentAttemptRecord.java b/src/main/java/com/stripe/model/PaymentAttemptRecord.java index e9ee1067585..614b04f6c1c 100644 --- a/src/main/java/com/stripe/model/PaymentAttemptRecord.java +++ b/src/main/java/com/stripe/model/PaymentAttemptRecord.java @@ -13,6 +13,7 @@ import com.stripe.param.PaymentAttemptRecordReportAuthenticatedParams; import com.stripe.param.PaymentAttemptRecordReportAuthorizedParams; import com.stripe.param.PaymentAttemptRecordReportCanceledParams; +import com.stripe.param.PaymentAttemptRecordReportEarlyFraudWarningParams; import com.stripe.param.PaymentAttemptRecordReportFailedParams; import com.stripe.param.PaymentAttemptRecordReportGuaranteedParams; import com.stripe.param.PaymentAttemptRecordReportInformationalParams; @@ -331,6 +332,49 @@ public PaymentAttemptRecord reportCanceled( return getResponseGetter().request(request, PaymentAttemptRecord.class); } + /** Report that the specified Payment Attempt Record received an early fraud warning. */ + public PaymentAttemptRecord reportEarlyFraudWarning(Map params) + throws StripeException { + return reportEarlyFraudWarning(params, (RequestOptions) null); + } + + /** Report that the specified Payment Attempt Record received an early fraud warning. */ + public PaymentAttemptRecord reportEarlyFraudWarning( + Map params, RequestOptions options) throws StripeException { + String path = + String.format( + "/v1/payment_attempt_records/%s/report_early_fraud_warning", + ApiResource.urlEncodeId(this.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getResponseGetter().request(request, PaymentAttemptRecord.class); + } + + /** Report that the specified Payment Attempt Record received an early fraud warning. */ + public PaymentAttemptRecord reportEarlyFraudWarning( + PaymentAttemptRecordReportEarlyFraudWarningParams params) throws StripeException { + return reportEarlyFraudWarning(params, (RequestOptions) null); + } + + /** Report that the specified Payment Attempt Record received an early fraud warning. */ + public PaymentAttemptRecord reportEarlyFraudWarning( + PaymentAttemptRecordReportEarlyFraudWarningParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/payment_attempt_records/%s/report_early_fraud_warning", + 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, PaymentAttemptRecord.class); + } + /** Report that the specified Payment Attempt Record failed. */ public PaymentAttemptRecord reportFailed() throws StripeException { return reportFailed((Map) null, (RequestOptions) null); @@ -2425,6 +2469,20 @@ public static class GiftCard extends StripeObject { @SerializedName("last4") String last4; + /** + * ID of the location that this + * transaction's reader is assigned to. + */ + @SerializedName("location") + String location; + + /** + * ID of the reader this + * transaction was made on. + */ + @SerializedName("reader") + String reader; + /** The transaction ID from the gift card processor. */ @SerializedName("transaction_id") String transactionId; diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java index 769532b31ae..16456a2cdb0 100644 --- a/src/main/java/com/stripe/model/PaymentIntent.java +++ b/src/main/java/com/stripe/model/PaymentIntent.java @@ -5224,7 +5224,6 @@ public static class MoneyServices extends StripeObject { @SerializedName("account_funding") AccountFunding accountFunding; - /** ID of the Account representing the beneficiary in this account funding transaction. */ @SerializedName("beneficiary_account") String beneficiaryAccount; @@ -5247,7 +5246,6 @@ public static class MoneyServices extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class AccountFunding extends StripeObject { - /** ID of the Account representing the sender in this account funding transaction. */ @SerializedName("sender_account") String senderAccount; diff --git a/src/main/java/com/stripe/model/PaymentRecord.java b/src/main/java/com/stripe/model/PaymentRecord.java index 5a08e959e35..a16665885b6 100644 --- a/src/main/java/com/stripe/model/PaymentRecord.java +++ b/src/main/java/com/stripe/model/PaymentRecord.java @@ -17,6 +17,7 @@ import com.stripe.param.PaymentRecordReportPaymentParams; import com.stripe.param.PaymentRecordReportRefundParams; import com.stripe.param.PaymentRecordRetrieveParams; +import com.stripe.param.PaymentRecordSearchParams; import java.util.List; import java.util.Map; import lombok.EqualsAndHashCode; @@ -540,6 +541,70 @@ public static PaymentRecord retrieve( return getGlobalResponseGetter().request(request, PaymentRecord.class); } + /** + * Search for PaymentRecords you’ve previously created using Stripe’s Search Query Language. Don’t + * use search in read-after-write flows where strict consistency is necessary. Under normal + * operating conditions, data is searchable in less than a minute. Occasionally, propagation of + * new or updated data can be up to an hour behind during outages. Search functionality is not + * available to merchants in India. + */ + public static PaymentRecordSearchResult search(Map params) + throws StripeException { + return search(params, (RequestOptions) null); + } + + /** + * Search for PaymentRecords you’ve previously created using Stripe’s Search Query Language. Don’t + * use search in read-after-write flows where strict consistency is necessary. Under normal + * operating conditions, data is searchable in less than a minute. Occasionally, propagation of + * new or updated data can be up to an hour behind during outages. Search functionality is not + * available to merchants in India. + */ + public static PaymentRecordSearchResult search(Map params, RequestOptions options) + throws StripeException { + String path = "/v1/payment_records/search"; + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, params, options); + return getGlobalResponseGetter().request(request, PaymentRecordSearchResult.class); + } + + /** + * Search for PaymentRecords you’ve previously created using Stripe’s Search Query Language. Don’t + * use search in read-after-write flows where strict consistency is necessary. Under normal + * operating conditions, data is searchable in less than a minute. Occasionally, propagation of + * new or updated data can be up to an hour behind during outages. Search functionality is not + * available to merchants in India. + */ + public static PaymentRecordSearchResult search(PaymentRecordSearchParams params) + throws StripeException { + return search(params, (RequestOptions) null); + } + + /** + * Search for PaymentRecords you’ve previously created using Stripe’s Search Query Language. Don’t + * use search in read-after-write flows where strict consistency is necessary. Under normal + * operating conditions, data is searchable in less than a minute. Occasionally, propagation of + * new or updated data can be up to an hour behind during outages. Search functionality is not + * available to merchants in India. + */ + public static PaymentRecordSearchResult search( + PaymentRecordSearchParams params, RequestOptions options) throws StripeException { + String path = "/v1/payment_records/search"; + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return getGlobalResponseGetter().request(request, PaymentRecordSearchResult.class); + } + /** A representation of an amount of money, consisting of an amount and a currency. */ @Getter @Setter @@ -2403,6 +2468,20 @@ public static class GiftCard extends StripeObject { @SerializedName("last4") String last4; + /** + * ID of the location that this + * transaction's reader is assigned to. + */ + @SerializedName("location") + String location; + + /** + * ID of the reader this + * transaction was made on. + */ + @SerializedName("reader") + String reader; + /** The transaction ID from the gift card processor. */ @SerializedName("transaction_id") String transactionId; diff --git a/src/main/java/com/stripe/model/PaymentRecordSearchResult.java b/src/main/java/com/stripe/model/PaymentRecordSearchResult.java new file mode 100644 index 00000000000..ea4d811dec5 --- /dev/null +++ b/src/main/java/com/stripe/model/PaymentRecordSearchResult.java @@ -0,0 +1,4 @@ +// File generated from our OpenAPI spec +package com.stripe.model; + +public class PaymentRecordSearchResult extends StripeSearchResult {} diff --git a/src/main/java/com/stripe/model/checkout/Session.java b/src/main/java/com/stripe/model/checkout/Session.java index 9a2faadb211..0e23b53ce7d 100644 --- a/src/main/java/com/stripe/model/checkout/Session.java +++ b/src/main/java/com/stripe/model/checkout/Session.java @@ -280,6 +280,10 @@ public class Session extends ApiResource implements HasId, MetadataStore items; + /** The line items purchased by the customer. */ @SerializedName("line_items") LineItemCollection lineItems; @@ -1758,6 +1762,10 @@ public static class Boleto extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class Card extends StripeObject { + /** The brand of the card, accounting for customer's brand choice on dual-branded cards. */ + @SerializedName("brand") + String brand; + /** * Two-letter ISO code representing the country of the card. You could use this attribute to * get a sense of the international breakdown of cards you've collected. @@ -2474,6 +2482,27 @@ public static class RenderingOptions extends StripeObject { } } + /** + * For more details about Item, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Item extends StripeObject { + /** The key of the item. Guaranteed to be a unique ID within this checkout session's items. */ + @SerializedName("key") + String key; + + /** + * The type of the item. + * + *

Equal to {@code subscription}. + */ + @SerializedName("type") + String type; + } + /** * For more details about ManagedPayments, please refer to the API Reference. diff --git a/src/main/java/com/stripe/model/issuing/Authorization.java b/src/main/java/com/stripe/model/issuing/Authorization.java index 049fc178117..4d2cee97c85 100644 --- a/src/main/java/com/stripe/model/issuing/Authorization.java +++ b/src/main/java/com/stripe/model/issuing/Authorization.java @@ -121,6 +121,10 @@ public class Authorization extends ApiResource @SerializedName("currency") String currency; + /** Enriched merchant data for this authorization. */ + @SerializedName("enriched_merchant_data") + EnrichedMerchantData enrichedMerchantData; + /** Fleet-specific information for authorizations using Fleet cards. */ @SerializedName("fleet") Fleet fleet; @@ -663,17 +667,24 @@ public static class BalanceResponse extends StripeObject { String accountType; /** - * The remaining balance in the cardholder's account after the authorization, in the smallest - * currency unit. + * The available balance or credit limit in the cardholder's account after the authorization, in + * the smallest currency unit. */ - @SerializedName("amount") - Long amount; + @SerializedName("available_balance") + Long availableBalance; /** - * The currency of the remaining balance in the cardholder's account after the authorization. + * The currency of the remaining balances in the cardholder's account after the authorization. */ @SerializedName("currency") String currency; + + /** + * The current ledger balance or remaining credit amount in the cardholder's account after the + * authorization, in the smallest currency unit. + */ + @SerializedName("current_balance") + Long currentBalance; } /** @@ -847,6 +858,308 @@ public static class Fee extends StripeObject { } } + /** + * For more details about EnrichedMerchantData, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class EnrichedMerchantData extends StripeObject { + /** + * Additional details about the seller (grocery store, e-commerce website, and so on) where the + * card authorization happened. + */ + @SerializedName("merchant") + Merchant merchant; + + /** An array of third parties involved in the card authorization, when applicable. */ + @SerializedName("third_parties") + List thirdParties; + + /** + * For more details about Merchant, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Merchant extends StripeObject { + @SerializedName("data_sources") + List dataSources; + + @SerializedName("industry") + Industry industry; + + /** Location data of the seller. */ + @SerializedName("location") + Location location; + + /** Image link to the seller's logo. */ + @SerializedName("logo") + String logo; + + /** The name of the seller. */ + @SerializedName("name") + String name; + + /** Phone number of the seller. */ + @SerializedName("phone") + String phone; + + /** If {@code spade} is a data source, this hash contains details provided by Spade. */ + @SerializedName("spade") + Spade spade; + + /** URL of the seller's website. */ + @SerializedName("url") + String url; + + /** + * For more details about Industry, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Industry extends StripeObject { + /** + * Most specific value of the seller's category. + * + *

One of {@code accessories}, {@code accounting_and_bookkeeping}, {@code acupuncture}, + * {@code administrative_services}, {@code adult_entertainment}, {@code adult_retail}, + * {@code advertising_and_marketing}, {@code advertising_technology}, {@code + * agricultural_technology}, {@code agriculture_and_forestry}, {@code + * airlines_and_aviation}, {@code alternative_medicine}, {@code alternative_rentals}, {@code + * anesthesiologists}, {@code antiques}, {@code aquatic_transportation}, {@code + * arcades_and_amusement_parks}, {@code art_dealers_and_galleries}, {@code + * arts_and_hobbies}, {@code atms}, {@code auctions}, {@code auto_parts_and_supplies}, + * {@code auto_smog_checks}, {@code auto_tires}, {@code auto_transmission}, {@code + * automotive_dealerships}, {@code automotive_retail}, {@code automotive_services}, {@code + * bakeries}, {@code banking_and_finance}, {@code bars}, {@code beauty_spas_and_salons}, + * {@code beer_wine_and_spirits}, {@code benefits}, {@code bicycles}, {@code + * billiards_and_pool}, {@code biotechnology}, {@code blood_banks_and_centers}, {@code + * boat_dealers}, {@code bookstores}, {@code bowling}, {@code + * breweries_distilleries_and_wineries}, {@code business_brokers_and_franchises}, {@code + * business_services}, {@code butchers}, {@code buy_now_pay_later}, {@code cafes}, {@code + * candy_shops}, {@code cannabis_dispensary}, {@code car_appraisers}, {@code + * car_wash_and_detail}, {@code cardiologists}, {@code cards_and_stationery}, {@code + * casinos_and_gambling}, {@code catering}, {@code charity}, {@code childcare}, {@code + * children_s_clothing}, {@code children_s_retail}, {@code chiropractors}, {@code + * circuses_and_carnivals}, {@code cleaning}, {@code clothing_and_accessories}, {@code + * clothing_services}, {@code commercial_supplies}, {@code communication_software}, {@code + * computers_and_electronics}, {@code construction_and_home_improvement}, {@code + * construction_supplies}, {@code contractors}, {@code convenience_stores}, {@code + * cosmetics}, {@code costumes}, {@code counseling_and_therapy}, {@code couriers}, {@code + * coworking_spaces}, {@code creative}, {@code creative_software}, {@code credit_reporting}, + * {@code crm}, {@code crowdfunding}, {@code cryptocurrency}, {@code + * dance_halls_and_saloons}, {@code delivery_services}, {@code dentists}, {@code + * department_stores}, {@code dermatologists}, {@code design_technology}, {@code + * developer_tools}, {@code digital_money_movement}, {@code discount_stores}, {@code + * education}, {@code educational_technology}, {@code electric_vehicle_charging}, {@code + * emergency_services}, {@code employment_services}, {@code enterprise_software}, {@code + * entertainment}, {@code ents}, {@code environmental_technology}, {@code + * equipment_rentals}, {@code events_and_event_planning}, {@code eyewear}, {@code + * fairgrounds_and_rodeos}, {@code family_medicine}, {@code fast_food}, {@code fertility}, + * {@code financial_management_software}, {@code financial_planning_and_investments}, {@code + * financial_technology}, {@code fishmongers}, {@code flea_markets}, {@code fleet}, {@code + * florists}, {@code food_and_drink}, {@code food_delivery_services}, {@code food_trucks}, + * {@code fuel_dealers}, {@code funeral_services}, {@code furniture}, {@code gas_stations}, + * {@code gastroenterologists}, {@code general_goods}, {@code general_surgery}, {@code + * gift_and_novelty}, {@code government}, {@code grocery_delivery_services}, {@code + * gyms_health_and_fitness_centers}, {@code hair_removal}, {@code hair_salons_and_barbers}, + * {@code hardware}, {@code hardware_and_home_improvement}, {@code + * hospitals_clinics_and_medical_centers}, {@code household_services}, {@code hr_platform}, + * {@code immigration}, {@code import_and_export}, {@code industrial_and_energy}, {@code + * inflight_internet_and_entertainment}, {@code insurance}, {@code internal_medicine}, + * {@code internet}, {@code jewelry_and_watches}, {@code landmarks}, {@code + * laundry_and_garment_services}, {@code lawn_and_garden}, {@code legal_services}, {@code + * legal_technology}, {@code lending}, {@code lingerie}, {@code lodging}, {@code luggage}, + * {@code maintenance_and_repair}, {@code manicures_and_pedicures}, {@code manufacturing}, + * {@code marina}, {@code marine_supplies}, {@code marketing_software}, {@code + * massage_clinics_and_therapists}, {@code media}, {@code medical_and_healthcare_services}, + * {@code medical_supplies_and_labs}, {@code men_s_clothing}, {@code + * mental_health_professionals}, {@code mobile_applications}, {@code + * motorcycle_moped_and_scooter_repair}, {@code museums}, {@code musical_instruments}, + * {@code neurologists}, {@code news_and_magazines}, {@code newsstands}, {@code + * nutritionists}, {@code obstetricians_and_gynecologists}, {@code office_supplies}, {@code + * oil_and_gas}, {@code oncologists}, {@code online_marketplace}, {@code ophthalmologists}, + * {@code optometrists}, {@code organizations}, {@code orthopedic_surgeons}, {@code other}, + * {@code outlets}, {@code packaging}, {@code paper}, {@code parking}, {@code + * parks_and_outdoors}, {@code party_centers}, {@code pathologists}, {@code pawn_shops}, + * {@code pediatricians}, {@code pet_grooming}, {@code pet_services}, {@code pets}, {@code + * pharmacies}, {@code photography}, {@code physical_therapy}, {@code piercings}, {@code + * plastic_surgeons}, {@code podiatrists}, {@code pregnancy_and_sexual_health}, {@code + * professional_services}, {@code property_management}, {@code psychiatrists}, {@code + * psychics_and_astrologers}, {@code psychologists}, {@code public_services}, {@code + * public_transportation}, {@code publishing_software}, {@code radiologists}, {@code rails}, + * {@code real_estate}, {@code recreation}, {@code religious}, {@code renewable_energy}, + * {@code respiratory}, {@code restaurants}, {@code retail}, {@code ride_shares}, {@code + * sales_enablement_software}, {@code security_and_privacy}, {@code security_and_safety}, + * {@code services}, {@code shipping_and_freight}, {@code shoes}, {@code skin_care}, {@code + * social_clubs}, {@code software}, {@code software_engineering}, {@code spas}, {@code + * specialist_physicans}, {@code specialty_clothing_and_accessories}, {@code + * specialty_foods}, {@code specialty_groceries}, {@code specialty_retail}, {@code + * sporting_goods}, {@code storage}, {@code streaming_services}, {@code + * supermarkets_and_grocery_stores}, {@code swimwear}, {@code tailors}, {@code + * tanning_salons}, {@code tattoos}, {@code taxes}, {@code taxi_and_limousines}, {@code + * technology}, {@code telecommunications}, {@code television}, {@code textiles}, {@code + * theater_and_cinema}, {@code tickets_and_reservations}, {@code + * tobacco_smoke_and_vape_shops}, {@code tolls_and_fees}, {@code + * tourist_information_and_services}, {@code towing_and_roadside_assistance}, {@code + * toy_stores}, {@code transportation}, {@code travel}, {@code travel_services}, {@code + * travel_software}, {@code urologists}, {@code utilities}, {@code vehicle_rentals}, {@code + * vending_machine}, {@code venues}, {@code veterinarians}, {@code video_games}, {@code + * vintage_and_thrift}, {@code warehouses_and_wholesale_stores}, {@code + * water_and_waste_management_services}, {@code web_infrastructure}, {@code + * wedding_and_bridal}, {@code women_s_clothing}, or {@code zoos_and_aquariums}. + */ + @SerializedName("id") + String id; + + /** Increasingly specific textual representations of the seller's category. */ + @SerializedName("names") + List names; + } + + /** + * For more details about Location, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Location extends StripeObject { + /** Address details of the seller. */ + @SerializedName("address") + Address address; + + /** Coordinates of the seller. */ + @SerializedName("coordinates") + Coordinates coordinates; + + /** + * For more details about Address, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Address extends StripeObject { + /** City, district, suburb, town, or village. */ + @SerializedName("city") + String city; + + /** + * Two-letter country code (ISO + * 3166-1 alpha-2). + */ + @SerializedName("country") + String country; + + /** Address line 1, such as the street, PO Box, or company name. */ + @SerializedName("line1") + String line1; + + /** Address line 2, such as the apartment, suite, unit, or building. */ + @SerializedName("line2") + String line2; + + /** ZIP or postal code. */ + @SerializedName("postal_code") + String postalCode; + + /** + * State, county, province, or region (ISO 3166-2). + */ + @SerializedName("state") + String state; + } + + /** + * For more details about Coordinates, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Coordinates extends StripeObject { + /** Latitude of the seller's location. */ + @SerializedName("latitude") + BigDecimal latitude; + + /** Longitude of the seller's location. */ + @SerializedName("longitude") + BigDecimal longitude; + } + } + + /** + * For more details about Spade, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Spade extends StripeObject { + /** Unified identifier for the seller. */ + @SerializedName("counterparty_id") + String counterpartyId; + + /** Unified identifier for the seller's location. */ + @SerializedName("location_id") + String locationId; + } + } + + /** + * For more details about ThirdParty, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ThirdParty extends StripeObject { + @SerializedName("data_sources") + List dataSources; + + /** Image link to the third party's logo. */ + @SerializedName("logo") + String logo; + + /** Name of the third party. */ + @SerializedName("name") + String name; + + /** If {@code spade} is a data source, this hash contains details provided by Spade. */ + @SerializedName("spade") + Spade spade; + + /** + * Category of the third party. + * + *

One of {@code buy_now_pay_later}, {@code delivery_service}, {@code marketplace}, {@code + * other}, {@code payment_processor}, or {@code platform}. + */ + @SerializedName("type") + String type; + + /** + * For more details about Spade, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Spade extends StripeObject { + /** Unified identifier for the third party. */ + @SerializedName("third_party_id") + String thirdPartyId; + } + } + } + /** * For more details about Fleet, please refer to the API * Reference. @@ -2094,6 +2407,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) { trySetResponseGetter(balanceResponse, responseGetter); trySetResponseGetter(card, responseGetter); trySetResponseGetter(cardholder, responseGetter); + trySetResponseGetter(enrichedMerchantData, responseGetter); trySetResponseGetter(fleet, responseGetter); trySetResponseGetter(fuel, responseGetter); trySetResponseGetter(merchantData, responseGetter); diff --git a/src/main/java/com/stripe/model/issuing/CreditUnderwritingRecord.java b/src/main/java/com/stripe/model/issuing/CreditUnderwritingRecord.java index 52cc3473e87..27ad1a970b6 100644 --- a/src/main/java/com/stripe/model/issuing/CreditUnderwritingRecord.java +++ b/src/main/java/com/stripe/model/issuing/CreditUnderwritingRecord.java @@ -16,6 +16,7 @@ import com.stripe.param.issuing.CreditUnderwritingRecordCreateFromProactiveReviewParams; import com.stripe.param.issuing.CreditUnderwritingRecordListParams; import com.stripe.param.issuing.CreditUnderwritingRecordReportDecisionParams; +import com.stripe.param.issuing.CreditUnderwritingRecordReportOfferAcceptanceParams; import com.stripe.param.issuing.CreditUnderwritingRecordRetrieveParams; import java.util.List; import java.util.Map; @@ -71,6 +72,10 @@ public class CreditUnderwritingRecord extends ApiResource implements HasId { @SerializedName("decision_deadline") Long decisionDeadline; + /** Time at which the decision deadline was last updated. */ + @SerializedName("decision_deadline_updated_at") + Long decisionDeadlineUpdatedAt; + /** Unique identifier for the object. */ @Getter(onMethod_ = {@Override}) @SerializedName("id") @@ -364,6 +369,78 @@ public CreditUnderwritingRecord reportDecision( return getResponseGetter().request(request, CreditUnderwritingRecord.class); } + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance() throws StripeException { + return reportOfferAcceptance((Map) null, (RequestOptions) null); + } + + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance(RequestOptions options) + throws StripeException { + return reportOfferAcceptance((Map) null, options); + } + + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance(Map params) + throws StripeException { + return reportOfferAcceptance(params, (RequestOptions) null); + } + + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance( + Map params, RequestOptions options) throws StripeException { + String path = + String.format( + "/v1/issuing/credit_underwriting_records/%s/report_offer_acceptance", + ApiResource.urlEncodeId(this.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return getResponseGetter().request(request, CreditUnderwritingRecord.class); + } + + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance( + CreditUnderwritingRecordReportOfferAcceptanceParams params) throws StripeException { + return reportOfferAcceptance(params, (RequestOptions) null); + } + + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance( + CreditUnderwritingRecordReportOfferAcceptanceParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/issuing/credit_underwriting_records/%s/report_offer_acceptance", + 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, CreditUnderwritingRecord.class); + } + /** Retrieves a {@code CreditUnderwritingRecord} object. */ public static CreditUnderwritingRecord retrieve(String creditUnderwritingRecord) throws StripeException { diff --git a/src/main/java/com/stripe/model/issuing/Dispute.java b/src/main/java/com/stripe/model/issuing/Dispute.java index 9971892f741..eaab8c311e4 100644 --- a/src/main/java/com/stripe/model/issuing/Dispute.java +++ b/src/main/java/com/stripe/model/issuing/Dispute.java @@ -18,6 +18,7 @@ import com.stripe.param.issuing.DisputeCloseParams; import com.stripe.param.issuing.DisputeCreateParams; import com.stripe.param.issuing.DisputeListParams; +import com.stripe.param.issuing.DisputeProvisionalCreditParams; import com.stripe.param.issuing.DisputeRetrieveParams; import com.stripe.param.issuing.DisputeSimulateNetworkLifecycleDisputeResponseParams; import com.stripe.param.issuing.DisputeSimulateNetworkLifecyclePreArbitrationResponseParams; @@ -1376,6 +1377,80 @@ public Dispute close(DisputeCloseParams params, RequestOptions options) throws S return resource.getResponseGetter().request(request, Dispute.class); } + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven + * status transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit() throws StripeException { + return provisionalCredit((Map) null, (RequestOptions) null); + } + + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven + * status transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(RequestOptions options) throws StripeException { + return provisionalCredit((Map) null, options); + } + + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven + * status transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(Map params) throws StripeException { + return provisionalCredit(params, (RequestOptions) null); + } + + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven + * status transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(Map params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/test_helpers/issuing/disputes/%s/provisional_credit", + ApiResource.urlEncodeId(this.resource.getId())); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, params, options); + return resource.getResponseGetter().request(request, Dispute.class); + } + + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven + * status transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(DisputeProvisionalCreditParams params) throws StripeException { + return provisionalCredit(params, (RequestOptions) null); + } + + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven + * status transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(DisputeProvisionalCreditParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/test_helpers/issuing/disputes/%s/provisional_credit", + ApiResource.urlEncodeId(this.resource.getId())); + ApiResource.checkNullTypedParams(path, params); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return resource.getResponseGetter().request(request, Dispute.class); + } + /** * Test helper: populates {@code network_lifecycle.dispute_response} on a test-mode Visa Issuing * Dispute using placeholder file tokens. Only supported for Visa disputes. diff --git a/src/main/java/com/stripe/model/issuing/Transaction.java b/src/main/java/com/stripe/model/issuing/Transaction.java index 5e90ce91ddb..284e2a4c5ca 100644 --- a/src/main/java/com/stripe/model/issuing/Transaction.java +++ b/src/main/java/com/stripe/model/issuing/Transaction.java @@ -729,6 +729,13 @@ public static class MerchantData extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class NetworkData extends StripeObject { + /** + * The network-provided acquirer reference number for this transaction, if available. Use this + * value for downstream operational workflows such as filing disputes with the card network. + */ + @SerializedName("acquirer_reference_number") + String acquirerReferenceNumber; + /** * A code created by Stripe which is shared with the merchant to validate the authorization. * This field will be populated if the authorization message was approved. The code typically diff --git a/src/main/java/com/stripe/model/tax/TransactionLineItem.java b/src/main/java/com/stripe/model/tax/TransactionLineItem.java index bab045a7bec..8f1bd4781bf 100644 --- a/src/main/java/com/stripe/model/tax/TransactionLineItem.java +++ b/src/main/java/com/stripe/model/tax/TransactionLineItem.java @@ -56,16 +56,6 @@ public class TransactionLineItem extends StripeObject implements HasId { @SerializedName("object") String object; - /** - * The address of the location where this line item's event or service takes place. Depending on - * the tax code, providing a performance location - * is required, optional, or not supported. Use this to provide the address inline without - * pre-creating a TaxLocation object. Can't be - * used with {@code performance_location}. - */ - @SerializedName("performance_location_details") - PerformanceLocationDetails performanceLocationDetails; - /** The ID of an existing Product. */ @SerializedName("product") String product; @@ -108,57 +98,6 @@ public class TransactionLineItem extends StripeObject implements HasId { @SerializedName("type") String type; - /** - * For more details about PerformanceLocationDetails, please refer to the API Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class PerformanceLocationDetails extends StripeObject { - @SerializedName("address") - Address address; - - /** - * For more details about Address, please refer to the API - * Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Address extends StripeObject { - /** City, district, suburb, town, or village. */ - @SerializedName("city") - String city; - - /** - * Two-letter country code (ISO - * 3166-1 alpha-2). - */ - @SerializedName("country") - String country; - - /** Address line 1, such as the street, PO Box, or company name. */ - @SerializedName("line1") - String line1; - - /** Address line 2, such as the apartment, suite, unit, or building. */ - @SerializedName("line2") - String line2; - - /** ZIP or postal code. */ - @SerializedName("postal_code") - String postalCode; - - /** - * State/province as an ISO 3166-2 - * subdivision code, without country prefix, such as "NY" or "TX". - */ - @SerializedName("state") - String state; - } - } - /** * For more details about Reversal, please refer to the API * Reference. diff --git a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java index af8eaa2f55e..36e8b36070d 100644 --- a/src/main/java/com/stripe/model/v2/EventDataClassLookup.java +++ b/src/main/java/com/stripe/model/v2/EventDataClassLookup.java @@ -113,8 +113,8 @@ public final class EventDataClassLookup { com.stripe.model.v2.billing.CollectionSettingVersion.class); classLookup.put("v2.billing.contract", com.stripe.model.v2.billing.Contract.class); classLookup.put( - "v2.billing.contract_license_pricing_quantity_change", - com.stripe.model.v2.billing.ContractLicensePricingQuantityChange.class); + "v2.billing.contract_pricing_line_quantity_change", + com.stripe.model.v2.billing.ContractPricingLineQuantityChange.class); classLookup.put( "v2.billing.custom_pricing_unit", com.stripe.model.v2.billing.CustomPricingUnit.class); classLookup.put("v2.billing.intent", com.stripe.model.v2.billing.Intent.class); @@ -173,6 +173,11 @@ public final class EventDataClassLookup { classLookup.put("v2.core.fee_batch", com.stripe.model.v2.core.FeeBatch.class); classLookup.put("v2.core.fee_entry", com.stripe.model.v2.core.FeeEntry.class); + classLookup.put("v2.core.health.alert", com.stripe.model.v2.core.health.Alert.class); + classLookup.put( + "v2.core.health.alert_history_entry", + com.stripe.model.v2.core.health.AlertHistoryEntry.class); + classLookup.put( "v2.core.vault.gb_bank_account", com.stripe.model.v2.core.vault.GbBankAccount.class); classLookup.put( @@ -208,6 +213,9 @@ public final class EventDataClassLookup { classLookup.put( "v2.money_management.financial_address", com.stripe.model.v2.moneymanagement.FinancialAddress.class); + classLookup.put( + "v2.money_management.financial_address_debit_simulation", + com.stripe.model.v2.moneymanagement.FinancialAddressDebitSimulation.class); classLookup.put( "v2.money_management.inbound_transfer", com.stripe.model.v2.moneymanagement.InboundTransfer.class); @@ -223,6 +231,9 @@ public final class EventDataClassLookup { classLookup.put( "v2.money_management.outbound_transfer", com.stripe.model.v2.moneymanagement.OutboundTransfer.class); + classLookup.put( + "v2.money_management.payout_intent", + com.stripe.model.v2.moneymanagement.PayoutIntent.class); classLookup.put( "v2.money_management.payout_method", com.stripe.model.v2.moneymanagement.PayoutMethod.class); @@ -828,6 +839,13 @@ public final class EventDataClassLookup { eventClassLookup.put( "v2.core.account[configuration.merchant].updated", com.stripe.events.V2CoreAccountIncludingConfigurationMerchantUpdatedEvent.class); + eventClassLookup.put( + "v2.core.account[configuration.money_manager].capability_status_updated", + com.stripe.events + .V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEvent.class); + eventClassLookup.put( + "v2.core.account[configuration.money_manager].updated", + com.stripe.events.V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEvent.class); eventClassLookup.put( "v2.core.account[configuration.recipient].capability_status_updated", com.stripe.events.V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEvent @@ -835,13 +853,6 @@ public final class EventDataClassLookup { eventClassLookup.put( "v2.core.account[configuration.recipient].updated", com.stripe.events.V2CoreAccountIncludingConfigurationRecipientUpdatedEvent.class); - eventClassLookup.put( - "v2.core.account[configuration.storer].capability_status_updated", - com.stripe.events.V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEvent - .class); - eventClassLookup.put( - "v2.core.account[configuration.storer].updated", - com.stripe.events.V2CoreAccountIncludingConfigurationStorerUpdatedEvent.class); eventClassLookup.put( "v2.core.account[defaults].updated", com.stripe.events.V2CoreAccountIncludingDefaultsUpdatedEvent.class); @@ -1055,6 +1066,15 @@ public final class EventDataClassLookup { eventClassLookup.put( "v2.money_management.adjustment.created", com.stripe.events.V2MoneyManagementAdjustmentCreatedEvent.class); + eventClassLookup.put( + "v2.money_management.debit_dispute.failed", + com.stripe.events.V2MoneyManagementDebitDisputeFailedEvent.class); + eventClassLookup.put( + "v2.money_management.debit_dispute.submitted", + com.stripe.events.V2MoneyManagementDebitDisputeSubmittedEvent.class); + eventClassLookup.put( + "v2.money_management.debit_dispute.succeeded", + com.stripe.events.V2MoneyManagementDebitDisputeSucceededEvent.class); eventClassLookup.put( "v2.money_management.financial_account.created", com.stripe.events.V2MoneyManagementFinancialAccountCreatedEvent.class); @@ -1106,6 +1126,9 @@ public final class EventDataClassLookup { eventClassLookup.put( "v2.money_management.outbound_payment.returned", com.stripe.events.V2MoneyManagementOutboundPaymentReturnedEvent.class); + eventClassLookup.put( + "v2.money_management.outbound_payment.under_review", + com.stripe.events.V2MoneyManagementOutboundPaymentUnderReviewEvent.class); eventClassLookup.put( "v2.money_management.outbound_payment.updated", com.stripe.events.V2MoneyManagementOutboundPaymentUpdatedEvent.class); @@ -1124,6 +1147,9 @@ public final class EventDataClassLookup { eventClassLookup.put( "v2.money_management.outbound_transfer.returned", com.stripe.events.V2MoneyManagementOutboundTransferReturnedEvent.class); + eventClassLookup.put( + "v2.money_management.outbound_transfer.under_review", + com.stripe.events.V2MoneyManagementOutboundTransferUnderReviewEvent.class); eventClassLookup.put( "v2.money_management.outbound_transfer.updated", com.stripe.events.V2MoneyManagementOutboundTransferUpdatedEvent.class); diff --git a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java index cbcaf6ca7cf..9a6d0dee7b1 100644 --- a/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java +++ b/src/main/java/com/stripe/model/v2/EventNotificationClassLookup.java @@ -694,22 +694,23 @@ public final class EventNotificationClassLookup { com.stripe.events.V2CoreAccountIncludingConfigurationMerchantUpdatedEventNotification .class); eventClassLookup.put( - "v2.core.account[configuration.recipient].capability_status_updated", + "v2.core.account[configuration.money_manager].capability_status_updated", com.stripe.events - .V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEventNotification + .V2CoreAccountIncludingConfigurationMoneyManagerCapabilityStatusUpdatedEventNotification .class); eventClassLookup.put( - "v2.core.account[configuration.recipient].updated", - com.stripe.events.V2CoreAccountIncludingConfigurationRecipientUpdatedEventNotification + "v2.core.account[configuration.money_manager].updated", + com.stripe.events.V2CoreAccountIncludingConfigurationMoneyManagerUpdatedEventNotification .class); eventClassLookup.put( - "v2.core.account[configuration.storer].capability_status_updated", + "v2.core.account[configuration.recipient].capability_status_updated", com.stripe.events - .V2CoreAccountIncludingConfigurationStorerCapabilityStatusUpdatedEventNotification + .V2CoreAccountIncludingConfigurationRecipientCapabilityStatusUpdatedEventNotification .class); eventClassLookup.put( - "v2.core.account[configuration.storer].updated", - com.stripe.events.V2CoreAccountIncludingConfigurationStorerUpdatedEventNotification.class); + "v2.core.account[configuration.recipient].updated", + com.stripe.events.V2CoreAccountIncludingConfigurationRecipientUpdatedEventNotification + .class); eventClassLookup.put( "v2.core.account[defaults].updated", com.stripe.events.V2CoreAccountIncludingDefaultsUpdatedEventNotification.class); @@ -947,6 +948,15 @@ public final class EventNotificationClassLookup { eventClassLookup.put( "v2.money_management.adjustment.created", com.stripe.events.V2MoneyManagementAdjustmentCreatedEventNotification.class); + eventClassLookup.put( + "v2.money_management.debit_dispute.failed", + com.stripe.events.V2MoneyManagementDebitDisputeFailedEventNotification.class); + eventClassLookup.put( + "v2.money_management.debit_dispute.submitted", + com.stripe.events.V2MoneyManagementDebitDisputeSubmittedEventNotification.class); + eventClassLookup.put( + "v2.money_management.debit_dispute.succeeded", + com.stripe.events.V2MoneyManagementDebitDisputeSucceededEventNotification.class); eventClassLookup.put( "v2.money_management.financial_account.created", com.stripe.events.V2MoneyManagementFinancialAccountCreatedEventNotification.class); @@ -1001,6 +1011,9 @@ public final class EventNotificationClassLookup { eventClassLookup.put( "v2.money_management.outbound_payment.returned", com.stripe.events.V2MoneyManagementOutboundPaymentReturnedEventNotification.class); + eventClassLookup.put( + "v2.money_management.outbound_payment.under_review", + com.stripe.events.V2MoneyManagementOutboundPaymentUnderReviewEventNotification.class); eventClassLookup.put( "v2.money_management.outbound_payment.updated", com.stripe.events.V2MoneyManagementOutboundPaymentUpdatedEventNotification.class); @@ -1019,6 +1032,9 @@ public final class EventNotificationClassLookup { eventClassLookup.put( "v2.money_management.outbound_transfer.returned", com.stripe.events.V2MoneyManagementOutboundTransferReturnedEventNotification.class); + eventClassLookup.put( + "v2.money_management.outbound_transfer.under_review", + com.stripe.events.V2MoneyManagementOutboundTransferUnderReviewEventNotification.class); eventClassLookup.put( "v2.money_management.outbound_transfer.updated", com.stripe.events.V2MoneyManagementOutboundTransferUpdatedEventNotification.class); diff --git a/src/main/java/com/stripe/model/v2/billing/Contract.java b/src/main/java/com/stripe/model/v2/billing/Contract.java index 052e6621ea7..dd9eb3a26f7 100644 --- a/src/main/java/com/stripe/model/v2/billing/Contract.java +++ b/src/main/java/com/stripe/model/v2/billing/Contract.java @@ -1,11 +1,10 @@ // File generated from our OpenAPI spec package com.stripe.model.v2.billing; -import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; import com.stripe.model.HasId; -import com.stripe.model.StringInt64TypeAdapter; import com.stripe.model.StripeObject; +import com.stripe.v2.Amount; import java.math.BigDecimal; import java.time.Instant; import java.util.List; @@ -19,25 +18,18 @@ @Setter @EqualsAndHashCode(callSuper = false) public class Contract extends StripeObject implements HasId { + /** The billing cycle anchor for the contract. */ + @SerializedName("billing_cycle_anchor") + BillingCycleAnchor billingCycleAnchor; + /** The billing settings for the contract. */ @SerializedName("billing_settings") BillingSettings billingSettings; - /** - * The contract line details of the contract. Only populated when {@code contract_line_details} is - * passed in the {@code include} parameter. - */ - @SerializedName("contract_line_details") - List contractLineDetails; - /** A unique user-provided contract number e.g. C-2026-0001. */ @SerializedName("contract_number") String contractNumber; - /** The computed total value of all contract lines. */ - @SerializedName("contract_value_details") - ContractValueDetails contractValueDetails; - /** Timestamp of when the object was created. */ @SerializedName("created") Instant created; @@ -55,13 +47,6 @@ public class Contract extends StripeObject implements HasId { @SerializedName("id") String id; - /** - * The license quantities of the contract. Only populated when {@code license_quantities} is - * passed in the {@code include} parameter. - */ - @SerializedName("license_quantities") - List licenseQuantities; - /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. @@ -87,21 +72,21 @@ public class Contract extends StripeObject implements HasId { * {@code include} parameter. */ @SerializedName("one_time_fees") - List oneTimeFees; + OneTimeFees oneTimeFees; /** * The pricing lines of the contract. Only populated when {@code pricing_lines} is passed in the * {@code include} parameter. */ @SerializedName("pricing_lines") - List pricingLines; + PricingLines pricingLines; /** * The pricing overrides of the contract. Only populated when {@code pricing_overrides} is passed * in the {@code include} parameter. */ @SerializedName("pricing_overrides") - List pricingOverrides; + PricingOverrides pricingOverrides; /** * The current status of the contract. @@ -115,223 +100,231 @@ public class Contract extends StripeObject implements HasId { @SerializedName("status_details") StatusDetails statusDetails; + /** The billing cycle anchor for the contract. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BillingCycleAnchor extends StripeObject { + /** The billing cycle anchor as a UTC timestamp. */ + @SerializedName("timestamp") + Instant timestamp; + } + /** The billing settings for the contract. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class BillingSettings extends StripeObject { - /** Billing settings details for the contract. */ - @SerializedName("contract_billing_details") - ContractBillingDetails contractBillingDetails; + /** The bill settings details configures invoice and tax settings for the contract. */ + @SerializedName("bill_settings_details") + BillSettingsDetails billSettingsDetails; - /** Billing settings details for the contract. */ + /** The billing profile details configures who is charged for the contract. */ + @SerializedName("billing_profile_details") + BillingProfileDetails billingProfileDetails; + + /** The collection settings details configures how payments are collected on the contract. */ + @SerializedName("collection_settings_details") + CollectionSettingsDetails collectionSettingsDetails; + + /** The bill settings details configures invoice and tax settings for the contract. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class ContractBillingDetails extends StripeObject { - /** The bill settings details. */ - @SerializedName("bill_settings_details") - BillSettingsDetails billSettingsDetails; - - /** The billing profile details. */ - @SerializedName("billing_profile_details") - BillingProfileDetails billingProfileDetails; + public static class BillSettingsDetails extends StripeObject { + /** Calculation settings. */ + @SerializedName("calculation") + Calculation calculation; - /** The collection settings details. */ - @SerializedName("collection_settings_details") - CollectionSettingsDetails collectionSettingsDetails; + /** Invoice settings. */ + @SerializedName("invoice") + Invoice invoice; - /** The bill settings details. */ + /** Calculation settings. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class BillSettingsDetails extends StripeObject { - /** Calculation settings. */ - @SerializedName("calculation") - Calculation calculation; + public static class Calculation extends StripeObject { + /** Tax calculation settings. */ + @SerializedName("tax") + Tax tax; - /** Invoice settings. */ - @SerializedName("invoice") - Invoice invoice; - - /** Calculation settings. */ + /** Tax calculation settings. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Calculation extends StripeObject { - /** Tax calculation settings. */ - @SerializedName("tax") - Tax tax; - - /** Tax calculation settings. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Tax extends StripeObject { - /** - * The type of tax calculation. - * - *

One of {@code automatic}, or {@code manual}. - */ - @SerializedName("type") - String type; - } + public static class Tax extends StripeObject { + /** + * The type of tax calculation. + * + *

One of {@code automatic}, or {@code manual}. + */ + @SerializedName("type") + String type; } + } + + /** Invoice settings. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Invoice extends StripeObject { + /** The number of time units before the invoice is past due. */ + @SerializedName("time_until_due") + TimeUntilDue timeUntilDue; - /** Invoice settings. */ + /** The number of time units before the invoice is past due. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Invoice extends StripeObject { - /** The number of time units before the invoice is past due. */ - @SerializedName("time_until_due") - TimeUntilDue timeUntilDue; - - /** The number of time units before the invoice is past due. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class TimeUntilDue extends StripeObject { - /** - * The interval unit. - * - *

One of {@code day}, {@code month}, {@code week}, or {@code year}. - */ - @SerializedName("interval") - String interval; + public static class TimeUntilDue extends StripeObject { + /** + * The interval unit. + * + *

One of {@code day}, {@code month}, {@code week}, or {@code year}. + */ + @SerializedName("interval") + String interval; - /** The number of intervals. */ - @SerializedName("interval_count") - Long intervalCount; - } + /** The number of intervals. */ + @SerializedName("interval_count") + Long intervalCount; } } + } - /** The billing profile details. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class BillingProfileDetails extends StripeObject { - /** The customer who pays for the contract invoice. */ - @SerializedName("customer") - String customer; - - /** The default payment method for the contract. */ - @SerializedName("default_payment_method") - String defaultPaymentMethod; - } + /** The billing profile details configures who is charged for the contract. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BillingProfileDetails extends StripeObject { + /** The customer who pays for the contract invoice. */ + @SerializedName("customer") + String customer; + + /** The default payment method for the contract. */ + @SerializedName("default_payment_method") + String defaultPaymentMethod; + } - /** The collection settings details. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class CollectionSettingsDetails extends StripeObject { - /** - * The collection method. - * - *

One of {@code charge_automatically}, or {@code send_invoice}. - */ - @SerializedName("collection_method") - String collectionMethod; + /** The collection settings details configures how payments are collected on the contract. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CollectionSettingsDetails extends StripeObject { + /** + * The collection method. + * + *

One of {@code charge_automatically}, or {@code send_invoice}. + */ + @SerializedName("collection_method") + String collectionMethod; - /** The payment method configuration. */ - @SerializedName("payment_method_configuration") - String paymentMethodConfiguration; - } + /** The payment method configuration. */ + @SerializedName("payment_method_configuration") + String paymentMethodConfiguration; } } /** - * For more details about ContractLineDetail, please refer to the API Reference. + * The one-time fees of the contract. Only populated when {@code one_time_fees} is passed in the + * {@code include} parameter. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class ContractLineDetail extends StripeObject { - /** The ID of the contract line. */ - @SerializedName("contract_line") - String contractLine; - - /** The computed value details for the contract line. */ - @SerializedName("contract_line_value_details") - ContractLineValueDetails contractLineValueDetails; - - /** Timestamp of when the object was created. */ - @SerializedName("created") - Instant created; + public static class OneTimeFees extends StripeObject { + /** The one-time fees for this page. */ + @SerializedName("data") + List data; - /** Timestamp to indicate when the contract line ends. */ - @SerializedName("ends_at") - EndsAt endsAt; + /** + * For more details about Data, please refer to the API + * Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Data extends StripeObject implements HasId { + /** The amount billed for this fee. */ + @SerializedName("amount") + Amount amount; - /** Set of key-value pairs that you can attach to an object. */ - @SerializedName("metadata") - Map metadata; + /** When this fee will be billed. Always contains a concrete timestamp. */ + @SerializedName("bill_at") + BillAt billAt; - /** List of overrides applied to the contract line. */ - @SerializedName("overrides") - List overrides; + /** The ID of the one-time fee. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; - /** The pricing configuration for the contract line. */ - @SerializedName("pricing") - Pricing pricing; + /** The user-provided lookup key. */ + @SerializedName("lookup_key") + String lookupKey; - /** Timestamp to indicate when the contract line starts. */ - @SerializedName("starts_at") - StartsAt startsAt; + /** The ID of the v1 Product for this fee. */ + @SerializedName("product") + String product; - /** The computed value details for the contract line. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class ContractLineValueDetails extends StripeObject { - /** - * Computed sum of all licensed fees. Represented as a decimal string in minor currency units. - */ - @SerializedName("total") - String total; + /** When this fee will be billed. Always contains a concrete timestamp. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BillAt extends StripeObject { + /** The timestamp at which the fee will be billed. */ + @SerializedName("timestamp") + Instant timestamp; + } } + } - /** Timestamp to indicate when the contract line ends. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt extends StripeObject { - /** The timestamp when the item ends. */ - @SerializedName("timestamp") - Instant timestamp; - } + /** + * The pricing lines of the contract. Only populated when {@code pricing_lines} is passed in the + * {@code include} parameter. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PricingLines extends StripeObject { + /** The pricing lines for this page. */ + @SerializedName("data") + List data; /** - * For more details about Overrides, please refer to the API Reference. + * For more details about Data, please refer to the API + * Reference. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Overrides extends StripeObject { - /** Timestamp to indicate when the override ends. */ + public static class Data extends StripeObject implements HasId { + /** Resolved timestamp when the pricing line ends. */ @SerializedName("ends_at") EndsAt endsAt; - /** Service action override details. */ - @SerializedName("service_action") - ServiceAction serviceAction; + /** The ID of the pricing line. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** The user-provided lookup key for the pricing line. */ + @SerializedName("lookup_key") + String lookupKey; - /** Timestamp to indicate when the override starts. */ + /** Set of key-value pairs that you can attach to an object. */ + @SerializedName("metadata") + Map metadata; + + /** The pricing configuration for the pricing line. */ + @SerializedName("pricing") + Pricing pricing; + + /** Resolved timestamp when the pricing line starts. */ @SerializedName("starts_at") StartsAt startsAt; - /** - * The type of the override. - * - *

Equal to {@code service_action}. - */ - @SerializedName("type") - String type; - - /** Timestamp to indicate when the override ends. */ + /** Resolved timestamp when the pricing line ends. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -341,302 +334,173 @@ public static class EndsAt extends StripeObject { Instant timestamp; } - /** Service action override details. */ + /** The pricing configuration for the pricing line. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class ServiceAction extends StripeObject { - /** Parameters for adding a new service action. */ - @SerializedName("add") - Add add; - - /** Parameters for replacing an existing service action. */ - @SerializedName("replace") - Replace replace; + public static class Pricing extends StripeObject { + /** V1 price details. Present when {@code type} is {@code price}. */ + @SerializedName("price_details") + PriceDetails priceDetails; /** - * The type of service action override. + * The type of pricing. * - *

One of {@code add}, or {@code replace}. + *

Equal to {@code price}. */ @SerializedName("type") String type; - /** Parameters for adding a new service action. */ + /** V1 price details. Present when {@code type} is {@code price}. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Add extends StripeObject { - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ - @SerializedName("credit_grant") - CreditGrant creditGrant; + public static class PriceDetails extends StripeObject { + /** The current quantity on this pricing line. */ + @SerializedName("current_quantity") + BigDecimal currentQuantity; - /** - * The interval for assessing service. - * - *

One of {@code day}, {@code month}, {@code week}, or {@code year}. - */ - @SerializedName("service_interval") - String serviceInterval; + /** The ID of the V1 price. */ + @SerializedName("price") + String price; - /** The length of the interval for assessing service. */ - @SerializedName("service_interval_count") - Long serviceIntervalCount; + /** The overwrite_price overrides embedded directly on this pricing line. */ + @SerializedName("pricing_overrides") + PricingOverrides pricingOverrides; - /** - * The type of the service action. - * - *

Equal to {@code credit_grant}. - */ - @SerializedName("type") - String type; - - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ + /** The overwrite_price overrides embedded directly on this pricing line. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class CreditGrant extends StripeObject { - /** The amount of the credit grant. */ - @SerializedName("amount") - com.stripe.model.v2.billing.Contract.ContractLineDetail.Overrides.ServiceAction.Add - .CreditGrant.Amount - amount; - - /** Defines the scope where the credit grant is applicable. */ - @SerializedName("applicability_config") - ApplicabilityConfig applicabilityConfig; + public static class PricingOverrides extends StripeObject { + /** The pricing line overrides. */ + @SerializedName("data") + List data; /** - * The category of the credit grant. - * - *

One of {@code paid}, or {@code promotional}. + * For more details about InnerData, please refer to the API Reference. */ - @SerializedName("category") - String category; + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class InnerData extends StripeObject { + /** Resolved timestamp when this override ends. */ + @SerializedName("ends_at") + EndsAt endsAt; - /** The expiry configuration for the credit grant. */ - @SerializedName("expiry_config") - ExpiryConfig expiryConfig; + /** The user-provided lookup key for this override. */ + @SerializedName("lookup_key") + String lookupKey; - /** A descriptive name. */ - @SerializedName("name") - String name; + /** Details for an overwrite_price override. */ + @SerializedName("overwrite_price") + OverwritePrice overwritePrice; - /** - * The desired priority for applying this credit grant. The highest priority is 0 and - * the lowest is 100. - */ - @SerializedName("priority") - Long priority; + /** The ID of the pricing line override. */ + @SerializedName("pricing_override") + String pricingOverride; - /** The amount of the credit grant. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Amount extends StripeObject { - /** - * The monetary amount of the credit grant. Required if {@code type} is {@code - * monetary}. - */ - @SerializedName("monetary") - com.stripe.v2.Amount monetary; + /** Resolved timestamp when this override starts. */ + @SerializedName("starts_at") + StartsAt startsAt; /** - * The type of the credit grant amount. + * The type of override. * - *

Equal to {@code monetary}. + *

Equal to {@code overwrite_price}. */ @SerializedName("type") String type; - } - - /** Defines the scope where the credit grant is applicable. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class ApplicabilityConfig extends StripeObject { - /** The applicability scope of the credit grant. */ - @SerializedName("scope") - Scope scope; - /** The applicability scope of the credit grant. */ + /** Resolved timestamp when this override ends. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Scope extends StripeObject { - /** The billable items to apply the credit grant to. */ - @SerializedName("billable_items") - List billableItems; + public static class EndsAt extends StripeObject { + /** The timestamp when the item ends. */ + @SerializedName("timestamp") + Instant timestamp; + } + /** Details for an overwrite_price override. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class OverwritePrice extends StripeObject { /** - * The price type that credit grants can apply to. + * Defines whether the tiered price should be graduated or volume-based. * - *

Equal to {@code metered}. + *

One of {@code graduated}, or {@code volume}. */ - @SerializedName("price_type") - String priceType; - } - } - - /** The expiry configuration for the credit grant. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class ExpiryConfig extends StripeObject { - /** - * The type of the expiry configuration. - * - *

Equal to {@code end_of_service_period}. - */ - @SerializedName("type") - String type; - } - } - } + @SerializedName("tiering_mode") + String tieringMode; - /** Parameters for replacing an existing service action. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Replace extends StripeObject implements HasId { - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ - @SerializedName("credit_grant") - CreditGrant creditGrant; - - /** The ID of the service action to replace. */ - @Getter(onMethod_ = {@Override}) - @SerializedName("id") - String id; - - /** The lookup key for the service action to replace. */ - @SerializedName("lookup_key") - String lookupKey; - - /** - * The interval for assessing service. - * - *

One of {@code day}, {@code month}, {@code week}, or {@code year}. - */ - @SerializedName("service_interval") - String serviceInterval; - - /** The length of the interval for assessing service. */ - @SerializedName("service_interval_count") - Long serviceIntervalCount; + /** Each element represents a pricing tier. */ + @SerializedName("tiers") + List< + Contract.PricingLines.Data.Pricing.PriceDetails.PricingOverrides.InnerData + .OverwritePrice.Tier> + tiers; - /** - * The type of the service action. - * - *

Equal to {@code credit_grant}. - */ - @SerializedName("type") - String type; - - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class CreditGrant extends StripeObject { - /** The amount of the credit grant. */ - @SerializedName("amount") - com.stripe.model.v2.billing.Contract.ContractLineDetail.Overrides.ServiceAction.Replace - .CreditGrant.Amount - amount; - - /** Defines the scope where the credit grant is applicable. */ - @SerializedName("applicability_config") - ApplicabilityConfig applicabilityConfig; - - /** - * The category of the credit grant. - * - *

One of {@code paid}, or {@code promotional}. - */ - @SerializedName("category") - String category; - - /** The expiry configuration for the credit grant. */ - @SerializedName("expiry_config") - ExpiryConfig expiryConfig; - - /** A descriptive name. */ - @SerializedName("name") - String name; - - /** - * The desired priority for applying this credit grant. The highest priority is 0 and - * the lowest is 100. - */ - @SerializedName("priority") - Long priority; - - /** The amount of the credit grant. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Amount extends StripeObject { - /** - * The monetary amount of the credit grant. Required if {@code type} is {@code - * monetary}. - */ - @SerializedName("monetary") - com.stripe.v2.Amount monetary; - - /** - * The type of the credit grant amount. - * - *

Equal to {@code monetary}. - */ - @SerializedName("type") - String type; - } + /** + * The per-unit amount to be charged, represented as a decimal string in minor + * currency units. + */ + @SerializedName("unit_amount") + String unitAmount; - /** Defines the scope where the credit grant is applicable. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class ApplicabilityConfig extends StripeObject { - /** The applicability scope of the credit grant. */ - @SerializedName("scope") - Scope scope; + /** + * For more details about Tier, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Tier extends StripeObject { + /** + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + @SerializedName("flat_amount") + String flatAmount; + + /** + * Per-unit price for units included in this tier, represented as a decimal string + * in minor currency units. + */ + @SerializedName("unit_amount") + String unitAmount; + + /** Up to and including this quantity will be contained in the tier. */ + @SerializedName("up_to_decimal") + BigDecimal upToDecimal; + + /** + * No upper bound to this tier. + * + *

Equal to {@code inf}. + */ + @SerializedName("up_to_inf") + String upToInf; + } + } - /** The applicability scope of the credit grant. */ + /** Resolved timestamp when this override starts. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Scope extends StripeObject { - /** The billable items to apply the credit grant to. */ - @SerializedName("billable_items") - List billableItems; - - /** - * The price type that credit grants can apply to. - * - *

Equal to {@code metered}. - */ - @SerializedName("price_type") - String priceType; + public static class StartsAt extends StripeObject { + /** The timestamp when the item starts. */ + @SerializedName("timestamp") + Instant timestamp; } } - - /** The expiry configuration for the credit grant. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class ExpiryConfig extends StripeObject { - /** - * The type of the expiry configuration. - * - *

Equal to {@code end_of_service_period}. - */ - @SerializedName("type") - String type; - } } } } - /** Timestamp to indicate when the override starts. */ + /** Resolved timestamp when the pricing line starts. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -646,431 +510,123 @@ public static class StartsAt extends StripeObject { Instant timestamp; } } - - /** The pricing configuration for the contract line. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Pricing extends StripeObject {} - - /** Timestamp to indicate when the contract line starts. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class StartsAt extends StripeObject { - /** The timestamp when the item starts. */ - @SerializedName("timestamp") - Instant timestamp; - } - } - - /** The computed total value of all contract lines. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class ContractValueDetails extends StripeObject { - /** The total value represented as a decimal string in minor currency units. */ - @SerializedName("total") - String total; - } - - /** - * For more details about LicenseQuantity, please refer to the API Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class LicenseQuantity extends StripeObject { - /** The ID of the license pricing. */ - @SerializedName("license_pricing_id") - String licensePricingId; - - /** - * The type of the license pricing. - * - *

One of {@code license_fee}, or {@code price}. - */ - @SerializedName("license_pricing_type") - String licensePricingType; - - /** The ID of the pricing line associated with this license quantity. */ - @SerializedName("pricing_line") - String pricingLine; - - /** The current quantity of the license. */ - @SerializedName("quantity") - Long quantity; } /** - * For more details about OneTimeFee, please refer to the API Reference. + * The pricing overrides of the contract. Only populated when {@code pricing_overrides} is passed + * in the {@code include} parameter. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class OneTimeFee extends StripeObject { - /** The resolved bill schedule for the fee. */ - @SerializedName("bill_schedule") - List billSchedule; + public static class PricingOverrides extends StripeObject { + /** The pricing overrides for this page. */ + @SerializedName("data") + List data; /** - * The type of billable item that this fee references. - * - *

Equal to {@code product}. - */ - @SerializedName("billable_item_type") - String billableItemType; - - /** - * Details for a product billable target. Set when {@code billable_item_type} is {@code - * product}. - */ - @SerializedName("product_details") - ProductDetails productDetails; - - /** - * For more details about BillSchedule, please refer to the API Reference. + * For more details about Data, please refer to the API + * Reference. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class BillSchedule extends StripeObject { - /** When this entry will be billed. */ - @SerializedName("bill_at") - BillAt billAt; - - /** The amount to bill for this entry, in the smallest currency unit. */ - @SerializedName("value") - @JsonAdapter(StringInt64TypeAdapter.class) - Long value; - - /** When this entry will be billed. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class BillAt extends StripeObject { - /** - * The datetime at which the entry will be billed. Set when {@code type} is {@code - * datetime}. - */ - @SerializedName("timestamp") - Instant timestamp; - - /** - * The type of the bill_at. - * - *

One of {@code contract_start}, or {@code datetime}. - */ - @SerializedName("type") - String type; - } - } - - /** - * Details for a product billable target. Set when {@code billable_item_type} is {@code - * product}. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class ProductDetails extends StripeObject { - /** The ID of the v1 Product. */ - @SerializedName("product") - String product; - } - } - - /** - * For more details about PricingLine, please refer to the API Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class PricingLine extends StripeObject { - /** Resolved timestamp when the pricing line ends. */ - @SerializedName("ends_at") - EndsAt endsAt; - - /** The user-provided lookup key for the pricing line. */ - @SerializedName("lookup_key") - String lookupKey; - - /** Set of key-value pairs that you can attach to an object. */ - @SerializedName("metadata") - Map metadata; + public static class Data extends StripeObject implements HasId { + /** Resolved timestamp when the pricing override ends. */ + @SerializedName("ends_at") + EndsAt endsAt; - /** The pricing configuration for the pricing line. */ - @SerializedName("pricing") - Pricing pricing; + /** The ID of the pricing override. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; - /** The ID of the pricing line. */ - @SerializedName("pricing_line") - String pricingLine; + /** The user-provided lookup key for the pricing override. */ + @SerializedName("lookup_key") + String lookupKey; - /** Resolved timestamp when the pricing line starts. */ - @SerializedName("starts_at") - StartsAt startsAt; + /** Details for a multiplier override. */ + @SerializedName("multiplier") + Multiplier multiplier; - /** Resolved timestamp when the pricing line ends. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt extends StripeObject { - /** The timestamp when the item ends. */ - @SerializedName("timestamp") - Instant timestamp; - } + /** The priority of this override relative to others. Lower number = higher priority. */ + @SerializedName("priority") + Long priority; - /** The pricing configuration for the pricing line. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Pricing extends StripeObject { - /** V1 price details. Present when {@code type} is {@code price}. */ - @SerializedName("price_details") - PriceDetails priceDetails; + /** Resolved timestamp when the pricing override starts. */ + @SerializedName("starts_at") + StartsAt startsAt; /** - * The type of pricing. + * The type of pricing override. * - *

Equal to {@code price}. + *

Equal to {@code multiplier}. */ @SerializedName("type") String type; - /** V1 price details. Present when {@code type} is {@code price}. */ + /** Resolved timestamp when the pricing override ends. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PriceDetails extends StripeObject { - /** The ID of the V1 price. */ - @SerializedName("price") - String price; + public static class EndsAt extends StripeObject { + /** The timestamp when the item ends. */ + @SerializedName("timestamp") + Instant timestamp; } - } - - /** Resolved timestamp when the pricing line starts. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class StartsAt extends StripeObject { - /** The timestamp when the item starts. */ - @SerializedName("timestamp") - Instant timestamp; - } - } - - /** - * For more details about PricingOverride, please refer to the API Reference. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class PricingOverride extends StripeObject { - /** Resolved timestamp when the pricing override ends. */ - @SerializedName("ends_at") - EndsAt endsAt; - - /** The user-provided lookup key for the pricing override. */ - @SerializedName("lookup_key") - String lookupKey; - - /** Details for a multiplier override. */ - @SerializedName("multiplier") - Multiplier multiplier; - - /** Details for an overwrite_price override. */ - @SerializedName("overwrite_price") - OverwritePrice overwritePrice; - - /** The ID of the pricing override. */ - @SerializedName("pricing_override") - String pricingOverride; - - /** The priority of this override relative to others. Lower number = higher priority. */ - @SerializedName("priority") - Long priority; - - /** Resolved timestamp when the pricing override starts. */ - @SerializedName("starts_at") - StartsAt startsAt; - - /** - * The type of pricing override. - * - *

One of {@code multiplier}, or {@code overwrite_price}. - */ - @SerializedName("type") - String type; - - /** Resolved timestamp when the pricing override ends. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt extends StripeObject { - /** The timestamp when the item ends. */ - @SerializedName("timestamp") - Instant timestamp; - } - - /** Details for a multiplier override. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Multiplier extends StripeObject { - /** Criteria determining which rates the multiplier applies to. */ - @SerializedName("criteria") - List criteria; - - /** - * The multiplier factor, represented as a decimal string. e.g. "0.8" for a 20% - * reduction. - */ - @SerializedName("factor") - String factor; - /** - * For more details about Criterion, please refer to the API Reference. - */ + /** Details for a multiplier override. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Criterion extends StripeObject { - /** Filter by billable item IDs. */ - @SerializedName("billable_item_ids") - List billableItemIds; - - /** Filter by billable item lookup keys. */ - @SerializedName("billable_item_lookup_keys") - List billableItemLookupKeys; - - /** Filter by billable item type. */ - @SerializedName("billable_item_types") - List billableItemTypes; - - /** Filter by metadata conditions. */ - @SerializedName("metadata_conditions") - List metadataConditions; - - /** Filter by rate card IDs. Only applicable for {@code multiplier} overrides. */ - @SerializedName("rate_card_ids") - List rateCardIds; + public static class Multiplier extends StripeObject { + /** Criteria determining which rates the multiplier applies to. */ + @SerializedName("criteria") + List criteria; /** - * Whether to include or exclude items matching these criteria. - * - *

One of {@code exclude}, or {@code include}. + * The multiplier factor, represented as a decimal string. e.g. "0.8" for a 20% + * reduction. */ - @SerializedName("type") - String type; + @SerializedName("factor") + String factor; /** - * For more details about MetadataCondition, please refer to the API Reference. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class MetadataCondition extends StripeObject { - /** All of these key-value conditions must match. */ - @SerializedName("all_of") - List allOf; + public static class Criterion extends StripeObject { + /** Filter by pricing line IDs. */ + @SerializedName("pricing_line_ids") + List pricingLineIds; + + /** Filter by pricing line lookup keys. */ + @SerializedName("pricing_line_lookup_keys") + List pricingLineLookupKeys; /** - * For more details about AllOf, please refer to the API Reference. + * Whether to include or exclude items matching these criteria. + * + *

One of {@code exclude}, or {@code include}. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class AllOf extends StripeObject { - /** The metadata key. */ - @SerializedName("key") - String key; - - /** The metadata value. */ - @SerializedName("value") - String value; - } + @SerializedName("type") + String type; } } - } - - /** Details for an overwrite_price override. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class OverwritePrice extends StripeObject { - /** The ID of the V1 price to overwrite. */ - @SerializedName("price") - String price; - /** - * Defines whether the tiered price should be graduated or volume-based. - * - *

One of {@code graduated}, or {@code volume}. - */ - @SerializedName("tiering_mode") - String tieringMode; - - /** Each element represents a pricing tier. */ - @SerializedName("tiers") - List tiers; - - /** - * The per-unit amount to be charged, represented as a decimal string in minor currency units. - */ - @SerializedName("unit_amount") - String unitAmount; - - /** - * For more details about Tier, please refer to the API - * Reference. - */ + /** Resolved timestamp when the pricing override starts. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Tier extends StripeObject { - /** Price for the entire tier, represented as a decimal string in minor currency units. */ - @SerializedName("flat_amount") - String flatAmount; - - /** - * Per-unit price for units included in this tier, represented as a decimal string in minor - * currency units. - */ - @SerializedName("unit_amount") - String unitAmount; - - /** Up to and including this quantity will be contained in the tier. */ - @SerializedName("up_to_decimal") - BigDecimal upToDecimal; - - /** - * No upper bound to this tier. - * - *

Equal to {@code inf}. - */ - @SerializedName("up_to_inf") - String upToInf; + public static class StartsAt extends StripeObject { + /** The timestamp when the item starts. */ + @SerializedName("timestamp") + Instant timestamp; } } - - /** Resolved timestamp when the pricing override starts. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class StartsAt extends StripeObject { - /** The timestamp when the item starts. */ - @SerializedName("timestamp") - Instant timestamp; - } } /** Information about the contract status transitions. */ diff --git a/src/main/java/com/stripe/model/v2/billing/ContractLicensePricingQuantityChange.java b/src/main/java/com/stripe/model/v2/billing/ContractPricingLineQuantityChange.java similarity index 59% rename from src/main/java/com/stripe/model/v2/billing/ContractLicensePricingQuantityChange.java rename to src/main/java/com/stripe/model/v2/billing/ContractPricingLineQuantityChange.java index e7cb3464a4b..8ab6e419c5f 100644 --- a/src/main/java/com/stripe/model/v2/billing/ContractLicensePricingQuantityChange.java +++ b/src/main/java/com/stripe/model/v2/billing/ContractPricingLineQuantityChange.java @@ -4,16 +4,19 @@ import com.google.gson.annotations.SerializedName; import com.stripe.model.HasId; import com.stripe.model.StripeObject; +import java.math.BigDecimal; import java.time.Instant; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.Setter; -/** A license pricing quantity change object returned by ListContractLicenseQuantityChanges. */ +/** + * A quantity change object for a pricing line, returned by ListContractPricingLineQuantityChanges. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) -public class ContractLicensePricingQuantityChange extends StripeObject implements HasId { +public class ContractPricingLineQuantityChange extends StripeObject implements HasId { /** The timestamp when this quantity change object was created. */ @SerializedName("created") Instant created; @@ -27,18 +30,6 @@ public class ContractLicensePricingQuantityChange extends StripeObject implement @SerializedName("id") String id; - /** The ID of the license pricing. */ - @SerializedName("license_pricing_id") - String licensePricingId; - - /** - * The type of the license pricing. - * - *

One of {@code license_fee}, or {@code price}. - */ - @SerializedName("license_pricing_type") - String licensePricingType; - /** * Has the value {@code true} if the object exists in live mode or the value {@code false} if the * object exists in test mode. @@ -50,16 +41,38 @@ public class ContractLicensePricingQuantityChange extends StripeObject implement * String representing the object's type. Objects of the same type share the same value of the * object field. * - *

Equal to {@code v2.billing.contract_license_pricing_quantity_change}. + *

Equal to {@code v2.billing.contract_pricing_line_quantity_change}. */ @SerializedName("object") String object; + /** The pricing configuration for the associated pricing line. */ + @SerializedName("pricing") + Pricing pricing; + /** The ID of the pricing line associated with this quantity change. */ @SerializedName("pricing_line") String pricingLine; /** The quantity at the effective time. */ @SerializedName("quantity") - Long quantity; + BigDecimal quantity; + + /** The pricing configuration for the associated pricing line. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Pricing extends StripeObject { + /** The ID of the V1 price. Present when {@code type} is {@code price}. */ + @SerializedName("price") + String price; + + /** + * The type of pricing. + * + *

Equal to {@code price}. + */ + @SerializedName("type") + String type; + } } diff --git a/src/main/java/com/stripe/model/v2/billing/MeterEvent.java b/src/main/java/com/stripe/model/v2/billing/MeterEvent.java index c738fba0be2..d4667ced387 100644 --- a/src/main/java/com/stripe/model/v2/billing/MeterEvent.java +++ b/src/main/java/com/stripe/model/v2/billing/MeterEvent.java @@ -28,7 +28,7 @@ public class MeterEvent extends StripeObject { /** * A unique identifier for the event. If not provided, one will be generated. We recommend using a - * globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour period. + * globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour period. */ @SerializedName("identifier") String identifier; @@ -50,7 +50,7 @@ public class MeterEvent extends StripeObject { String object; /** - * The payload of the event. This must contain the fields corresponding to a meter’s {@code + * The payload of the event. This must contain the fields corresponding to a meter's {@code * customer_mapping.event_payload_key} (default is {@code stripe_customer_id}) and {@code * value_settings.event_payload_key} (default is {@code value}). Read more about the payload.. diff --git a/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java b/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java index c26cb58f4e4..fbd6b93bb9d 100644 --- a/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java +++ b/src/main/java/com/stripe/model/v2/billing/MeterEventAdjustment.java @@ -52,7 +52,7 @@ public class MeterEventAdjustment extends StripeObject implements HasId { String object; /** - * Open Enum. The meter event adjustment’s status. + * Open Enum. The meter event adjustment's status. * *

One of {@code complete}, or {@code pending}. */ diff --git a/src/main/java/com/stripe/model/v2/commerce/ProductCatalogImport.java b/src/main/java/com/stripe/model/v2/commerce/ProductCatalogImport.java index b9d330e6999..38d1a0b3a55 100644 --- a/src/main/java/com/stripe/model/v2/commerce/ProductCatalogImport.java +++ b/src/main/java/com/stripe/model/v2/commerce/ProductCatalogImport.java @@ -49,6 +49,14 @@ public class ProductCatalogImport extends StripeObject implements HasId { @SerializedName("metadata") Map metadata; + /** + * The import strategy for handling existing catalog data. + * + *

One of {@code replace}, or {@code upsert}. + */ + @SerializedName("mode") + String mode; + /** * String representing the object's type. Objects of the same type share the same value of the * object field. 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 c5eded6e4da..4cf8552256d 100644 --- a/src/main/java/com/stripe/model/v2/core/Account.java +++ b/src/main/java/com/stripe/model/v2/core/Account.java @@ -153,6 +153,13 @@ public static class Configuration extends StripeObject { @SerializedName("merchant") Merchant merchant; + /** + * The Money Manager Configuration allows the Account to store and move funds using + * FinancialAccounts. + */ + @SerializedName("money_manager") + MoneyManager moneyManager; + /** * The Recipient Configuration allows the Account to receive funds. Utilize this configuration * if the Account will not be the Merchant of Record, like with Separate Charges & @@ -161,13 +168,6 @@ public static class Configuration extends StripeObject { @SerializedName("recipient") Recipient recipient; - /** - * The Storer Configuration allows the Account to store and move funds using stored-value - * FinancialAccounts. - */ - @SerializedName("storer") - Storer storer; - /** The CardCreator Configuration allows the Account to create and issue cards to users. */ @Getter @Setter @@ -2282,6 +2282,10 @@ public static class Capabilities extends StripeObject { @SerializedName("stripe_balance") StripeBalance stripeBalance; + /** Allow the merchant to process Sunbit payments. */ + @SerializedName("sunbit_payments") + SunbitPayments sunbitPayments; + /** Allow the merchant to process Swish payments. */ @SerializedName("swish_payments") SwishPayments swishPayments; @@ -6196,6 +6200,101 @@ public static class StatusDetail extends StripeObject { } } + /** Allow the merchant to process Sunbit payments. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SunbitPayments extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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; + } + } + /** Allow the merchant to process Swish payments. */ @Getter @Setter @@ -6879,267 +6978,2452 @@ public static class Address extends StripeObject { } /** - * The Recipient Configuration allows the Account to receive funds. Utilize this configuration - * if the Account will not be the Merchant of Record, like with Separate Charges & - * Transfers, or Destination Charges without on_behalf_of set. + * The Money Manager Configuration allows the Account to store and move funds using + * FinancialAccounts. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Recipient extends StripeObject { + public static class MoneyManager extends StripeObject { /** - * Indicates whether the recipient configuration is active. You can deactivate or reactivate - * the recipient configuration by updating this property. Deactivating the configuration by - * setting this value to false unrequest all capabilities within the configuration. It will - * not delete any of the configuration's other properties. + * Indicates whether the money manager configuration is active. You cannot deactivate (or + * reactivate) the money manager configuration by updating this property. */ @SerializedName("applied") Boolean applied; - /** Capabilities that have been requested on the Recipient Configuration. */ + /** Capabilities that have been requested on the Money Manager Configuration. */ @SerializedName("capabilities") Capabilities capabilities; + /** List of high-risk activities the business is involved in. */ + @SerializedName("high_risk_activities") + List highRiskActivities; + + /** Description of the high-risk activities the business offers. */ + @SerializedName("high_risk_activities_description") + String highRiskActivitiesDescription; + + /** Description of the money services offered by the business. */ + @SerializedName("money_services_description") + String moneyServicesDescription; + + /** Indicates whether the business operates in any prohibited countries. */ + @SerializedName("operates_in_prohibited_countries") + Boolean operatesInProhibitedCountries; + + /** Does the business participate in any regulated activity. */ + @SerializedName("participates_in_regulated_activity") + Boolean participatesInRegulatedActivity; + /** - * The payout method to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through the dashboard or APIs. + * Primary purpose of the stored funds. + * + *

One of {@code charitable_donations}, {@code ecommerce_retail_payments}, {@code + * investment_purposes}, {@code other}, {@code payments_to_friends_or_family_abroad}, {@code + * payroll}, {@code personal_or_living_expenses}, {@code protect_wealth}, {@code + * purchase_goods_and_services}, {@code receive_payments_for_goods_and_services}, {@code + * tax_optimization}, {@code third_party_money_transmission}, or {@code treasury_management}. */ - @SerializedName("default_outbound_destination") - DefaultOutboundDestination defaultOutboundDestination; + @SerializedName("purpose_of_funds") + String purposeOfFunds; - /** Capabilities that have been requested on the Recipient Configuration. */ + /** Description of the purpose of the stored funds. */ + @SerializedName("purpose_of_funds_description") + String purposeOfFundsDescription; + + /** Details of the regulated activity if the business participates in one. */ + @SerializedName("regulated_activity") + RegulatedActivity regulatedActivity; + + /** + * The source of funds for the business, e.g. profits, income, venture capital, etc. + * + *

One of {@code business_loans}, {@code grants}, {@code inter_company_funds}, {@code + * investment_proceeds}, {@code legal_settlement}, {@code owners_capital}, {@code + * pension_retirement}, {@code sales_of_assets}, {@code sales_of_goods_and_services}, {@code + * tax_refund}, {@code third_party_funds}, or {@code treasury_reserves}. + */ + @SerializedName("source_of_funds") + String sourceOfFunds; + + /** Description of the source of funds for the business' account. */ + @SerializedName("source_of_funds_description") + String sourceOfFundsDescription; + + /** Capabilities that have been requested on the Money Manager Configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Capabilities extends StripeObject { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + /** Can send or receive business storage-type funds on Stripe. */ + @SerializedName("business_storage") + BusinessStorage businessStorage; - /** Enables this Account to receive OutboundPayments to a linked debit card. */ - @SerializedName("cards") - Cards cards; + /** Can send or receive consumer storage-type funds on Stripe. */ + @SerializedName("consumer_storage") + ConsumerStorage consumerStorage; - /** Enables this Account to receive OutboundPayments to a linked crypto wallet. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + /** Hash containing capabilities related to InboundTransfers. */ + @SerializedName("inbound_transfers") + InboundTransfers inboundTransfers; - /** Capabilities that enable OutboundPayments via paper check. */ - @SerializedName("paper_checks") - PaperChecks paperChecks; + /** + * Hash containing capabilities related to OutboundPayments. + */ + @SerializedName("outbound_payments") + OutboundPayments outboundPayments; - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("stripe_balance") - StripeBalance stripeBalance; + /** + * Hash containing capabilities related to OutboundTransfers. + */ + @SerializedName("outbound_transfers") + OutboundTransfers outboundTransfers; - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + /** Hash containing capabilities related to ReceivedCredits. */ + @SerializedName("received_credits") + ReceivedCredits receivedCredits; + + /** Hash containing capabilities related to ReceivedDebits. */ + @SerializedName("received_debits") + ReceivedDebits receivedDebits; + + /** Can send or receive business storage-type funds on Stripe. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts extends StripeObject { - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real time - * rails. - */ - @SerializedName("instant") - com.stripe.model.v2.core.Account.Configuration.Recipient.Capabilities.BankAccounts.Instant - instant; - - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - @SerializedName("local") - Local local; + public static class BusinessStorage extends StripeObject { + /** Can receive business storage-type funds on Stripe. */ + @SerializedName("inbound") + Inbound inbound; - /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - @SerializedName("wire") - Wire wire; + /** Can send business storage-type funds on Stripe. */ + @SerializedName("outbound") + Outbound outbound; - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real time - * rails. - */ + /** Can receive business storage-type funds on Stripe. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Instant extends StripeObject { - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @SerializedName("protections") - Protections protections; + public static class Inbound extends StripeObject { + /** Can receive business storage-type funds on Stripe in AUD. */ + @SerializedName("aud") + Aud aud; - /** - * The status of the Capability. - * - *

One of {@code active}, {@code pending}, {@code restricted}, or {@code - * unsupported}. - */ - @SerializedName("status") - String status; + /** Can receive business storage-type funds on Stripe in CAD. */ + @SerializedName("cad") + Cad cad; - /** - * Additional details about the capability's status. This value is empty when {@code - * status} is {@code active}. - */ - @SerializedName("status_details") - List - statusDetails; + /** Can receive business storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ + /** Can receive business storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; + + /** Can receive business storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can receive business storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + /** Can receive business storage-type funds on Stripe in AUD. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Protections extends StripeObject { - /** Protection details for PSP migration. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + public static class Aud extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - /** Protection details for PSP migration. */ + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PspMigration extends StripeObject { - /** The time until which the protection will expire, as a Unix timestamp. */ - @SerializedName("expires_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long expiresAt; + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - /** The time at which the protection was requested, as a Unix timestamp. */ - @SerializedName("requested_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long requestedAt; + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

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

One of {@code active}, {@code disrupted}, {@code expired}, or {@code - * inactive}. + *

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("status") - String status; + @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; } } - /** - * For more details about StatusDetail, please refer to the API Reference. - */ + /** Can receive business storage-type funds on Stripe in CAD. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class StatusDetail extends StripeObject { + public static class Cad 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}. + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). */ - @SerializedName("code") - String code; + @SerializedName("protections") + Protections protections; /** - * Machine-readable code explaining how to make the Capability active. + * The status of the Capability. * - *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. */ - @SerializedName("resolution") - String resolution; - } - } + @SerializedName("status") + String status; - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Local extends StripeObject { - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @SerializedName("protections") - Protections protections; + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad + .StatusDetail> + statusDetails; - /** - * The status of the Capability. - * - *

One of {@code active}, {@code pending}, {@code restricted}, or {@code - * unsupported}. - */ - @SerializedName("status") - String status; + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - /** - * Additional details about the capability's status. This value is empty when {@code - * status} is {@code active}. - */ - @SerializedName("status_details") - List - statusDetails; + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Protections extends StripeObject { - /** Protection details for PSP migration. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; - /** Protection details for PSP migration. */ + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * For more details about StatusDetail, please refer to the API Reference. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PspMigration extends StripeObject { - /** The time until which the protection will expire, as a Unix timestamp. */ - @SerializedName("expires_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long expiresAt; - - /** The time at which the protection was requested, as a Unix timestamp. */ - @SerializedName("requested_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long requestedAt; + 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; /** - * The current status of the protection. + * Machine-readable code explaining how to make the Capability active. * - *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code - * inactive}. + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. */ - @SerializedName("status") - String status; + @SerializedName("resolution") + String resolution; } } - /** - * For more details about StatusDetail, please refer to the API Reference. - */ + /** Can receive business storage-type funds on Stripe in EUR. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class StatusDetail extends StripeObject { + public static class Eur 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 + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 receive business storage-type funds on Stripe in GBP. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Gbp extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 receive business storage-type funds on Stripe in USD. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usd extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 receive business storage-type funds on Stripe in USDC. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usdc extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send business storage-type funds on Stripe. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Outbound extends StripeObject { + /** Can send business storage-type funds on Stripe in AUD. */ + @SerializedName("aud") + Aud aud; + + /** Can send business storage-type funds on Stripe in CAD. */ + @SerializedName("cad") + Cad cad; + + /** Can send business storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; + + /** Can send business storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; + + /** Can send business storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can send business storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + /** Can send business storage-type funds on Stripe in AUD. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Aud extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send business storage-type funds on Stripe in CAD. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Cad extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send business storage-type funds on Stripe in EUR. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Eur extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send business storage-type funds on Stripe in GBP. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Gbp extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send business storage-type funds on Stripe in USD. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usd extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send business storage-type funds on Stripe in USDC. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usdc extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send or receive consumer storage-type funds on Stripe. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ConsumerStorage extends StripeObject { + /** Can receive consumer storage-type funds on Stripe. */ + @SerializedName("inbound") + Inbound inbound; + + /** Can send consumer storage-type funds on Stripe. */ + @SerializedName("outbound") + Outbound outbound; + + /** Can receive consumer storage-type funds on Stripe. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Inbound extends StripeObject { + /** Can receive consumer storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can receive consumer storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + /** Can receive consumer storage-type funds on Stripe in USD. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usd extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 receive consumer storage-type funds on Stripe in USDC. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usdc extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send consumer storage-type funds on Stripe. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Outbound extends StripeObject { + /** Can send consumer storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can send consumer storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + /** Can send consumer storage-type funds on Stripe in USD. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usd extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send consumer storage-type funds on Stripe in USDC. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Usdc extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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; + } + } + } + } + + /** Hash containing capabilities related to InboundTransfers. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class InboundTransfers extends StripeObject { + /** + * Can pull funds into a FinancialAccount from an external bank account owned by the user. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Can pull funds into a FinancialAccount from an external bank account owned by the user. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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; + } + } + } + + /** + * Hash containing capabilities related to OutboundPayments. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class OutboundPayments extends StripeObject { + /** + * Can send funds from a FinancialAccount to a bank account owned by a different entity. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can send funds from a FinancialAccount to a debit card owned by a different entity. */ + @SerializedName("cards") + Cards cards; + + /** + * Can send funds from a FinancialAccount to a crypto wallet owned by a different entity. + */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Can send funds from a FinancialAccount to a FinancialAccount owned by a different + * entity. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; + + /** Can send funds from a FinancialAccount to someone else via paper check. */ + @SerializedName("paper_checks") + PaperChecks paperChecks; + + /** + * Can send funds from a FinancialAccount to a bank account owned by a different entity. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send funds from a FinancialAccount to a debit card owned by a different entity. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Cards extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send funds from a FinancialAccount to a crypto wallet owned by a different entity. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send funds from a FinancialAccount to a FinancialAccount owned by a different + * entity. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts.StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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 send funds from a FinancialAccount to someone else via paper check. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PaperChecks extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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}. */ @@ -7155,12 +9439,42 @@ public static class StatusDetail extends StripeObject { String resolution; } } + } - /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + /** + * Hash containing capabilities related to OutboundTransfers. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class OutboundTransfers extends StripeObject { + /** + * Can send funds from a FinancialAccount to a bank account belonging to the same user. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Can send funds from a FinancialAccount to a crypto wallet belonging to the same user. + */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Can send funds from a FinancialAccount to another FinancialAccount belonging to the + * same user. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; + + /** + * Can send funds from a FinancialAccount to a bank account belonging to the same user. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Wire extends StripeObject { + public static class BankAccounts extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -7182,7 +9496,9 @@ public static class Wire extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List + List< + Account.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts + .StatusDetail> statusDetails; /** @@ -7252,311 +9568,340 @@ public static class StatusDetail extends StripeObject { String resolution; } } - } - - /** Enables this Account to receive OutboundPayments to a linked debit card. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Cards extends StripeObject { - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @SerializedName("protections") - Protections protections; - - /** - * The status of the Capability. - * - *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. - */ - @SerializedName("status") - String status; - - /** - * Additional details about the capability's status. This value is empty when {@code - * status} is {@code active}. - */ - @SerializedName("status_details") - List statusDetails; /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). + * Can send funds from a FinancialAccount to a crypto wallet belonging to the same user. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Protections extends StripeObject { - /** Protection details for PSP migration. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + public static class CryptoWallets extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - /** Protection details for PSP migration. */ + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PspMigration extends StripeObject { - /** The time until which the protection will expire, as a Unix timestamp. */ - @SerializedName("expires_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long expiresAt; + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - /** The time at which the protection was requested, as a Unix timestamp. */ - @SerializedName("requested_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long requestedAt; + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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; /** - * The current status of the protection. + * Machine-readable code explaining how to make the Capability active. * - *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. + *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. */ - @SerializedName("status") - String status; + @SerializedName("resolution") + String resolution; } } /** - * For more details about StatusDetail, please refer to the API Reference. + * Can send funds from a FinancialAccount to another FinancialAccount belonging to the + * same user. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class StatusDetail extends StripeObject { + public static class FinancialAccounts 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}. + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). */ - @SerializedName("code") - String code; + @SerializedName("protections") + Protections protections; /** - * Machine-readable code explaining how to make the Capability active. + * The status of the Capability. * - *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. */ - @SerializedName("resolution") - String resolution; - } - } - - /** Enables this Account to receive OutboundPayments to a linked crypto wallet. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets extends StripeObject { - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @SerializedName("protections") - Protections protections; - - /** - * The status of the Capability. - * - *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. - */ - @SerializedName("status") - String status; - - /** - * Additional details about the capability's status. This value is empty when {@code - * status} is {@code active}. - */ - @SerializedName("status_details") - List - statusDetails; + @SerializedName("status") + String status; - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Protections extends StripeObject { - /** Protection details for PSP migration. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts.StatusDetail> + statusDetails; - /** Protection details for PSP migration. */ + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PspMigration extends StripeObject { - /** The time until which the protection will expire, as a Unix timestamp. */ - @SerializedName("expires_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long expiresAt; + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - /** The time at which the protection was requested, as a Unix timestamp. */ - @SerializedName("requested_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long requestedAt; + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; - /** - * The current status of the protection. - * - *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. - */ - @SerializedName("status") - String status; + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } } - } - /** - * 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}. + * For more details about StatusDetail, please refer to the API Reference. */ - @SerializedName("code") - String code; + @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; + /** + * 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; + } } } - /** Capabilities that enable OutboundPayments via paper check. */ + /** Hash containing capabilities related to ReceivedCredits. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PaperChecks extends StripeObject { - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @SerializedName("protections") - Protections protections; - + public static class ReceivedCredits extends StripeObject { /** - * The status of the Capability. - * - *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. + * Can receive credits to a bank-account like financial address to credit a + * FinancialAccount. */ - @SerializedName("status") - String status; + @SerializedName("bank_accounts") + BankAccounts bankAccounts; /** - * Additional details about the capability's status. This value is empty when {@code - * status} is {@code active}. + * Can receive credits to a crypto wallet like financial address to credit a + * FinancialAccount. */ - @SerializedName("status_details") - List statusDetails; + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). + * Can receive credits to a bank-account like financial address to credit a + * FinancialAccount. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Protections extends StripeObject { - /** Protection details for PSP migration. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + public static class BankAccounts extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - /** Protection details for PSP migration. */ + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List< + Account.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts + .StatusDetail> + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PspMigration extends StripeObject { - /** The time until which the protection will expire, as a Unix timestamp. */ - @SerializedName("expires_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long expiresAt; + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - /** The time at which the protection was requested, as a Unix timestamp. */ - @SerializedName("requested_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long requestedAt; + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; - /** - * The current status of the protection. - * - *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. - */ - @SerializedName("status") - String status; - } - } + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; - /** - * 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; + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } /** - * Machine-readable code explaining how to make the Capability active. - * - *

One of {@code contact_stripe}, {@code no_resolution}, or {@code provide_info}. + * For more details about StatusDetail, please refer to the API Reference. */ - @SerializedName("resolution") - String resolution; - } - } + @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; - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class StripeBalance extends StripeObject { - /** Enables this Account to complete payouts from their Stripe Balance (/v1/balance). */ - @SerializedName("payouts") - Payouts payouts; + /** + * 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; + } + } /** - * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). + * Can receive credits to a crypto wallet like financial address to credit a + * FinancialAccount. */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; - - /** Enables this Account to complete payouts from their Stripe Balance (/v1/balance). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Payouts extends StripeObject { + public static class CryptoWallets extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -7578,7 +9923,9 @@ public static class Payouts extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List + List< + Account.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets + .StatusDetail> statusDetails; /** @@ -7648,14 +9995,22 @@ public static class StatusDetail extends StripeObject { String resolution; } } + } - /** - * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). - */ + /** Hash containing capabilities related to ReceivedDebits. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ReceivedDebits extends StripeObject { + /** Can receive debits to a FinancialAccount from a bank account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can receive debits to a FinancialAccount from a bank account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers extends StripeObject { + public static class BankAccounts extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -7678,7 +10033,7 @@ public static class StripeTransfers extends StripeObject { */ @SerializedName("status_details") List< - Account.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers + Account.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts .StatusDetail> statusDetails; @@ -7752,322 +10107,194 @@ public static class StatusDetail extends StripeObject { } } - /** - * The payout method to be used as a default outbound destination. This will allow the - * PayoutMethod to be omitted on OutboundPayments made through the dashboard or APIs. - */ + /** Details of the regulated activity if the business participates in one. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class DefaultOutboundDestination extends StripeObject implements HasId { - /** The payout method ID of the default outbound destination. */ - @Getter(onMethod_ = {@Override}) - @SerializedName("id") - String id; + public static class RegulatedActivity extends StripeObject { + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + @SerializedName("description") + String description; /** - * Closed Enum. The payout method type of the default outbound destination. - * - *

One of {@code ae_bank_account}, {@code ag_bank_account}, {@code al_bank_account}, - * {@code am_bank_account}, {@code ao_bank_account}, {@code ar_bank_account}, {@code - * at_bank_account}, {@code au_bank_account}, {@code az_bank_account}, {@code - * ba_bank_account}, {@code bd_bank_account}, {@code be_bank_account}, {@code - * bg_bank_account}, {@code bh_bank_account}, {@code bj_bank_account}, {@code - * bn_bank_account}, {@code bo_bank_account}, {@code br_bank_account}, {@code - * bs_bank_account}, {@code bt_bank_account}, {@code bw_bank_account}, {@code card}, {@code - * ca_bank_account}, {@code ch_bank_account}, {@code ci_bank_account}, {@code - * cl_bank_account}, {@code cn_bank_account}, {@code co_bank_account}, {@code - * crypto_wallet}, {@code cr_bank_account}, {@code cy_bank_account}, {@code - * cz_bank_account}, {@code de_bank_account}, {@code dk_bank_account}, {@code - * do_bank_account}, {@code dz_bank_account}, {@code ec_bank_account}, {@code - * ee_bank_account}, {@code eg_bank_account}, {@code es_bank_account}, {@code - * et_bank_account}, {@code fi_bank_account}, {@code fr_bank_account}, {@code - * ga_bank_account}, {@code gb_bank_account}, {@code gh_bank_account}, {@code - * gi_bank_account}, {@code gm_bank_account}, {@code gr_bank_account}, {@code - * gt_bank_account}, {@code gy_bank_account}, {@code hk_bank_account}, {@code - * hn_bank_account}, {@code hr_bank_account}, {@code hu_bank_account}, {@code - * id_bank_account}, {@code ie_bank_account}, {@code il_bank_account}, {@code - * in_bank_account}, {@code is_bank_account}, {@code it_bank_account}, {@code - * jm_bank_account}, {@code jo_bank_account}, {@code jp_bank_account}, {@code - * ke_bank_account}, {@code kh_bank_account}, {@code kr_bank_account}, {@code - * kw_bank_account}, {@code kz_bank_account}, {@code la_bank_account}, {@code - * lc_bank_account}, {@code li_bank_account}, {@code lk_bank_account}, {@code - * lt_bank_account}, {@code lu_bank_account}, {@code lv_bank_account}, {@code - * ma_bank_account}, {@code mc_bank_account}, {@code md_bank_account}, {@code - * mg_bank_account}, {@code mk_bank_account}, {@code mn_bank_account}, {@code - * mo_bank_account}, {@code mt_bank_account}, {@code mu_bank_account}, {@code - * mx_bank_account}, {@code my_bank_account}, {@code mz_bank_account}, {@code - * na_bank_account}, {@code ne_bank_account}, {@code ng_bank_account}, {@code - * ni_bank_account}, {@code nl_bank_account}, {@code no_bank_account}, {@code - * nz_bank_account}, {@code om_bank_account}, {@code pa_bank_account}, {@code - * pe_bank_account}, {@code ph_bank_account}, {@code pk_bank_account}, {@code - * pl_bank_account}, {@code pt_bank_account}, {@code py_bank_account}, {@code - * qa_bank_account}, {@code ro_bank_account}, {@code rs_bank_account}, {@code - * rw_bank_account}, {@code sa_bank_account}, {@code se_bank_account}, {@code - * sg_bank_account}, {@code si_bank_account}, {@code sk_bank_account}, {@code - * sm_bank_account}, {@code sn_bank_account}, {@code sv_bank_account}, {@code - * th_bank_account}, {@code tn_bank_account}, {@code tr_bank_account}, {@code - * tt_bank_account}, {@code tw_bank_account}, {@code tz_bank_account}, {@code - * us_bank_account}, {@code uy_bank_account}, {@code uz_bank_account}, {@code - * vn_bank_account}, or {@code za_bank_account}. + * The license number or registration number assigned by the business's primary regulator. */ - @SerializedName("type") - String type; + @SerializedName("license_number") + String licenseNumber; + + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_country") + String primaryRegulatoryAuthorityCountry; + + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_name") + String primaryRegulatoryAuthorityName; } } /** - * The Storer Configuration allows the Account to store and move funds using stored-value - * FinancialAccounts. + * The Recipient Configuration allows the Account to receive funds. Utilize this configuration + * if the Account will not be the Merchant of Record, like with Separate Charges & + * Transfers, or Destination Charges without on_behalf_of set. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Storer extends StripeObject { + public static class Recipient extends StripeObject { /** - * Indicates whether the storer configuration is active. You cannot deactivate (or reactivate) - * the storer configuration by updating this property. + * Indicates whether the recipient configuration is active. You can deactivate or reactivate + * the recipient configuration by updating this property. Deactivating the configuration by + * setting this value to false unrequest all capabilities within the configuration. It will + * not delete any of the configuration's other properties. */ @SerializedName("applied") Boolean applied; - /** Capabilities that have been requested on the Storer Configuration. */ + /** Capabilities that have been requested on the Recipient Configuration. */ @SerializedName("capabilities") Capabilities capabilities; - /** List of high-risk activities the business is involved in. */ - @SerializedName("high_risk_activities") - List highRiskActivities; - - /** Description of the high-risk activities the business offers. */ - @SerializedName("high_risk_activities_description") - String highRiskActivitiesDescription; - - /** Description of the money services offered by the business. */ - @SerializedName("money_services_description") - String moneyServicesDescription; - - /** Indicates whether the business operates in any prohibited countries. */ - @SerializedName("operates_in_prohibited_countries") - Boolean operatesInProhibitedCountries; - - /** Does the business participate in any regulated activity. */ - @SerializedName("participates_in_regulated_activity") - Boolean participatesInRegulatedActivity; - - /** - * Primary purpose of the stored funds. - * - *

One of {@code charitable_donations}, {@code ecommerce_retail_payments}, {@code - * investment_purposes}, {@code other}, {@code payments_to_friends_or_family_abroad}, {@code - * payroll}, {@code personal_or_living_expenses}, {@code protect_wealth}, {@code - * purchase_goods_and_services}, {@code receive_payments_for_goods_and_services}, {@code - * tax_optimization}, {@code third_party_money_transmission}, or {@code treasury_management}. - */ - @SerializedName("purpose_of_funds") - String purposeOfFunds; - - /** Description of the purpose of the stored funds. */ - @SerializedName("purpose_of_funds_description") - String purposeOfFundsDescription; - - /** Details of the regulated activity if the business participates in one. */ - @SerializedName("regulated_activity") - RegulatedActivity regulatedActivity; - /** - * The source of funds for the business, e.g. profits, income, venture capital, etc. - * - *

One of {@code business_loans}, {@code grants}, {@code inter_company_funds}, {@code - * investment_proceeds}, {@code legal_settlement}, {@code owners_capital}, {@code - * pension_retirement}, {@code sales_of_assets}, {@code sales_of_goods_and_services}, {@code - * tax_refund}, {@code third_party_funds}, or {@code treasury_reserves}. + * The payout method to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through the dashboard or APIs. */ - @SerializedName("source_of_funds") - String sourceOfFunds; - - /** Description of the source of funds for the business' account. */ - @SerializedName("source_of_funds_description") - String sourceOfFundsDescription; + @SerializedName("default_outbound_destination") + DefaultOutboundDestination defaultOutboundDestination; - /** Capabilities that have been requested on the Storer Configuration. */ + /** Capabilities that have been requested on the Recipient Configuration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) public static class Capabilities extends StripeObject { - /** Hash containing capabilities related to consumer financial accounts. */ - @SerializedName("consumer") - Consumer consumer; - - /** Can provision a financial address to credit/debit a FinancialAccount. */ - @SerializedName("financial_addresses") - FinancialAddresses financialAddresses; + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; - /** Can hold storage-type funds on Stripe. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + /** Enables this Account to receive OutboundPayments to a linked debit card. */ + @SerializedName("cards") + Cards cards; - /** Hash containing capabilities related to InboundTransfers. */ - @SerializedName("inbound_transfers") - InboundTransfers inboundTransfers; + /** Enables this Account to receive OutboundPayments to a linked crypto wallet. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; - /** - * Hash containing capabilities related to OutboundPayments. - */ - @SerializedName("outbound_payments") - OutboundPayments outboundPayments; + /** Capabilities that enable OutboundPayments via paper check. */ + @SerializedName("paper_checks") + PaperChecks paperChecks; - /** - * Hash containing capabilities related to OutboundTransfers. - */ - @SerializedName("outbound_transfers") - OutboundTransfers outboundTransfers; + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_balance") + StripeBalance stripeBalance; - /** Hash containing capabilities related to consumer financial accounts. */ + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Consumer extends StripeObject { - /** Can hold storage-type funds on Stripe consumer FAs in USD. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; - - /** Can hold storage-type funds on Stripe consumer FAs in USD. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies extends StripeObject { - /** Can hold storage-type funds on Stripe consumer FAs in USD. */ - @SerializedName("usd") - Usd usd; - - /** Can hold storage-type funds on Stripe consumer FAs in USD. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Usd extends StripeObject { - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @SerializedName("protections") - Protections protections; + public static class BankAccounts extends StripeObject { + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over ACH + * rails. + */ + @SerializedName("ach") + Ach ach; - /** - * The status of the Capability. - * - *

One of {@code active}, {@code pending}, {@code restricted}, or {@code - * unsupported}. - */ - @SerializedName("status") - String status; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over BECS + * rails. + */ + @SerializedName("becs") + Becs becs; - /** - * Additional details about the capability's status. This value is empty when {@code - * status} is {@code active}. - */ - @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd - .StatusDetail> - statusDetails; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over EFT + * rails. + */ + @SerializedName("eft") + Eft eft; - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class Protections extends StripeObject { - /** Protection details for PSP migration. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over Fedwire + * or CHIPS. + */ + @SerializedName("fedwire") + Fedwire fedwire; - /** Protection details for PSP migration. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration extends StripeObject { - /** The time until which the protection will expire, as a Unix timestamp. */ - @SerializedName("expires_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long expiresAt; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over FPS + * rails. + */ + @SerializedName("fps") + Fps fps; - /** The time at which the protection was requested, as a Unix timestamp. */ - @SerializedName("requested_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long requestedAt; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real time + * rails. + */ + @SerializedName("instant") + com.stripe.model.v2.core.Account.Configuration.Recipient.Capabilities.BankAccounts.Instant + instant; - /** - * The current status of the protection. - * - *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code - * inactive}. - */ - @SerializedName("status") - String status; - } - } + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + @SerializedName("local") + Local local; - /** - * 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; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over NPP (real + * time) rails. + */ + @SerializedName("npp") + Npp npp; - /** - * 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; - } - } - } - } + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over RTP + * rails. + */ + @SerializedName("rtp") + Rtp rtp; - /** Can provision a financial address to credit/debit a FinancialAccount. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAddresses extends StripeObject { /** - * Can provision a bank-account like financial address (VBAN) to credit/debit a - * FinancialAccount. + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * credit rails. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + @SerializedName("sepa_credit") + SepaCredit sepaCredit; - /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * instant (real time) rails. + */ + @SerializedName("sepa_instant") + SepaInstant sepaInstant; /** - * Can provision a bank-account like financial address (VBAN) to credit/debit a - * FinancialAccount. + * Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. + */ + @SerializedName("swift") + Swift swift; + + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over ACH + * rails. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts extends StripeObject { + public static class Ach extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8089,9 +10316,7 @@ public static class BankAccounts extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts - .StatusDetail> + List statusDetails; /** @@ -8162,11 +10387,14 @@ public static class StatusDetail extends StripeObject { } } - /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over BECS + * rails. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets extends StripeObject { + public static class Becs extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8188,9 +10416,7 @@ public static class CryptoWallets extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets - .StatusDetail> + List statusDetails; /** @@ -8260,34 +10486,15 @@ public static class StatusDetail extends StripeObject { String resolution; } } - } - - /** Can hold storage-type funds on Stripe. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies extends StripeObject { - /** Can hold storage-type funds on Stripe in EUR. */ - @SerializedName("eur") - Eur eur; - - /** Can hold storage-type funds on Stripe in GBP. */ - @SerializedName("gbp") - Gbp gbp; - - /** Can hold storage-type funds on Stripe in USD. */ - @SerializedName("usd") - Usd usd; - - /** Can hold storage-type funds on Stripe in USDC. */ - @SerializedName("usdc") - Usdc usdc; - /** Can hold storage-type funds on Stripe in EUR. */ + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over EFT + * rails. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Eur extends StripeObject { + public static class Eft extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8309,7 +10516,7 @@ public static class Eur extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List + List statusDetails; /** @@ -8380,11 +10587,14 @@ public static class StatusDetail extends StripeObject { } } - /** Can hold storage-type funds on Stripe in GBP. */ + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over Fedwire + * or CHIPS. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Gbp extends StripeObject { + public static class Fedwire extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8406,7 +10616,7 @@ public static class Gbp extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List + List statusDetails; /** @@ -8477,11 +10687,14 @@ public static class StatusDetail extends StripeObject { } } - /** Can hold storage-type funds on Stripe in USD. */ + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over FPS + * rails. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Usd extends StripeObject { + public static class Fps extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8503,7 +10716,7 @@ public static class Usd extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List + List statusDetails; /** @@ -8574,11 +10787,14 @@ public static class StatusDetail extends StripeObject { } } - /** Can hold storage-type funds on Stripe in USDC. */ + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real time + * rails. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Usdc extends StripeObject { + public static class Instant extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8600,7 +10816,7 @@ public static class Usdc extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List + List statusDetails; /** @@ -8670,26 +10886,15 @@ public static class StatusDetail extends StripeObject { String resolution; } } - } - - /** Hash containing capabilities related to InboundTransfers. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class InboundTransfers extends StripeObject { - /** - * Can pull funds into a FinancialAccount from an external bank account owned by the user. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; /** - * Can pull funds into a FinancialAccount from an external bank account owned by the user. + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts extends StripeObject { + public static class Local extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8711,9 +10916,7 @@ public static class BankAccounts extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts - .StatusDetail> + List statusDetails; /** @@ -8783,50 +10986,115 @@ public static class StatusDetail extends StripeObject { String resolution; } } - } - /** - * Hash containing capabilities related to OutboundPayments. - */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class OutboundPayments extends StripeObject { /** - * Can send funds from a FinancialAccount to a bank account owned by a different entity. + * Enables this Account to receive OutboundPayments to linked bank accounts over NPP (real + * time) rails. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Npp extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - /** Can send funds from a FinancialAccount to a debit card owned by a different entity. */ - @SerializedName("cards") - Cards cards; + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code + * unsupported}. + */ + @SerializedName("status") + String status; - /** - * Can send funds from a FinancialAccount to a crypto wallet owned by a different entity. - */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List + statusDetails; - /** - * Can send funds from a FinancialAccount to a FinancialAccount owned by a different - * entity. - */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code + * inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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; - /** Can send funds from a FinancialAccount to someone else via paper check. */ - @SerializedName("paper_checks") - PaperChecks paperChecks; + /** + * 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 send funds from a FinancialAccount to a bank account owned by a different entity. + * Enables this Account to receive OutboundPayments to linked bank accounts over RTP + * rails. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts extends StripeObject { + public static class Rtp extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8848,9 +11116,7 @@ public static class BankAccounts extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts - .StatusDetail> + List statusDetails; /** @@ -8921,11 +11187,14 @@ public static class StatusDetail extends StripeObject { } } - /** Can send funds from a FinancialAccount to a debit card owned by a different entity. */ + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * credit rails. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Cards extends StripeObject { + public static class SepaCredit extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -8947,7 +11216,7 @@ public static class Cards extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List + List statusDetails; /** @@ -9019,12 +11288,13 @@ public static class StatusDetail extends StripeObject { } /** - * Can send funds from a FinancialAccount to a crypto wallet owned by a different entity. + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * instant (real time) rails. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets extends StripeObject { + public static class SepaInstant extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -9046,9 +11316,7 @@ public static class CryptoWallets extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets - .StatusDetail> + List statusDetails; /** @@ -9120,13 +11388,12 @@ public static class StatusDetail extends StripeObject { } /** - * Can send funds from a FinancialAccount to a FinancialAccount owned by a different - * entity. + * Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts extends StripeObject { + public static class Swift extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -9148,9 +11415,7 @@ public static class FinancialAccounts extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts - .StatusDetail> + List statusDetails; /** @@ -9221,11 +11486,11 @@ public static class StatusDetail extends StripeObject { } } - /** Can send funds from a FinancialAccount to someone else via paper check. */ + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class PaperChecks extends StripeObject { + public static class Wire extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -9247,9 +11512,7 @@ public static class PaperChecks extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.OutboundPayments.PaperChecks - .StatusDetail> + List statusDetails; /** @@ -9321,141 +11584,309 @@ public static class StatusDetail extends StripeObject { } } - /** - * Hash containing capabilities related to OutboundTransfers. - */ + /** Enables this Account to receive OutboundPayments to a linked debit card. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers extends StripeObject { + public static class Cards extends StripeObject { /** - * Can send funds from a FinancialAccount to a bank account belonging to the same user. + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + @SerializedName("protections") + Protections protections; /** - * Can send funds from a FinancialAccount to a crypto wallet belonging to the same user. + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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; + } + } + + /** Enables this Account to receive OutboundPayments to a linked crypto wallet. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class CryptoWallets extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. + */ + @SerializedName("status") + String status; + + /** + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. + */ + @SerializedName("status_details") + List + statusDetails; + + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + /** Protection details for PSP migration. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; + + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; + + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. + */ + @SerializedName("status") + String status; + } + } + + /** + * 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; + } + } + + /** Capabilities that enable OutboundPayments via paper check. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PaperChecks extends StripeObject { + /** + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * The status of the Capability. + * + *

One of {@code active}, {@code pending}, {@code restricted}, or {@code unsupported}. + */ + @SerializedName("status") + String status; /** - * Can send funds from a FinancialAccount to another FinancialAccount belonging to the - * same user. + * Additional details about the capability's status. This value is empty when {@code + * status} is {@code active}. */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + @SerializedName("status_details") + List statusDetails; /** - * Can send funds from a FinancialAccount to a bank account belonging to the same user. + * Protections applied to this capability, keyed by protection type (e.g. + * "psp_migration"). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts extends StripeObject { - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ - @SerializedName("protections") - Protections protections; - - /** - * The status of the Capability. - * - *

One of {@code active}, {@code pending}, {@code restricted}, or {@code - * unsupported}. - */ - @SerializedName("status") - String status; - - /** - * Additional details about the capability's status. This value is empty when {@code - * status} is {@code active}. - */ - @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts - .StatusDetail> - statusDetails; + public static class Protections extends StripeObject { + /** Protection details for PSP migration. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - /** - * Protections applied to this capability, keyed by protection type (e.g. - * "psp_migration"). - */ + /** Protection details for PSP migration. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Protections extends StripeObject { - /** Protection details for PSP migration. */ - @SerializedName("psp_migration") - PspMigration pspMigration; - - /** Protection details for PSP migration. */ - @Getter - @Setter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration extends StripeObject { - /** The time until which the protection will expire, as a Unix timestamp. */ - @SerializedName("expires_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long expiresAt; + public static class PspMigration extends StripeObject { + /** The time until which the protection will expire, as a Unix timestamp. */ + @SerializedName("expires_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long expiresAt; - /** The time at which the protection was requested, as a Unix timestamp. */ - @SerializedName("requested_at") - @JsonAdapter(StringInt64TypeAdapter.class) - Long requestedAt; + /** The time at which the protection was requested, as a Unix timestamp. */ + @SerializedName("requested_at") + @JsonAdapter(StringInt64TypeAdapter.class) + Long requestedAt; - /** - * The current status of the protection. - * - *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code - * inactive}. - */ - @SerializedName("status") - String status; - } + /** + * The current status of the protection. + * + *

One of {@code active}, {@code disrupted}, {@code expired}, or {@code inactive}. + */ + @SerializedName("status") + String status; } + } + /** + * For more details about StatusDetail, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusDetail extends StripeObject { /** - * For more details about StatusDetail, please refer to the API Reference. + * 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}. */ - @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; + @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; - } + /** + * 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; } + } + + /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StripeBalance extends StripeObject { + /** Enables this Account to complete payouts from their Stripe Balance (/v1/balance). */ + @SerializedName("payouts") + Payouts payouts; /** - * Can send funds from a FinancialAccount to a crypto wallet belonging to the same user. + * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). */ + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; + + /** Enables this Account to complete payouts from their Stripe Balance (/v1/balance). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets extends StripeObject { + public static class Payouts extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -9477,9 +11908,7 @@ public static class CryptoWallets extends StripeObject { * status} is {@code active}. */ @SerializedName("status_details") - List< - Account.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets - .StatusDetail> + List statusDetails; /** @@ -9551,13 +11980,12 @@ public static class StatusDetail extends StripeObject { } /** - * Can send funds from a FinancialAccount to another FinancialAccount belonging to the - * same user. + * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts extends StripeObject { + public static class StripeTransfers extends StripeObject { /** * Protections applied to this capability, keyed by protection type (e.g. * "psp_migration"). @@ -9580,7 +12008,7 @@ public static class FinancialAccounts extends StripeObject { */ @SerializedName("status_details") List< - Account.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts + Account.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers .StatusDetail> statusDetails; @@ -9654,36 +12082,67 @@ public static class StatusDetail extends StripeObject { } } - /** Details of the regulated activity if the business participates in one. */ + /** + * The payout method to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through the dashboard or APIs. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class RegulatedActivity extends StripeObject { - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - @SerializedName("description") - String description; - - /** - * The license number or registration number assigned by the business's primary regulator. - */ - @SerializedName("license_number") - String licenseNumber; - - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_country") - String primaryRegulatoryAuthorityCountry; + public static class DefaultOutboundDestination extends StripeObject implements HasId { + /** The payout method ID of the default outbound destination. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. + * Closed Enum. The payout method type of the default outbound destination. + * + *

One of {@code ae_bank_account}, {@code ag_bank_account}, {@code al_bank_account}, + * {@code am_bank_account}, {@code ao_bank_account}, {@code ar_bank_account}, {@code + * at_bank_account}, {@code au_bank_account}, {@code az_bank_account}, {@code + * ba_bank_account}, {@code bd_bank_account}, {@code be_bank_account}, {@code + * bg_bank_account}, {@code bh_bank_account}, {@code bj_bank_account}, {@code + * bn_bank_account}, {@code bo_bank_account}, {@code br_bank_account}, {@code + * bs_bank_account}, {@code bt_bank_account}, {@code bw_bank_account}, {@code card}, {@code + * ca_bank_account}, {@code ch_bank_account}, {@code ci_bank_account}, {@code + * cl_bank_account}, {@code cn_bank_account}, {@code co_bank_account}, {@code + * crypto_wallet}, {@code cr_bank_account}, {@code cy_bank_account}, {@code + * cz_bank_account}, {@code de_bank_account}, {@code dk_bank_account}, {@code + * do_bank_account}, {@code dz_bank_account}, {@code ec_bank_account}, {@code + * ee_bank_account}, {@code eg_bank_account}, {@code es_bank_account}, {@code + * et_bank_account}, {@code fi_bank_account}, {@code fr_bank_account}, {@code + * ga_bank_account}, {@code gb_bank_account}, {@code gh_bank_account}, {@code + * gi_bank_account}, {@code gm_bank_account}, {@code gr_bank_account}, {@code + * gt_bank_account}, {@code gy_bank_account}, {@code hk_bank_account}, {@code + * hn_bank_account}, {@code hr_bank_account}, {@code hu_bank_account}, {@code + * id_bank_account}, {@code ie_bank_account}, {@code il_bank_account}, {@code + * in_bank_account}, {@code is_bank_account}, {@code it_bank_account}, {@code + * jm_bank_account}, {@code jo_bank_account}, {@code jp_bank_account}, {@code + * ke_bank_account}, {@code kh_bank_account}, {@code kr_bank_account}, {@code + * kw_bank_account}, {@code kz_bank_account}, {@code la_bank_account}, {@code + * lc_bank_account}, {@code li_bank_account}, {@code lk_bank_account}, {@code + * lt_bank_account}, {@code lu_bank_account}, {@code lv_bank_account}, {@code + * ma_bank_account}, {@code mc_bank_account}, {@code md_bank_account}, {@code + * mg_bank_account}, {@code mk_bank_account}, {@code mn_bank_account}, {@code + * mo_bank_account}, {@code mt_bank_account}, {@code mu_bank_account}, {@code + * mx_bank_account}, {@code my_bank_account}, {@code mz_bank_account}, {@code + * na_bank_account}, {@code ne_bank_account}, {@code ng_bank_account}, {@code + * ni_bank_account}, {@code nl_bank_account}, {@code no_bank_account}, {@code + * nz_bank_account}, {@code om_bank_account}, {@code pa_bank_account}, {@code + * pe_bank_account}, {@code ph_bank_account}, {@code pk_bank_account}, {@code + * pl_bank_account}, {@code pt_bank_account}, {@code py_bank_account}, {@code + * qa_bank_account}, {@code ro_bank_account}, {@code rs_bank_account}, {@code + * rw_bank_account}, {@code sa_bank_account}, {@code se_bank_account}, {@code + * sg_bank_account}, {@code si_bank_account}, {@code sk_bank_account}, {@code + * sm_bank_account}, {@code sn_bank_account}, {@code sv_bank_account}, {@code + * th_bank_account}, {@code tn_bank_account}, {@code tr_bank_account}, {@code + * tt_bank_account}, {@code tw_bank_account}, {@code tz_bank_account}, {@code + * us_bank_account}, {@code uy_bank_account}, {@code uz_bank_account}, {@code + * vn_bank_account}, or {@code za_bank_account}. */ - @SerializedName("primary_regulatory_authority_name") - String primaryRegulatoryAuthorityName; + @SerializedName("type") + String type; } } } @@ -9949,9 +12408,16 @@ public static class RestrictsCapability extends StripeObject { *

One of {@code ach_debit_payments}, {@code acss_debit_payments}, {@code * affirm_payments}, {@code afterpay_clearpay_payments}, {@code alma_payments}, {@code * amazon_pay_payments}, {@code automatic_indirect_tax}, {@code au_becs_debit_payments}, - * {@code bacs_debit_payments}, {@code bancontact_payments}, {@code - * bank_accounts.instant}, {@code bank_accounts.local}, {@code bank_accounts.wire}, {@code - * blik_payments}, {@code boleto_payments}, {@code cards}, {@code card_payments}, {@code + * {@code bacs_debit_payments}, {@code bancontact_payments}, {@code bank_accounts.ach}, + * {@code bank_accounts.becs}, {@code bank_accounts.eft}, {@code bank_accounts.fedwire}, + * {@code bank_accounts.fps}, {@code bank_accounts.instant}, {@code bank_accounts.local}, + * {@code bank_accounts.npp}, {@code bank_accounts.rtp}, {@code + * bank_accounts.sepa_credit}, {@code bank_accounts.sepa_instant}, {@code + * bank_accounts.swift}, {@code bank_accounts.wire}, {@code blik_payments}, {@code + * boleto_payments}, {@code business_storage.inbound.eur}, {@code + * business_storage.inbound.gbp}, {@code business_storage.inbound.usd}, {@code + * business_storage.outbound.eur}, {@code business_storage.outbound.gbp}, {@code + * business_storage.outbound.usd}, {@code cards}, {@code card_payments}, {@code * cartes_bancaires_payments}, {@code cashapp_payments}, {@code * commercial.celtic.charge_card}, {@code commercial.celtic.spend_card}, {@code * commercial.cross_river_bank.charge_card}, {@code @@ -9960,21 +12426,24 @@ public static class RestrictsCapability extends StripeObject { * {@code commercial.lead.prepaid_card}, {@code commercial.stripe.charge_card}, {@code * commercial.stripe.prepaid_card}, {@code consumer.celtic.revolving_credit_card}, {@code * consumer.cross_river_bank.prepaid_card}, {@code consumer.holds_currencies.usd}, {@code - * consumer.lead.debit_card}, {@code consumer.lead.prepaid_card}, {@code crypto_wallets}, - * {@code eps_payments}, {@code financial_addresses.bank_accounts}, {@code fpx_payments}, - * {@code gb_bank_transfer_payments}, {@code grabpay_payments}, {@code - * holds_currencies.eur}, {@code holds_currencies.gbp}, {@code holds_currencies.usd}, - * {@code ideal_payments}, {@code inbound_transfers.financial_accounts}, {@code - * jcb_payments}, {@code jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code - * klarna_payments}, {@code konbini_payments}, {@code kr_card_payments}, {@code - * link_payments}, {@code mobilepay_payments}, {@code multibanco_payments}, {@code - * mx_bank_transfer_payments}, {@code naver_pay_payments}, {@code - * outbound_payments.bank_accounts}, {@code outbound_payments.cards}, {@code - * outbound_payments.financial_accounts}, {@code outbound_payments.paper_checks}, {@code - * outbound_transfers.bank_accounts}, {@code outbound_transfers.financial_accounts}, - * {@code oxxo_payments}, {@code p24_payments}, {@code paper_checks}, {@code - * payco_payments}, {@code paynow_payments}, {@code pay_by_bank_payments}, {@code - * promptpay_payments}, {@code revolut_pay_payments}, {@code samsung_pay_payments}, {@code + * consumer.lead.debit_card}, {@code consumer.lead.prepaid_card}, {@code + * consumer_storage.inbound.usd}, {@code consumer_storage.outbound.usd}, {@code + * crypto_wallets}, {@code eps_payments}, {@code financial_addresses.bank_accounts}, + * {@code fpx_payments}, {@code gb_bank_transfer_payments}, {@code grabpay_payments}, + * {@code holds_currencies.eur}, {@code holds_currencies.gbp}, {@code + * holds_currencies.usd}, {@code ideal_payments}, {@code + * inbound_transfers.financial_accounts}, {@code jcb_payments}, {@code + * jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code klarna_payments}, {@code + * konbini_payments}, {@code kr_card_payments}, {@code link_payments}, {@code + * mobilepay_payments}, {@code multibanco_payments}, {@code mx_bank_transfer_payments}, + * {@code naver_pay_payments}, {@code outbound_payments.bank_accounts}, {@code + * outbound_payments.cards}, {@code outbound_payments.financial_accounts}, {@code + * outbound_payments.paper_checks}, {@code outbound_transfers.bank_accounts}, {@code + * outbound_transfers.financial_accounts}, {@code oxxo_payments}, {@code p24_payments}, + * {@code paper_checks}, {@code payco_payments}, {@code paynow_payments}, {@code + * pay_by_bank_payments}, {@code promptpay_payments}, {@code + * received_credits.bank_accounts}, {@code received_debits.bank_accounts}, {@code + * revolut_pay_payments}, {@code samsung_pay_payments}, {@code * sepa_bank_transfer_payments}, {@code sepa_debit_payments}, {@code * stripe_balance.payouts}, {@code stripe_balance.stripe_transfers}, {@code * swish_payments}, {@code twint_payments}, {@code us_bank_transfer_payments}, or {@code @@ -9986,8 +12455,8 @@ public static class RestrictsCapability extends StripeObject { /** * The configuration which specifies the Capability which will be restricted. * - *

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

One of {@code card_creator}, {@code customer}, {@code merchant}, {@code + * money_manager}, {@code recipient}, or {@code storer}. */ @SerializedName("configuration") String configuration; @@ -10320,6 +12789,10 @@ public static class TermsOfService extends StripeObject { @SerializedName("card_creator") CardCreator cardCreator; + /** Details on the Account's acceptance of Consumer-specific terms of service. */ + @SerializedName("consumer_money_manager") + ConsumerMoneyManager consumerMoneyManager; + /** * Details on the Account's acceptance of Consumer-privacy-disclosures-specific terms of * service. @@ -10327,17 +12800,13 @@ public static class TermsOfService extends StripeObject { @SerializedName("consumer_privacy_disclosures") ConsumerPrivacyDisclosures consumerPrivacyDisclosures; - /** Details on the Account's acceptance of Consumer-storer-specific terms of service. */ - @SerializedName("consumer_storer") - ConsumerStorer consumerStorer; - - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - @SerializedName("crypto_storer") - CryptoStorer cryptoStorer; + /** Details on the Account's acceptance of Crypto-specific terms of service. */ + @SerializedName("crypto_money_manager") + CryptoMoneyManager cryptoMoneyManager; /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; + @SerializedName("money_manager") + MoneyManager moneyManager; /** Details on the Account's acceptance of Issuing-specific terms of service. */ @Getter @@ -12159,14 +14628,11 @@ public static class Platform extends StripeObject { } } - /** - * Details on the Account's acceptance of Consumer-privacy-disclosures-specific terms of - * service. - */ + /** Details on the Account's acceptance of Consumer-specific terms of service. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class ConsumerPrivacyDisclosures extends StripeObject { + public static class ConsumerMoneyManager 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: @@ -12189,11 +14655,14 @@ public static class ConsumerPrivacyDisclosures extends StripeObject { String userAgent; } - /** Details on the Account's acceptance of Consumer-storer-specific terms of service. */ + /** + * Details on the Account's acceptance of Consumer-privacy-disclosures-specific terms of + * service. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class ConsumerStorer extends StripeObject { + public static class ConsumerPrivacyDisclosures 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: @@ -12216,11 +14685,11 @@ public static class ConsumerStorer extends StripeObject { String userAgent; } - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ + /** Details on the Account's acceptance of Crypto-specific terms of service. */ @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class CryptoStorer extends StripeObject { + public static class CryptoMoneyManager 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: @@ -12278,7 +14747,7 @@ public static class InnerAccount extends StripeObject { @Getter @Setter @EqualsAndHashCode(callSuper = false) - public static class Storer extends StripeObject { + public static class MoneyManager 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: @@ -13889,9 +16358,16 @@ public static class RestrictsCapability extends StripeObject { *

One of {@code ach_debit_payments}, {@code acss_debit_payments}, {@code * affirm_payments}, {@code afterpay_clearpay_payments}, {@code alma_payments}, {@code * amazon_pay_payments}, {@code automatic_indirect_tax}, {@code au_becs_debit_payments}, - * {@code bacs_debit_payments}, {@code bancontact_payments}, {@code - * bank_accounts.instant}, {@code bank_accounts.local}, {@code bank_accounts.wire}, {@code - * blik_payments}, {@code boleto_payments}, {@code cards}, {@code card_payments}, {@code + * {@code bacs_debit_payments}, {@code bancontact_payments}, {@code bank_accounts.ach}, + * {@code bank_accounts.becs}, {@code bank_accounts.eft}, {@code bank_accounts.fedwire}, + * {@code bank_accounts.fps}, {@code bank_accounts.instant}, {@code bank_accounts.local}, + * {@code bank_accounts.npp}, {@code bank_accounts.rtp}, {@code + * bank_accounts.sepa_credit}, {@code bank_accounts.sepa_instant}, {@code + * bank_accounts.swift}, {@code bank_accounts.wire}, {@code blik_payments}, {@code + * boleto_payments}, {@code business_storage.inbound.eur}, {@code + * business_storage.inbound.gbp}, {@code business_storage.inbound.usd}, {@code + * business_storage.outbound.eur}, {@code business_storage.outbound.gbp}, {@code + * business_storage.outbound.usd}, {@code cards}, {@code card_payments}, {@code * cartes_bancaires_payments}, {@code cashapp_payments}, {@code * commercial.celtic.charge_card}, {@code commercial.celtic.spend_card}, {@code * commercial.cross_river_bank.charge_card}, {@code @@ -13900,21 +16376,24 @@ public static class RestrictsCapability extends StripeObject { * {@code commercial.lead.prepaid_card}, {@code commercial.stripe.charge_card}, {@code * commercial.stripe.prepaid_card}, {@code consumer.celtic.revolving_credit_card}, {@code * consumer.cross_river_bank.prepaid_card}, {@code consumer.holds_currencies.usd}, {@code - * consumer.lead.debit_card}, {@code consumer.lead.prepaid_card}, {@code crypto_wallets}, - * {@code eps_payments}, {@code financial_addresses.bank_accounts}, {@code fpx_payments}, - * {@code gb_bank_transfer_payments}, {@code grabpay_payments}, {@code - * holds_currencies.eur}, {@code holds_currencies.gbp}, {@code holds_currencies.usd}, - * {@code ideal_payments}, {@code inbound_transfers.financial_accounts}, {@code - * jcb_payments}, {@code jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code - * klarna_payments}, {@code konbini_payments}, {@code kr_card_payments}, {@code - * link_payments}, {@code mobilepay_payments}, {@code multibanco_payments}, {@code - * mx_bank_transfer_payments}, {@code naver_pay_payments}, {@code - * outbound_payments.bank_accounts}, {@code outbound_payments.cards}, {@code - * outbound_payments.financial_accounts}, {@code outbound_payments.paper_checks}, {@code - * outbound_transfers.bank_accounts}, {@code outbound_transfers.financial_accounts}, - * {@code oxxo_payments}, {@code p24_payments}, {@code paper_checks}, {@code - * payco_payments}, {@code paynow_payments}, {@code pay_by_bank_payments}, {@code - * promptpay_payments}, {@code revolut_pay_payments}, {@code samsung_pay_payments}, {@code + * consumer.lead.debit_card}, {@code consumer.lead.prepaid_card}, {@code + * consumer_storage.inbound.usd}, {@code consumer_storage.outbound.usd}, {@code + * crypto_wallets}, {@code eps_payments}, {@code financial_addresses.bank_accounts}, + * {@code fpx_payments}, {@code gb_bank_transfer_payments}, {@code grabpay_payments}, + * {@code holds_currencies.eur}, {@code holds_currencies.gbp}, {@code + * holds_currencies.usd}, {@code ideal_payments}, {@code + * inbound_transfers.financial_accounts}, {@code jcb_payments}, {@code + * jp_bank_transfer_payments}, {@code kakao_pay_payments}, {@code klarna_payments}, {@code + * konbini_payments}, {@code kr_card_payments}, {@code link_payments}, {@code + * mobilepay_payments}, {@code multibanco_payments}, {@code mx_bank_transfer_payments}, + * {@code naver_pay_payments}, {@code outbound_payments.bank_accounts}, {@code + * outbound_payments.cards}, {@code outbound_payments.financial_accounts}, {@code + * outbound_payments.paper_checks}, {@code outbound_transfers.bank_accounts}, {@code + * outbound_transfers.financial_accounts}, {@code oxxo_payments}, {@code p24_payments}, + * {@code paper_checks}, {@code payco_payments}, {@code paynow_payments}, {@code + * pay_by_bank_payments}, {@code promptpay_payments}, {@code + * received_credits.bank_accounts}, {@code received_debits.bank_accounts}, {@code + * revolut_pay_payments}, {@code samsung_pay_payments}, {@code * sepa_bank_transfer_payments}, {@code sepa_debit_payments}, {@code * stripe_balance.payouts}, {@code stripe_balance.stripe_transfers}, {@code * swish_payments}, {@code twint_payments}, {@code us_bank_transfer_payments}, or {@code @@ -13926,8 +16405,8 @@ public static class RestrictsCapability extends StripeObject { /** * The configuration which specifies the Capability which will be restricted. * - *

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

One of {@code card_creator}, {@code customer}, {@code merchant}, {@code + * money_manager}, {@code recipient}, or {@code storer}. */ @SerializedName("configuration") String configuration; diff --git a/src/main/java/com/stripe/model/v2/core/BatchJob.java b/src/main/java/com/stripe/model/v2/core/BatchJob.java index 2e737877b67..d4246dd2a67 100644 --- a/src/main/java/com/stripe/model/v2/core/BatchJob.java +++ b/src/main/java/com/stripe/model/v2/core/BatchJob.java @@ -33,10 +33,6 @@ public class BatchJob extends StripeObject implements HasId { @SerializedName("livemode") Boolean livemode; - /** The maximum requests per second defined for the {@code batch_job}. */ - @SerializedName("maximum_rps") - Long maximumRps; - /** The metadata of the {@code batch_job}. */ @SerializedName("metadata") Map metadata; diff --git a/src/main/java/com/stripe/model/v2/core/health/Alert.java b/src/main/java/com/stripe/model/v2/core/health/Alert.java new file mode 100644 index 00000000000..9b094f99deb --- /dev/null +++ b/src/main/java/com/stripe/model/v2/core/health/Alert.java @@ -0,0 +1,644 @@ +// File generated from our OpenAPI spec +package com.stripe.model.v2.core.health; + +import com.google.gson.annotations.SerializedName; +import com.stripe.model.HasId; +import com.stripe.model.StripeObject; +import com.stripe.v2.Amount; +import java.math.BigDecimal; +import java.time.Instant; +import java.util.List; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** A health alert represents a detected problem affecting a merchant's Stripe integration. */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class Alert extends StripeObject implements HasId { + /** Populated when type is api_error. */ + @SerializedName("api_error") + ApiError apiError; + + /** Populated when type is api_latency. */ + @SerializedName("api_latency") + ApiLatency apiLatency; + + /** Populated when type is authorization_rate_drop. */ + @SerializedName("authorization_rate_drop") + AuthorizationRateDrop authorizationRateDrop; + + /** Time at which the health alert was created. */ + @SerializedName("created") + Instant created; + + /** Links to relevant documentation for diagnosing and resolving the alert. */ + @SerializedName("documentation_links") + List documentationLinks; + + /** Populated when type is elements_error. */ + @SerializedName("elements_error") + ElementsError elementsError; + + /** Populated when type is event_generation_failure. */ + @SerializedName("event_generation_failure") + EventGenerationFailure eventGenerationFailure; + + /** Populated when type is fraud_rate. */ + @SerializedName("fraud_rate") + FraudRate fraudRate; + + /** The grouping key for the alert. */ + @SerializedName("grouping_key") + String groupingKey; + + /** + * Whether the alert is linked to an incident or is a self-contained problem. + * + *

One of {@code incident}, or {@code standalone}. + */ + @SerializedName("grouping_type") + String groupingType; + + /** Unique identifier for the health alert. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** Populated when type is invoice_count_dropped. */ + @SerializedName("invoice_count_dropped") + InvoiceCountDropped invoiceCountDropped; + + /** Populated when type is issuing_authorization_request_errors. */ + @SerializedName("issuing_authorization_request_errors") + IssuingAuthorizationRequestErrors issuingAuthorizationRequestErrors; + + /** Populated when type is issuing_authorization_request_timeout. */ + @SerializedName("issuing_authorization_request_timeout") + IssuingAuthorizationRequestTimeout issuingAuthorizationRequestTimeout; + + /** + * 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; + + /** Populated when type is meter_event_summaries_delayed. */ + @SerializedName("meter_event_summaries_delayed") + MeterEventSummariesDelayed meterEventSummariesDelayed; + + /** Populated when type is metronome_notification_latency. */ + @SerializedName("metronome_notification_latency") + MetronomeNotificationLatency metronomeNotificationLatency; + + /** + * String representing the object's type. Objects of the same type share the same value of the + * object field. + * + *

Equal to {@code v2.core.health.alert}. + */ + @SerializedName("object") + String object; + + /** Populated when type is payment_method_error. */ + @SerializedName("payment_method_error") + PaymentMethodError paymentMethodError; + + /** + * The time when the user experience has returned to expected levels. Null if the alert is still + * open. + */ + @SerializedName("resolved_at") + Instant resolvedAt; + + /** Populated when type is sepa_debit_delayed. */ + @SerializedName("sepa_debit_delayed") + SepaDebitDelayed sepaDebitDelayed; + + /** + * The severity of the alert. + * + *

One of {@code critical}, or {@code non_critical}. + */ + @SerializedName("severity") + String severity; + + /** The time when impact on the user experience was first detected. */ + @SerializedName("started_at") + Instant startedAt; + + /** + * The current status of the alert. + * + *

One of {@code open}, or {@code resolved}. + */ + @SerializedName("status") + String status; + + /** A short description of the alert. */ + @SerializedName("summary") + String summary; + + /** Populated when type is traffic_volume_drop. */ + @SerializedName("traffic_volume_drop") + TrafficVolumeDrop trafficVolumeDrop; + + /** + * The type of the alert. Determines which sub-hash field is populated. + * + *

One of {@code api_error}, {@code api_latency}, {@code authorization_rate_drop}, {@code + * elements_error}, {@code event_generation_failure}, {@code fraud_rate}, {@code + * invoice_count_dropped}, {@code issuing_authorization_request_errors}, {@code + * issuing_authorization_request_timeout}, {@code meter_event_summaries_delayed}, {@code + * metronome_notification_latency}, {@code payment_method_error}, {@code sepa_debit_delayed}, + * {@code traffic_volume_drop}, or {@code webhook_latency}. + */ + @SerializedName("type") + String type; + + /** Populated when type is webhook_latency. */ + @SerializedName("webhook_latency") + WebhookLatency webhookLatency; + + /** Populated when type is api_error. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApiError extends StripeObject { + /** The canonical path. */ + @SerializedName("canonical_path") + String canonicalPath; + + /** The error code. */ + @SerializedName("error_code") + String errorCode; + + /** + * The HTTP method. + * + *

One of {@code DELETE}, {@code GET}, {@code POST}, or {@code PUT}. + */ + @SerializedName("http_method") + String httpMethod; + + /** The HTTP status. */ + @SerializedName("http_status") + String httpStatus; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + + /** The top impacted connected accounts (only for platforms). */ + @SerializedName("top_impacted_accounts") + List topImpactedAccounts; + + /** + * For more details about TopImpactedAccount, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TopImpactedAccount extends StripeObject { + /** The account ID of the impacted connected account. */ + @SerializedName("account") + String account; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + } + } + + /** Populated when type is api_latency. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApiLatency extends StripeObject { + /** The canonical path. */ + @SerializedName("canonical_path") + String canonicalPath; + + /** + * The HTTP method. + * + *

One of {@code DELETE}, {@code GET}, {@code POST}, or {@code PUT}. + */ + @SerializedName("http_method") + String httpMethod; + + /** The HTTP status. */ + @SerializedName("http_status") + String httpStatus; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + + /** The top impacted connected accounts (only for platforms). */ + @SerializedName("top_impacted_accounts") + List topImpactedAccounts; + + /** + * For more details about TopImpactedAccount, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TopImpactedAccount extends StripeObject { + /** The account ID of the impacted connected account. */ + @SerializedName("account") + String account; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + } + } + + /** Populated when type is authorization_rate_drop. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AuthorizationRateDrop extends StripeObject { + /** + * The type of the charge. + * + *

One of {@code money_moving}, or {@code validation}. + */ + @SerializedName("charge_type") + String chargeType; + + /** The current authorization rate percentage. */ + @SerializedName("current_percentage") + BigDecimal currentPercentage; + + /** Dimensions that describe what subset of payments are impacted. */ + @SerializedName("dimensions") + List dimensions; + + /** + * The type of the payment method. + * + *

One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay}, + * {@code alma}, {@code amazon_pay}, {@code apple_pay}, {@code au_becs_debit}, {@code + * bacs_debit}, {@code bancontact}, {@code billie}, {@code blik}, {@code boleto}, {@code card}, + * {@code card_present}, {@code cartes_bancaires}, {@code cashapp}, {@code crypto}, {@code + * dummy_passthrough_card}, {@code eps}, {@code fpx}, {@code giropay}, {@code grabpay}, {@code + * ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code + * kriya}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code mondu}, + * {@code multibanco}, {@code naver_pay}, {@code ng_bank}, {@code ng_bank_transfer}, {@code + * ng_card}, {@code ng_market}, {@code ng_ussd}, {@code ng_wallet}, {@code oxxo}, {@code p24}, + * {@code paper_check}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code + * payto}, {@code pay_by_bank}, {@code pix}, {@code promptpay}, {@code rechnung}, {@code + * revolut_pay}, {@code samsung_pay}, {@code satispay}, {@code scalapay}, {@code sepa_debit}, + * {@code sequra}, {@code sofort}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, + * {@code us_bank_account}, {@code vipps}, {@code wechat_pay}, or {@code zip}. + */ + @SerializedName("payment_method_type") + String paymentMethodType; + + /** The previous authorization rate percentage. */ + @SerializedName("previous_percentage") + BigDecimal previousPercentage; + + /** + * For more details about Dimension, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Dimension extends StripeObject { + /** Populated when type is issuer. */ + @SerializedName("issuer") + String issuer; + + /** + * The type of the dimension. Determines which field in dimension_details is populated. + * + *

Equal to {@code issuer}. + */ + @SerializedName("type") + String type; + } + } + + /** + * For more details about DocumentationLink, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class DocumentationLink extends StripeObject { + /** A human-readable label for the link. */ + @SerializedName("label") + String label; + + /** The URL of the documentation. */ + @SerializedName("url") + String url; + } + + /** Populated when type is elements_error. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ElementsError extends StripeObject { + /** + * The type of the element. + * + *

One of {@code expressCheckout}, or {@code payment}. + */ + @SerializedName("element_type") + String elementType; + + /** The number of impacted sessions. */ + @SerializedName("impacted_sessions") + Long impactedSessions; + } + + /** Populated when type is event_generation_failure. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class EventGenerationFailure extends StripeObject { + /** + * The context the event should have been generated for. Only present when the account is a + * connected account. + */ + @SerializedName("context") + String context; + + /** The type of event that Stripe failed to generate. */ + @SerializedName("event_type") + String eventType; + + /** The related object details. */ + @SerializedName("related_object") + RelatedObject relatedObject; + + /** The related object details. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RelatedObject extends StripeObject implements HasId { + /** The ID of the related object (e.g., "pi_..."). */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** The type of the related object (e.g., "payment_intent"). */ + @SerializedName("type") + String type; + + /** The API URL for the related object (e.g., "/v1/payment_intents/pi_..."). */ + @SerializedName("url") + String url; + } + } + + /** Populated when type is fraud_rate. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FraudRate extends StripeObject { + /** + * Fraud attack type. + * + *

One of {@code spike}, or {@code sustained_attack}. + */ + @SerializedName("attack_type") + String attackType; + + /** The number of impacted requests which are detected. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** Estimated aggregated amount for the impacted requests. */ + @SerializedName("realized_fraud_amount") + Amount realizedFraudAmount; + } + + /** Populated when type is invoice_count_dropped. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class InvoiceCountDropped extends StripeObject { + /** The observed number of invoices within the time window. */ + @SerializedName("observed_count") + BigDecimal observedCount; + + /** The expected threshold number of invoices within the time window. */ + @SerializedName("threshold_count") + BigDecimal thresholdCount; + + /** The size of the observation time window. */ + @SerializedName("time_window") + String timeWindow; + } + + /** Populated when type is issuing_authorization_request_errors. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class IssuingAuthorizationRequestErrors extends StripeObject { + /** Estimated aggregated amount for the approved requests. */ + @SerializedName("approved_amount") + Amount approvedAmount; + + /** The number of approved requests which are impacted. */ + @SerializedName("approved_impacted_requests") + Long approvedImpactedRequests; + + /** Estimated aggregated amount for the declined requests. */ + @SerializedName("declined_amount") + Amount declinedAmount; + + /** The number of declined requests which are impacted. */ + @SerializedName("declined_impacted_requests") + Long declinedImpactedRequests; + } + + /** Populated when type is issuing_authorization_request_timeout. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class IssuingAuthorizationRequestTimeout extends StripeObject { + /** Estimated aggregated amount for the approved requests. */ + @SerializedName("approved_amount") + Amount approvedAmount; + + /** The number of approved requests which are impacted. */ + @SerializedName("approved_impacted_requests") + Long approvedImpactedRequests; + + /** Estimated aggregated amount for the declined requests. */ + @SerializedName("declined_amount") + Amount declinedAmount; + + /** The number of declined requests which are impacted. */ + @SerializedName("declined_impacted_requests") + Long declinedImpactedRequests; + } + + /** Populated when type is meter_event_summaries_delayed. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class MeterEventSummariesDelayed extends StripeObject { + /** + * The ingestion method. + * + *

Equal to {@code import_sets}. + */ + @SerializedName("ingestion_method") + String ingestionMethod; + } + + /** Populated when type is metronome_notification_latency. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class MetronomeNotificationLatency extends StripeObject { + /** + * The impacted Metronome billing pipeline. + * + *

One of {@code configuration_triggered}, {@code high_cardinality_usage_triggered}, {@code + * standard_usage_triggered}, or {@code time_triggered}. + */ + @SerializedName("pipeline") + String pipeline; + } + + /** Populated when type is payment_method_error. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PaymentMethodError extends StripeObject { + /** The returned error code. */ + @SerializedName("error_code") + String errorCode; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + + /** + * The type of the payment method. + * + *

One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay}, + * {@code alma}, {@code amazon_pay}, {@code apple_pay}, {@code au_becs_debit}, {@code + * bacs_debit}, {@code bancontact}, {@code billie}, {@code blik}, {@code boleto}, {@code card}, + * {@code card_present}, {@code cartes_bancaires}, {@code cashapp}, {@code crypto}, {@code + * dummy_passthrough_card}, {@code eps}, {@code fpx}, {@code giropay}, {@code grabpay}, {@code + * ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code + * kriya}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code mondu}, + * {@code multibanco}, {@code naver_pay}, {@code ng_bank}, {@code ng_bank_transfer}, {@code + * ng_card}, {@code ng_market}, {@code ng_ussd}, {@code ng_wallet}, {@code oxxo}, {@code p24}, + * {@code paper_check}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code + * payto}, {@code pay_by_bank}, {@code pix}, {@code promptpay}, {@code rechnung}, {@code + * revolut_pay}, {@code samsung_pay}, {@code satispay}, {@code scalapay}, {@code sepa_debit}, + * {@code sequra}, {@code sofort}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, + * {@code us_bank_account}, {@code vipps}, {@code wechat_pay}, or {@code zip}. + */ + @SerializedName("payment_method_type") + String paymentMethodType; + + /** The top impacted connected accounts (only for platforms). */ + @SerializedName("top_impacted_accounts") + List topImpactedAccounts; + + /** + * For more details about TopImpactedAccount, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TopImpactedAccount extends StripeObject { + /** The account ID of the impacted connected account. */ + @SerializedName("account") + String account; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + } + } + + /** Populated when type is sepa_debit_delayed. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SepaDebitDelayed extends StripeObject { + /** The number of impacted payments. */ + @SerializedName("impacted_payments") + Long impactedPayments; + + /** The percentage of impacted payments. */ + @SerializedName("impacted_payments_percentage") + BigDecimal impactedPaymentsPercentage; + } + + /** Populated when type is traffic_volume_drop. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TrafficVolumeDrop extends StripeObject { + /** The total volume of payment requests within the latest observation time window. */ + @SerializedName("actual_traffic") + Long actualTraffic; + + /** The canonical path. */ + @SerializedName("canonical_path") + String canonicalPath; + + /** The expected volume of payment requests within the latest observation time window. */ + @SerializedName("expected_traffic") + Long expectedTraffic; + + /** The size of the observation time window. */ + @SerializedName("time_window") + String timeWindow; + } + + /** Populated when type is webhook_latency. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class WebhookLatency extends StripeObject { + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + } +} diff --git a/src/main/java/com/stripe/model/v2/core/health/AlertHistoryEntry.java b/src/main/java/com/stripe/model/v2/core/health/AlertHistoryEntry.java new file mode 100644 index 00000000000..231ddd7b773 --- /dev/null +++ b/src/main/java/com/stripe/model/v2/core/health/AlertHistoryEntry.java @@ -0,0 +1,588 @@ +// File generated from our OpenAPI spec +package com.stripe.model.v2.core.health; + +import com.google.gson.annotations.SerializedName; +import com.stripe.model.HasId; +import com.stripe.model.StripeObject; +import com.stripe.v2.Amount; +import java.math.BigDecimal; +import java.time.Instant; +import java.util.List; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** An alert history entry representing a state transition of a health alert. */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class AlertHistoryEntry extends StripeObject implements HasId { + /** Populated when type is api_error. */ + @SerializedName("api_error") + ApiError apiError; + + /** Populated when type is api_latency. */ + @SerializedName("api_latency") + ApiLatency apiLatency; + + /** The time at which this transition occurred. */ + @SerializedName("at") + Instant at; + + /** Populated when type is authorization_rate_drop. */ + @SerializedName("authorization_rate_drop") + AuthorizationRateDrop authorizationRateDrop; + + /** Populated when type is elements_error. */ + @SerializedName("elements_error") + ElementsError elementsError; + + /** Populated when type is event_generation_failure. */ + @SerializedName("event_generation_failure") + EventGenerationFailure eventGenerationFailure; + + /** Populated when type is fraud_rate. */ + @SerializedName("fraud_rate") + FraudRate fraudRate; + + /** Unique identifier for the alert history entry. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** Populated when type is invoice_count_dropped. */ + @SerializedName("invoice_count_dropped") + InvoiceCountDropped invoiceCountDropped; + + /** Populated when type is issuing_authorization_request_errors. */ + @SerializedName("issuing_authorization_request_errors") + IssuingAuthorizationRequestErrors issuingAuthorizationRequestErrors; + + /** Populated when type is issuing_authorization_request_timeout. */ + @SerializedName("issuing_authorization_request_timeout") + IssuingAuthorizationRequestTimeout issuingAuthorizationRequestTimeout; + + /** + * 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; + + /** Populated when type is meter_event_summaries_delayed. */ + @SerializedName("meter_event_summaries_delayed") + MeterEventSummariesDelayed meterEventSummariesDelayed; + + /** Populated when type is metronome_notification_latency. */ + @SerializedName("metronome_notification_latency") + MetronomeNotificationLatency metronomeNotificationLatency; + + /** + * String representing the object's type. Objects of the same type share the same value of the + * object field. + * + *

Equal to {@code v2.core.health.alert_history_entry}. + */ + @SerializedName("object") + String object; + + /** Populated when type is payment_method_error. */ + @SerializedName("payment_method_error") + PaymentMethodError paymentMethodError; + + /** Populated when type is sepa_debit_delayed. */ + @SerializedName("sepa_debit_delayed") + SepaDebitDelayed sepaDebitDelayed; + + /** Populated when type is traffic_volume_drop. */ + @SerializedName("traffic_volume_drop") + TrafficVolumeDrop trafficVolumeDrop; + + /** + * The type of transition that occurred. + * + *

One of {@code impact_updated}, {@code opened}, or {@code resolved}. + */ + @SerializedName("transition") + String transition; + + /** + * The type of the alert. Determines which sub-hash field is populated. + * + *

One of {@code api_error}, {@code api_latency}, {@code authorization_rate_drop}, {@code + * elements_error}, {@code event_generation_failure}, {@code fraud_rate}, {@code + * invoice_count_dropped}, {@code issuing_authorization_request_errors}, {@code + * issuing_authorization_request_timeout}, {@code meter_event_summaries_delayed}, {@code + * metronome_notification_latency}, {@code payment_method_error}, {@code sepa_debit_delayed}, + * {@code traffic_volume_drop}, or {@code webhook_latency}. + */ + @SerializedName("type") + String type; + + /** Populated when type is webhook_latency. */ + @SerializedName("webhook_latency") + WebhookLatency webhookLatency; + + /** Populated when type is api_error. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApiError extends StripeObject { + /** The canonical path. */ + @SerializedName("canonical_path") + String canonicalPath; + + /** The error code. */ + @SerializedName("error_code") + String errorCode; + + /** + * The HTTP method. + * + *

One of {@code DELETE}, {@code GET}, {@code POST}, or {@code PUT}. + */ + @SerializedName("http_method") + String httpMethod; + + /** The HTTP status. */ + @SerializedName("http_status") + String httpStatus; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + + /** The top impacted connected accounts (only for platforms). */ + @SerializedName("top_impacted_accounts") + List topImpactedAccounts; + + /** + * For more details about TopImpactedAccount, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TopImpactedAccount extends StripeObject { + /** The account ID of the impacted connected account. */ + @SerializedName("account") + String account; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + } + } + + /** Populated when type is api_latency. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ApiLatency extends StripeObject { + /** The canonical path. */ + @SerializedName("canonical_path") + String canonicalPath; + + /** + * The HTTP method. + * + *

One of {@code DELETE}, {@code GET}, {@code POST}, or {@code PUT}. + */ + @SerializedName("http_method") + String httpMethod; + + /** The HTTP status. */ + @SerializedName("http_status") + String httpStatus; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + + /** The top impacted connected accounts (only for platforms). */ + @SerializedName("top_impacted_accounts") + List topImpactedAccounts; + + /** + * For more details about TopImpactedAccount, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TopImpactedAccount extends StripeObject { + /** The account ID of the impacted connected account. */ + @SerializedName("account") + String account; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + } + } + + /** Populated when type is authorization_rate_drop. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class AuthorizationRateDrop extends StripeObject { + /** + * The type of the charge. + * + *

One of {@code money_moving}, or {@code validation}. + */ + @SerializedName("charge_type") + String chargeType; + + /** The current authorization rate percentage. */ + @SerializedName("current_percentage") + BigDecimal currentPercentage; + + /** Dimensions that describe what subset of payments are impacted. */ + @SerializedName("dimensions") + List dimensions; + + /** + * The type of the payment method. + * + *

One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay}, + * {@code alma}, {@code amazon_pay}, {@code apple_pay}, {@code au_becs_debit}, {@code + * bacs_debit}, {@code bancontact}, {@code billie}, {@code blik}, {@code boleto}, {@code card}, + * {@code card_present}, {@code cartes_bancaires}, {@code cashapp}, {@code crypto}, {@code + * dummy_passthrough_card}, {@code eps}, {@code fpx}, {@code giropay}, {@code grabpay}, {@code + * ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code + * kriya}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code mondu}, + * {@code multibanco}, {@code naver_pay}, {@code ng_bank}, {@code ng_bank_transfer}, {@code + * ng_card}, {@code ng_market}, {@code ng_ussd}, {@code ng_wallet}, {@code oxxo}, {@code p24}, + * {@code paper_check}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code + * payto}, {@code pay_by_bank}, {@code pix}, {@code promptpay}, {@code rechnung}, {@code + * revolut_pay}, {@code samsung_pay}, {@code satispay}, {@code scalapay}, {@code sepa_debit}, + * {@code sequra}, {@code sofort}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, + * {@code us_bank_account}, {@code vipps}, {@code wechat_pay}, or {@code zip}. + */ + @SerializedName("payment_method_type") + String paymentMethodType; + + /** The previous authorization rate percentage. */ + @SerializedName("previous_percentage") + BigDecimal previousPercentage; + + /** + * For more details about Dimension, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Dimension extends StripeObject { + /** Populated when type is issuer. */ + @SerializedName("issuer") + String issuer; + + /** + * The type of the dimension. Determines which field in dimension_details is populated. + * + *

Equal to {@code issuer}. + */ + @SerializedName("type") + String type; + } + } + + /** Populated when type is elements_error. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ElementsError extends StripeObject { + /** + * The type of the element. + * + *

One of {@code expressCheckout}, or {@code payment}. + */ + @SerializedName("element_type") + String elementType; + + /** The number of impacted sessions. */ + @SerializedName("impacted_sessions") + Long impactedSessions; + } + + /** Populated when type is event_generation_failure. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class EventGenerationFailure extends StripeObject { + /** + * The context the event should have been generated for. Only present when the account is a + * connected account. + */ + @SerializedName("context") + String context; + + /** The type of event that Stripe failed to generate. */ + @SerializedName("event_type") + String eventType; + + /** The related object details. */ + @SerializedName("related_object") + RelatedObject relatedObject; + + /** The related object details. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RelatedObject extends StripeObject implements HasId { + /** The ID of the related object (e.g., "pi_..."). */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** The type of the related object (e.g., "payment_intent"). */ + @SerializedName("type") + String type; + + /** The API URL for the related object (e.g., "/v1/payment_intents/pi_..."). */ + @SerializedName("url") + String url; + } + } + + /** Populated when type is fraud_rate. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class FraudRate extends StripeObject { + /** + * Fraud attack type. + * + *

One of {@code spike}, or {@code sustained_attack}. + */ + @SerializedName("attack_type") + String attackType; + + /** The number of impacted requests which are detected. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** Estimated aggregated amount for the impacted requests. */ + @SerializedName("realized_fraud_amount") + Amount realizedFraudAmount; + } + + /** Populated when type is invoice_count_dropped. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class InvoiceCountDropped extends StripeObject { + /** The observed number of invoices within the time window. */ + @SerializedName("observed_count") + BigDecimal observedCount; + + /** The expected threshold number of invoices within the time window. */ + @SerializedName("threshold_count") + BigDecimal thresholdCount; + + /** The size of the observation time window. */ + @SerializedName("time_window") + String timeWindow; + } + + /** Populated when type is issuing_authorization_request_errors. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class IssuingAuthorizationRequestErrors extends StripeObject { + /** Estimated aggregated amount for the approved requests. */ + @SerializedName("approved_amount") + Amount approvedAmount; + + /** The number of approved requests which are impacted. */ + @SerializedName("approved_impacted_requests") + Long approvedImpactedRequests; + + /** Estimated aggregated amount for the declined requests. */ + @SerializedName("declined_amount") + Amount declinedAmount; + + /** The number of declined requests which are impacted. */ + @SerializedName("declined_impacted_requests") + Long declinedImpactedRequests; + } + + /** Populated when type is issuing_authorization_request_timeout. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class IssuingAuthorizationRequestTimeout extends StripeObject { + /** Estimated aggregated amount for the approved requests. */ + @SerializedName("approved_amount") + Amount approvedAmount; + + /** The number of approved requests which are impacted. */ + @SerializedName("approved_impacted_requests") + Long approvedImpactedRequests; + + /** Estimated aggregated amount for the declined requests. */ + @SerializedName("declined_amount") + Amount declinedAmount; + + /** The number of declined requests which are impacted. */ + @SerializedName("declined_impacted_requests") + Long declinedImpactedRequests; + } + + /** Populated when type is meter_event_summaries_delayed. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class MeterEventSummariesDelayed extends StripeObject { + /** + * The ingestion method. + * + *

Equal to {@code import_sets}. + */ + @SerializedName("ingestion_method") + String ingestionMethod; + } + + /** Populated when type is metronome_notification_latency. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class MetronomeNotificationLatency extends StripeObject { + /** + * The impacted Metronome billing pipeline. + * + *

One of {@code configuration_triggered}, {@code high_cardinality_usage_triggered}, {@code + * standard_usage_triggered}, or {@code time_triggered}. + */ + @SerializedName("pipeline") + String pipeline; + } + + /** Populated when type is payment_method_error. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PaymentMethodError extends StripeObject { + /** The returned error code. */ + @SerializedName("error_code") + String errorCode; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + + /** + * The type of the payment method. + * + *

One of {@code acss_debit}, {@code affirm}, {@code afterpay_clearpay}, {@code alipay}, + * {@code alma}, {@code amazon_pay}, {@code apple_pay}, {@code au_becs_debit}, {@code + * bacs_debit}, {@code bancontact}, {@code billie}, {@code blik}, {@code boleto}, {@code card}, + * {@code card_present}, {@code cartes_bancaires}, {@code cashapp}, {@code crypto}, {@code + * dummy_passthrough_card}, {@code eps}, {@code fpx}, {@code giropay}, {@code grabpay}, {@code + * ideal}, {@code interac_present}, {@code kakao_pay}, {@code klarna}, {@code konbini}, {@code + * kriya}, {@code kr_card}, {@code link}, {@code mb_way}, {@code mobilepay}, {@code mondu}, + * {@code multibanco}, {@code naver_pay}, {@code ng_bank}, {@code ng_bank_transfer}, {@code + * ng_card}, {@code ng_market}, {@code ng_ussd}, {@code ng_wallet}, {@code oxxo}, {@code p24}, + * {@code paper_check}, {@code payco}, {@code paynow}, {@code paypal}, {@code paypay}, {@code + * payto}, {@code pay_by_bank}, {@code pix}, {@code promptpay}, {@code rechnung}, {@code + * revolut_pay}, {@code samsung_pay}, {@code satispay}, {@code scalapay}, {@code sepa_debit}, + * {@code sequra}, {@code sofort}, {@code sunbit}, {@code swish}, {@code twint}, {@code upi}, + * {@code us_bank_account}, {@code vipps}, {@code wechat_pay}, or {@code zip}. + */ + @SerializedName("payment_method_type") + String paymentMethodType; + + /** The top impacted connected accounts (only for platforms). */ + @SerializedName("top_impacted_accounts") + List topImpactedAccounts; + + /** + * For more details about TopImpactedAccount, please refer to the API Reference. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TopImpactedAccount extends StripeObject { + /** The account ID of the impacted connected account. */ + @SerializedName("account") + String account; + + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + + /** The percentage of impacted requests. */ + @SerializedName("impacted_requests_percentage") + BigDecimal impactedRequestsPercentage; + } + } + + /** Populated when type is sepa_debit_delayed. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class SepaDebitDelayed extends StripeObject { + /** The number of impacted payments. */ + @SerializedName("impacted_payments") + Long impactedPayments; + + /** The percentage of impacted payments. */ + @SerializedName("impacted_payments_percentage") + BigDecimal impactedPaymentsPercentage; + } + + /** Populated when type is traffic_volume_drop. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class TrafficVolumeDrop extends StripeObject { + /** The total volume of payment requests within the latest observation time window. */ + @SerializedName("actual_traffic") + Long actualTraffic; + + /** The canonical path. */ + @SerializedName("canonical_path") + String canonicalPath; + + /** The expected volume of payment requests within the latest observation time window. */ + @SerializedName("expected_traffic") + Long expectedTraffic; + + /** The size of the observation time window. */ + @SerializedName("time_window") + String timeWindow; + } + + /** Populated when type is webhook_latency. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class WebhookLatency extends StripeObject { + /** The number of impacted requests. */ + @SerializedName("impacted_requests") + Long impactedRequests; + } +} diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java index ff60da30729..95de252a018 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddress.java @@ -305,6 +305,10 @@ public static class UsBankAccount extends StripeObject { @SerializedName("bank_name") String bankName; + /** The BIC of the bank or financial institution. */ + @SerializedName("bic") + String bic; + /** * The last four digits of the US Bank Account number. This will always be returned. To view * the full account number when retrieving or listing FinancialAddresses, use the {@code @@ -317,10 +321,6 @@ public static class UsBankAccount extends StripeObject { @SerializedName("routing_number") String routingNumber; - /** The swift code of the bank or financial institution. */ - @SerializedName("swift_code") - String swiftCode; - /** The address of the account holder. */ @Getter @Setter diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddressDebitSimulation.java b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddressDebitSimulation.java new file mode 100644 index 00000000000..578219355c2 --- /dev/null +++ b/src/main/java/com/stripe/model/v2/moneymanagement/FinancialAddressDebitSimulation.java @@ -0,0 +1,37 @@ +// File generated from our OpenAPI spec +package com.stripe.model.v2.moneymanagement; + +import com.google.gson.annotations.SerializedName; +import com.stripe.model.StripeObject; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** + * Debit Simulations represent a simulated debit transaction applied to financial addresses for + * testing purposes. + */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class FinancialAddressDebitSimulation extends StripeObject { + /** + * 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 of the + * object field. + * + *

Equal to {@code v2.money_management.financial_address_debit_simulation}. + */ + @SerializedName("object") + String object; + + /** The status of the request, signifying whether a simulated debit was initiated. */ + @SerializedName("status") + String status; +} diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java index 34688277e07..6be2162a401 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundPayment.java @@ -6,6 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.v2.Amount; import java.time.Instant; +import java.util.List; import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -139,7 +140,10 @@ public class OutboundPayment extends StripeObject implements HasId { @SerializedName("status") String status; - /** Status details for an OutboundPayment in a {@code failed} or {@code returned} state. */ + /** + * Status details for an OutboundPayment in a {@code processing}, {@code failed}, or {@code + * returned} state. + */ @SerializedName("status_details") StatusDetails statusDetails; @@ -192,6 +196,10 @@ public static class DeliveryOptions extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class PaperCheck extends StripeObject { + /** The ID of a file to include as an attachment with the paper check. */ + @SerializedName("attachment") + String attachment; + /** Memo printed on the memo field of the check. */ @SerializedName("memo") String memo; @@ -240,7 +248,10 @@ public static class RecipientNotification extends StripeObject { String setting; } - /** Status details for an OutboundPayment in a {@code failed} or {@code returned} state. */ + /** + * Status details for an OutboundPayment in a {@code processing}, {@code failed}, or {@code + * returned} state. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -249,6 +260,10 @@ public static class StatusDetails extends StripeObject { @SerializedName("failed") Failed failed; + /** The {@code processing} status details. */ + @SerializedName("processing") + Processing processing; + /** The {@code returned} status reason. */ @SerializedName("returned") Returned returned; @@ -261,11 +276,27 @@ public static class Failed extends StripeObject { /** * Open Enum. The {@code failed} status reason. * - *

One of {@code paper_check_attachment_too_large}, {@code paper_check_expired}, {@code + *

One of {@code fx_rate_drift_exceeded_after_review}, {@code + * paper_check_attachment_too_large}, {@code paper_check_expired}, {@code * paper_check_undeliverable}, {@code payout_method_amount_limit_exceeded}, {@code * payout_method_declined}, {@code payout_method_does_not_exist}, {@code * payout_method_expired}, {@code payout_method_unsupported}, {@code - * payout_method_usage_frequency_limit_exceeded}, or {@code unknown_failure}. + * payout_method_usage_frequency_limit_exceeded}, {@code review_rejected}, or {@code + * unknown_failure}. + */ + @SerializedName("reason") + String reason; + } + + /** The {@code processing} status details. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Processing extends StripeObject { + /** + * Open Enum. The {@code processing} status reason. + * + *

Equal to {@code under_review}. */ @SerializedName("reason") String reason; @@ -341,9 +372,69 @@ public static class To extends StripeObject { @SerializedName("payout_method") String payoutMethod; + /** Payout method options for the OutboundPayment. */ + @SerializedName("payout_method_options") + PayoutMethodOptions payoutMethodOptions; + /** To which account the OutboundPayment is sent. */ @SerializedName("recipient") String recipient; + + /** Payout method options for the OutboundPayment. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PayoutMethodOptions extends StripeObject { + /** Options for bank account payout methods. */ + @SerializedName("bank_account") + BankAccount bankAccount; + + /** Options for bank account payout methods. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankAccount extends StripeObject { + /** Per-network configuration options. */ + @SerializedName("preferred_network_options") + PreferredNetworkOptions preferredNetworkOptions; + + /** The preferred networks to use for this OutboundPayment. */ + @SerializedName("preferred_networks") + List preferredNetworks; + + /** Per-network configuration options. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PreferredNetworkOptions extends StripeObject { + /** ACH-specific network options. */ + @SerializedName("ach") + Ach ach; + + /** ACH-specific network options. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Ach extends StripeObject { + /** + * Open Enum. ACH submission timing. + * + *

One of {@code next_day}, or {@code same_day}. + */ + @SerializedName("submission") + String submission; + + /** + * The transaction purpose for this ACH payment. + * + *

Equal to {@code payroll}. + */ + @SerializedName("transaction_purpose") + String transactionPurpose; + } + } + } + } } /** diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java index 908e794a752..dbb220d8e4c 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/OutboundTransfer.java @@ -6,6 +6,7 @@ import com.stripe.model.StripeObject; import com.stripe.v2.Amount; import java.time.Instant; +import java.util.List; import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -120,7 +121,10 @@ public class OutboundTransfer extends StripeObject implements HasId { @SerializedName("status") String status; - /** Status details for an OutboundTransfer in a {@code failed} or {@code returned} state. */ + /** + * Status details for an OutboundTransfer in a {@code processing}, {@code failed}, or {@code + * returned} state. + */ @SerializedName("status_details") StatusDetails statusDetails; @@ -167,7 +171,10 @@ public static class From extends StripeObject { String financialAccount; } - /** Status details for an OutboundTransfer in a {@code failed} or {@code returned} state. */ + /** + * Status details for an OutboundTransfer in a {@code processing}, {@code failed}, or {@code + * returned} state. + */ @Getter @Setter @EqualsAndHashCode(callSuper = false) @@ -176,6 +183,10 @@ public static class StatusDetails extends StripeObject { @SerializedName("failed") Failed failed; + /** The {@code processing} status details. */ + @SerializedName("processing") + Processing processing; + /** The {@code returned} status reason. */ @SerializedName("returned") Returned returned; @@ -188,10 +199,25 @@ public static class Failed extends StripeObject { /** * Open Enum. The {@code failed} status reason. * - *

One of {@code payout_method_amount_limit_exceeded}, {@code payout_method_declined}, - * {@code payout_method_does_not_exist}, {@code payout_method_expired}, {@code - * payout_method_unsupported}, {@code payout_method_usage_frequency_limit_exceeded}, or {@code - * unknown_failure}. + *

One of {@code fx_rate_drift_exceeded_after_review}, {@code + * payout_method_amount_limit_exceeded}, {@code payout_method_declined}, {@code + * payout_method_does_not_exist}, {@code payout_method_expired}, {@code + * payout_method_unsupported}, {@code payout_method_usage_frequency_limit_exceeded}, {@code + * review_rejected}, or {@code unknown_failure}. + */ + @SerializedName("reason") + String reason; + } + + /** The {@code processing} status details. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Processing extends StripeObject { + /** + * Open Enum. The {@code processing} status reason. + * + *

Equal to {@code under_review}. */ @SerializedName("reason") String reason; @@ -266,6 +292,30 @@ public static class To extends StripeObject { /** The payout method which the OutboundTransfer uses to send payout. */ @SerializedName("payout_method") String payoutMethod; + + /** Payout method options for the OutboundTransfer. */ + @SerializedName("payout_method_options") + PayoutMethodOptions payoutMethodOptions; + + /** Payout method options for the OutboundTransfer. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PayoutMethodOptions extends StripeObject { + /** Options for bank account payout methods. */ + @SerializedName("bank_account") + BankAccount bankAccount; + + /** Options for bank account payout methods. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankAccount extends StripeObject { + /** The preferred networks to use for this OutboundTransfer. */ + @SerializedName("preferred_networks") + List preferredNetworks; + } + } } /** diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/PayoutIntent.java b/src/main/java/com/stripe/model/v2/moneymanagement/PayoutIntent.java new file mode 100644 index 00000000000..daba2ab0f38 --- /dev/null +++ b/src/main/java/com/stripe/model/v2/moneymanagement/PayoutIntent.java @@ -0,0 +1,344 @@ +// File generated from our OpenAPI spec +package com.stripe.model.v2.moneymanagement; + +import com.google.gson.annotations.SerializedName; +import com.stripe.model.HasId; +import com.stripe.model.StripeObject; +import com.stripe.v2.Amount; +import java.time.Instant; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.Setter; + +/** PayoutIntent represents an intent to send funds from a Financial Account to a payout method. */ +@Getter +@Setter +@EqualsAndHashCode(callSuper = false) +public class PayoutIntent extends StripeObject implements HasId { + /** The monetary amount to be sent. */ + @SerializedName("amount") + Amount amount; + + /** + * Time at which the PayoutIntent was created. Represented as a RFC 3339 date & time UTC value + * in millisecond precision, for example: 2022-09-18T13:22:18.123Z. + */ + @SerializedName("created") + Instant created; + + /** An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. */ + @SerializedName("description") + String description; + + /** The FinancialAccount that funds are pulled from. */ + @SerializedName("from") + From from; + + /** Unique identifier for the PayoutIntent. */ + @Getter(onMethod_ = {@Override}) + @SerializedName("id") + String id; + + /** Details about the latest payout associated with this PayoutIntent. */ + @SerializedName("latest_payout") + LatestPayout latestPayout; + + /** + * 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; + + /** + * Set of key-value pairs that you can attach to an object. This can be useful for storing + * additional information about the object in a structured format. + */ + @SerializedName("metadata") + Map metadata; + + /** + * Next action required for a PayoutIntent in the requires_action state. Populated when status is + * requires_action. + */ + @SerializedName("next_action") + NextAction nextAction; + + /** + * String representing the object's type. Objects of the same type share the same value of the + * object field. + * + *

Equal to {@code v2.money_management.payout_intent}. + */ + @SerializedName("object") + String object; + + /** + * Details about the OutboundPayment notification settings for recipient. Only applicable to + * OutboundPayment. + */ + @SerializedName("recipient_notification") + RecipientNotification recipientNotification; + + /** Scheduling options for the payout. If this is nil, we assume immediate execution. */ + @SerializedName("schedule_options") + ScheduleOptions scheduleOptions; + + /** + * The description that appears on the receiving end for the payout (for example, on a bank + * statement). + */ + @SerializedName("statement_descriptor") + String statementDescriptor; + + /** + * Open Enum. Current status of the PayoutIntent: {@code pending}, {@code processing}, {@code + * posted}, {@code canceled}, {@code requires_action}. + * + *

One of {@code canceled}, {@code pending}, {@code posted}, {@code processing}, or {@code + * requires_action}. + */ + @SerializedName("status") + String status; + + /** Hash containing timestamps of when transitioned to a particular status. */ + @SerializedName("status_transitions") + StatusTransitions statusTransitions; + + /** To which payout method the payout is sent. */ + @SerializedName("to") + To to; + + /** The FinancialAccount that funds are pulled from. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class From extends StripeObject { + /** The currency of the financial account. */ + @SerializedName("currency") + String currency; + + /** The FinancialAccount that funds are pulled from. */ + @SerializedName("financial_account") + String financialAccount; + } + + /** Details about the latest payout associated with this PayoutIntent. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class LatestPayout extends StripeObject { + /** The ID of the OutboundPayment, if applicable. */ + @SerializedName("outbound_payment") + String outboundPayment; + + /** The ID of the OutboundTransfer, if applicable. */ + @SerializedName("outbound_transfer") + String outboundTransfer; + + /** + * The type of payout. + * + *

One of {@code outbound_payment}, or {@code outbound_transfer}. + */ + @SerializedName("type") + String type; + } + + /** + * Next action required for a PayoutIntent in the requires_action state. Populated when status is + * requires_action. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class NextAction extends StripeObject { + /** Details about a failure that requires user action. Populated when type is handle_failure. */ + @SerializedName("handle_failure") + HandleFailure handleFailure; + + /** + * Open Enum. The type of next action required. + * + *

Equal to {@code handle_failure}. + */ + @SerializedName("type") + String type; + + /** Details about a failure that requires user action. Populated when type is handle_failure. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class HandleFailure extends StripeObject { + /** + * Open Enum. The reason for the failure. + * + *

One of {@code account_not_configured_as_recipient}, {@code + * currency_not_supported_for_financial_account_balance}, {@code + * feature_not_active_for_recipient}, {@code fx_rate_drift_exceeded_after_review}, {@code + * insufficient_funds}, {@code payout_method_account_type_incorrect}, {@code + * payout_method_amount_limit_exceeded}, {@code payout_method_canceled_by_customer}, {@code + * payout_method_closed}, {@code payout_method_currency_unsupported}, {@code + * payout_method_declined}, {@code payout_method_does_not_exist}, {@code + * payout_method_expired}, {@code payout_method_holder_address_incorrect}, {@code + * payout_method_holder_details_incorrect}, {@code payout_method_holder_name_incorrect}, + * {@code payout_method_invalid_account_number}, {@code payout_method_restricted}, {@code + * payout_method_unsupported}, {@code payout_method_usage_frequency_limit_exceeded}, {@code + * recalled}, {@code review_rejected}, {@code to_destination_invalid}, or {@code + * unknown_failure}. + */ + @SerializedName("failure_reason") + String failureReason; + } + } + + /** + * Details about the OutboundPayment notification settings for recipient. Only applicable to + * OutboundPayment. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class RecipientNotification extends StripeObject { + /** + * Closed Enum. Configuration option to enable or disable notifications to recipients. Do not + * send notifications when setting is NONE. Default to account setting when setting is + * CONFIGURED or not set. + * + *

One of {@code configured}, or {@code none}. + */ + @SerializedName("setting") + String setting; + } + + /** Scheduling options for the payout. If this is nil, we assume immediate execution. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class ScheduleOptions extends StripeObject { + /** The date when the payout should be executed, in YYYY-MM-DD format. */ + @SerializedName("execute_on") + String executeOn; + } + + /** Hash containing timestamps of when transitioned to a particular status. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class StatusTransitions extends StripeObject { + /** + * Timestamp describing when a PayoutIntent changed status to {@code canceled}. Represented as a + * RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("canceled_at") + Instant canceledAt; + + /** + * Timestamp describing when a PayoutIntent changed status to {@code posted}. Represented as a + * RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("posted_at") + Instant postedAt; + + /** + * Timestamp describing when a PayoutIntent changed status to {@code processing}. Represented as + * a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("processing_at") + Instant processingAt; + + /** + * Timestamp describing when a PayoutIntent changed status to {@code requires_action}. + * Represented as a RFC 3339 date & time UTC value in millisecond precision, for example: + * 2022-09-18T13:22:18.123Z. + */ + @SerializedName("requires_action_at") + Instant requiresActionAt; + } + + /** To which payout method the payout is sent. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class To extends StripeObject { + /** The currency to send to the recipient. */ + @SerializedName("currency") + String currency; + + /** + * The payout method ID. Optional for OutboundPayment if recipient has default payment method. + * Required for OutboundTransfer. + */ + @SerializedName("payout_method") + String payoutMethod; + + /** Payout method options for the PayoutIntent. */ + @SerializedName("payout_method_options") + PayoutMethodOptions payoutMethodOptions; + + /** The recipient ID. Only relevant for OutboundPayment. */ + @SerializedName("recipient") + String recipient; + + /** Payout method options for the PayoutIntent. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PayoutMethodOptions extends StripeObject { + /** Options for bank account payout methods. */ + @SerializedName("bank_account") + BankAccount bankAccount; + + /** Options for bank account payout methods. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class BankAccount extends StripeObject { + /** Per-network configuration options. */ + @SerializedName("preferred_network_options") + PreferredNetworkOptions preferredNetworkOptions; + + /** The preferred networks to use for this PayoutIntent. */ + @SerializedName("preferred_networks") + List preferredNetworks; + + /** Per-network configuration options. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class PreferredNetworkOptions extends StripeObject { + /** ACH-specific network options. */ + @SerializedName("ach") + Ach ach; + + /** ACH-specific network options. */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Ach extends StripeObject { + /** + * Open Enum. ACH submission timing. + * + *

One of {@code next_day}, or {@code same_day}. + */ + @SerializedName("submission") + String submission; + + /** + * The transaction purpose for this ACH payment. + * + *

Equal to {@code payroll}. + */ + @SerializedName("transaction_purpose") + String transactionPurpose; + } + } + } + } + } +} diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java index 8ae5aa02243..0ad44a4eddb 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedCredit.java @@ -410,6 +410,10 @@ public static class SepaBankAccount extends StripeObject { @Setter @EqualsAndHashCode(callSuper = false) public static class UsBankAccount extends StripeObject { + /** The name of the account holder that sent the payment. */ + @SerializedName("account_holder_name") + String accountHolderName; + /** The bank name the transfer was received from. */ @SerializedName("bank_name") String bankName; diff --git a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java index 6489f3f5faa..8fc60e1796a 100644 --- a/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java +++ b/src/main/java/com/stripe/model/v2/moneymanagement/ReceivedDebit.java @@ -282,6 +282,13 @@ public static class StatusDetails extends StripeObject { @SerializedName("failed") Failed failed; + /** + * Information that elaborates on the {@code returned} status of a ReceivedDebit. It is only + * present when the ReceivedDebit status is {@code returned}. + */ + @SerializedName("returned") + Returned returned; + /** * Information that elaborates on the {@code failed} status of a ReceivedDebit. It is only * present when the ReceivedDebit status is {@code failed}. @@ -293,8 +300,25 @@ public static class Failed extends StripeObject { /** * Open Enum. The reason for the failure of the ReceivedDebit. * - *

One of {@code financial_address_inactive}, {@code insufficient_funds}, or {@code - * stripe_rejected}. + *

One of {@code capability_inactive}, {@code financial_address_inactive}, {@code + * insufficient_funds}, or {@code stripe_rejected}. + */ + @SerializedName("reason") + String reason; + } + + /** + * Information that elaborates on the {@code returned} status of a ReceivedDebit. It is only + * present when the ReceivedDebit status is {@code returned}. + */ + @Getter + @Setter + @EqualsAndHashCode(callSuper = false) + public static class Returned extends StripeObject { + /** + * Open Enum. The reason the ReceivedDebit was returned. + * + *

Equal to {@code originator_initiated}. */ @SerializedName("reason") String reason; @@ -321,6 +345,14 @@ public static class StatusTransitions extends StripeObject { @SerializedName("failed_at") Instant failedAt; + /** + * The time when the ReceivedDebit was marked as {@code returned}. Represented as a RFC 3339 + * date & time UTC value in millisecond precision, for example: {@code + * 2022-09-18T13:22:18.123Z}. + */ + @SerializedName("returned_at") + Instant returnedAt; + /** * The time when the ReceivedDebit was marked as {@code succeeded}. Represented as a RFC 3339 * date & time UTC value in millisecond precision, for example: {@code diff --git a/src/main/java/com/stripe/param/AccountSessionCreateParams.java b/src/main/java/com/stripe/param/AccountSessionCreateParams.java index a5375814622..64a3a720c8d 100644 --- a/src/main/java/com/stripe/param/AccountSessionCreateParams.java +++ b/src/main/java/com/stripe/param/AccountSessionCreateParams.java @@ -283,6 +283,22 @@ public static class Components { @SerializedName("financial_account_transactions") FinancialAccountTransactions financialAccountTransactions; + /** + * Configuration for the financial + * accounts embedded component. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; + + /** + * Configuration for the financial + * accounts transactions embedded component. + */ + @SerializedName("financial_accounts_transactions") + FinancialAccountsTransactions financialAccountsTransactions; + /** * Configuration for the instant @@ -395,6 +411,14 @@ public static class Components { @SerializedName("recipients") Recipients recipients; + /** + * Configuration for the recipients + * list embedded component. + */ + @SerializedName("recipients_list") + RecipientsList recipientsList; + /** * Configuration for the reporting @@ -462,6 +486,8 @@ private Components( Map extraParams, FinancialAccount financialAccount, FinancialAccountTransactions financialAccountTransactions, + FinancialAccounts financialAccounts, + FinancialAccountsTransactions financialAccountsTransactions, InstantPayoutsPromotion instantPayoutsPromotion, IssuingCard issuingCard, IssuingCardsList issuingCardsList, @@ -476,6 +502,7 @@ private Components( PayoutsList payoutsList, ProductTaxCodeSelector productTaxCodeSelector, Recipients recipients, + RecipientsList recipientsList, ReportingChart reportingChart, TaxRegistrations taxRegistrations, TaxSettings taxSettings, @@ -500,6 +527,8 @@ private Components( this.extraParams = extraParams; this.financialAccount = financialAccount; this.financialAccountTransactions = financialAccountTransactions; + this.financialAccounts = financialAccounts; + this.financialAccountsTransactions = financialAccountsTransactions; this.instantPayoutsPromotion = instantPayoutsPromotion; this.issuingCard = issuingCard; this.issuingCardsList = issuingCardsList; @@ -514,6 +543,7 @@ private Components( this.payoutsList = payoutsList; this.productTaxCodeSelector = productTaxCodeSelector; this.recipients = recipients; + this.recipientsList = recipientsList; this.reportingChart = reportingChart; this.taxRegistrations = taxRegistrations; this.taxSettings = taxSettings; @@ -563,6 +593,10 @@ public static class Builder { private FinancialAccountTransactions financialAccountTransactions; + private FinancialAccounts financialAccounts; + + private FinancialAccountsTransactions financialAccountsTransactions; + private InstantPayoutsPromotion instantPayoutsPromotion; private IssuingCard issuingCard; @@ -591,6 +625,8 @@ public static class Builder { private Recipients recipients; + private RecipientsList recipientsList; + private ReportingChart reportingChart; private TaxRegistrations taxRegistrations; @@ -624,6 +660,8 @@ public AccountSessionCreateParams.Components build() { this.extraParams, this.financialAccount, this.financialAccountTransactions, + this.financialAccounts, + this.financialAccountsTransactions, this.instantPayoutsPromotion, this.issuingCard, this.issuingCardsList, @@ -638,6 +676,7 @@ public AccountSessionCreateParams.Components build() { this.payoutsList, this.productTaxCodeSelector, this.recipients, + this.recipientsList, this.reportingChart, this.taxRegistrations, this.taxSettings, @@ -858,6 +897,29 @@ public Builder setFinancialAccountTransactions( return this; } + /** + * Configuration for the financial + * accounts embedded component. + */ + public Builder setFinancialAccounts( + AccountSessionCreateParams.Components.FinancialAccounts financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + + /** + * Configuration for the financial + * accounts transactions embedded component. + */ + public Builder setFinancialAccountsTransactions( + AccountSessionCreateParams.Components.FinancialAccountsTransactions + financialAccountsTransactions) { + this.financialAccountsTransactions = financialAccountsTransactions; + return this; + } + /** * Configuration for the instant @@ -1008,6 +1070,17 @@ public Builder setRecipients(AccountSessionCreateParams.Components.Recipients re return this; } + /** + * Configuration for the recipients + * list embedded component. + */ + public Builder setRecipientsList( + AccountSessionCreateParams.Components.RecipientsList recipientsList) { + this.recipientsList = recipientsList; + return this; + } + /** * Configuration for the reporting @@ -4114,6 +4187,275 @@ public Builder putAllExtraParam(Map map) { } } + @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("features") + Features features; + + private FinancialAccounts(Map extraParams, Features features) { + this.extraParams = extraParams; + this.features = features; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Features features; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountSessionCreateParams.Components.FinancialAccounts build() { + return new AccountSessionCreateParams.Components.FinancialAccounts( + this.extraParams, this.features); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountSessionCreateParams.Components.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 AccountSessionCreateParams.Components.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; + } + + public Builder setFeatures( + AccountSessionCreateParams.Components.FinancialAccounts.Features features) { + this.features = features; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Features { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Features(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountSessionCreateParams.Components.FinancialAccounts.Features build() { + return new AccountSessionCreateParams.Components.FinancialAccounts.Features( + 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 + * AccountSessionCreateParams.Components.FinancialAccounts.Features#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountSessionCreateParams.Components.FinancialAccounts.Features#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 FinancialAccountsTransactions { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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("features") + Features features; + + private FinancialAccountsTransactions(Map extraParams, Features features) { + this.extraParams = extraParams; + this.features = features; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Features features; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountSessionCreateParams.Components.FinancialAccountsTransactions build() { + return new AccountSessionCreateParams.Components.FinancialAccountsTransactions( + this.extraParams, this.features); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountSessionCreateParams.Components.FinancialAccountsTransactions#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountSessionCreateParams.Components.FinancialAccountsTransactions#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 Builder setFeatures( + AccountSessionCreateParams.Components.FinancialAccountsTransactions.Features features) { + this.features = features; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Features { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Features(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountSessionCreateParams.Components.FinancialAccountsTransactions.Features + build() { + return new AccountSessionCreateParams.Components.FinancialAccountsTransactions.Features( + 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 + * AccountSessionCreateParams.Components.FinancialAccountsTransactions.Features#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountSessionCreateParams.Components.FinancialAccountsTransactions.Features#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 InstantPayoutsPromotion { @@ -6807,6 +7149,139 @@ public Builder setSendMoney(Boolean sendMoney) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RecipientsList { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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("features") + Features features; + + private RecipientsList(Map extraParams, Features features) { + this.extraParams = extraParams; + this.features = features; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Features features; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountSessionCreateParams.Components.RecipientsList build() { + return new AccountSessionCreateParams.Components.RecipientsList( + this.extraParams, this.features); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountSessionCreateParams.Components.RecipientsList#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountSessionCreateParams.Components.RecipientsList#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 Builder setFeatures( + AccountSessionCreateParams.Components.RecipientsList.Features features) { + this.features = features; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Features { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Features(Map extraParams) { + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountSessionCreateParams.Components.RecipientsList.Features build() { + return new AccountSessionCreateParams.Components.RecipientsList.Features( + 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 + * AccountSessionCreateParams.Components.RecipientsList.Features#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountSessionCreateParams.Components.RecipientsList.Features#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 ReportingChart { diff --git a/src/main/java/com/stripe/param/PaymentAttemptRecordReportEarlyFraudWarningParams.java b/src/main/java/com/stripe/param/PaymentAttemptRecordReportEarlyFraudWarningParams.java new file mode 100644 index 00000000000..fa628f3a147 --- /dev/null +++ b/src/main/java/com/stripe/param/PaymentAttemptRecordReportEarlyFraudWarningParams.java @@ -0,0 +1,219 @@ +// File generated from our OpenAPI spec +package com.stripe.param; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import com.stripe.param.common.EmptyParam; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class PaymentAttemptRecordReportEarlyFraudWarningParams 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; + + /** Required. The type of fraud reported in the early fraud warning. */ + @SerializedName("fraud_type") + FraudType fraudType; + + /** + * Set of key-value pairs that you can attach + * to an object. This can be useful for storing additional information about the object in a + * structured format. Individual keys can be unset by posting an empty value to them. All keys can + * be unset by posting an empty value to {@code metadata}. + */ + @SerializedName("metadata") + Object metadata; + + /** Required. The time at which the early fraud warning was received. */ + @SerializedName("occurred_at") + Long occurredAt; + + private PaymentAttemptRecordReportEarlyFraudWarningParams( + List expand, + Map extraParams, + FraudType fraudType, + Object metadata, + Long occurredAt) { + this.expand = expand; + this.extraParams = extraParams; + this.fraudType = fraudType; + this.metadata = metadata; + this.occurredAt = occurredAt; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + private FraudType fraudType; + + private Object metadata; + + private Long occurredAt; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentAttemptRecordReportEarlyFraudWarningParams build() { + return new PaymentAttemptRecordReportEarlyFraudWarningParams( + this.expand, this.extraParams, this.fraudType, this.metadata, this.occurredAt); + } + + /** + * 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 + * PaymentAttemptRecordReportEarlyFraudWarningParams#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 + * PaymentAttemptRecordReportEarlyFraudWarningParams#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 + * PaymentAttemptRecordReportEarlyFraudWarningParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentAttemptRecordReportEarlyFraudWarningParams#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The type of fraud reported in the early fraud warning. */ + public Builder setFraudType( + PaymentAttemptRecordReportEarlyFraudWarningParams.FraudType fraudType) { + this.fraudType = fraudType; + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, + * and subsequent calls add additional key/value pairs to the original map. See {@link + * PaymentAttemptRecordReportEarlyFraudWarningParams#metadata} for the field documentation. + */ + @SuppressWarnings("unchecked") + public Builder putMetadata(String key, String value) { + if (this.metadata == null || this.metadata instanceof EmptyParam) { + this.metadata = new HashMap(); + } + ((Map) this.metadata).put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentAttemptRecordReportEarlyFraudWarningParams#metadata} for the field + * documentation. + */ + @SuppressWarnings("unchecked") + public Builder putAllMetadata(Map map) { + if (this.metadata == null || this.metadata instanceof EmptyParam) { + this.metadata = new HashMap(); + } + ((Map) this.metadata).putAll(map); + return this; + } + + /** + * Set of key-value pairs that you can attach + * to an object. This can be useful for storing additional information about the object in a + * structured format. Individual keys can be unset by posting an empty value to them. All keys + * can be unset by posting an empty value to {@code metadata}. + */ + public Builder setMetadata(EmptyParam metadata) { + this.metadata = metadata; + return this; + } + + /** + * Set of key-value pairs that you can attach + * to an object. This can be useful for storing additional information about the object in a + * structured format. Individual keys can be unset by posting an empty value to them. All keys + * can be unset by posting an empty value to {@code metadata}. + */ + public Builder setMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + + /** Required. The time at which the early fraud warning was received. */ + public Builder setOccurredAt(Long occurredAt) { + this.occurredAt = occurredAt; + return this; + } + } + + public enum FraudType implements ApiRequestParams.EnumParam { + @SerializedName("made_with_lost_card") + MADE_WITH_LOST_CARD("made_with_lost_card"), + + @SerializedName("made_with_stolen_card") + MADE_WITH_STOLEN_CARD("made_with_stolen_card"), + + @SerializedName("other") + OTHER("other"), + + @SerializedName("unauthorized_use_of_card") + UNAUTHORIZED_USE_OF_CARD("unauthorized_use_of_card"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + FraudType(String value) { + this.value = value; + } + } +} diff --git a/src/main/java/com/stripe/param/PaymentAttemptRecordReportRefundParams.java b/src/main/java/com/stripe/param/PaymentAttemptRecordReportRefundParams.java index d7002167f1f..ead9e5680bd 100644 --- a/src/main/java/com/stripe/param/PaymentAttemptRecordReportRefundParams.java +++ b/src/main/java/com/stripe/param/PaymentAttemptRecordReportRefundParams.java @@ -52,7 +52,7 @@ public class PaymentAttemptRecordReportRefundParams extends ApiRequestParams { @SerializedName("metadata") Object metadata; - /** Required. The outcome of the reported refund. */ + /** The outcome of the reported refund. */ @SerializedName("outcome") Outcome outcome; @@ -255,7 +255,7 @@ public Builder setMetadata(Map metadata) { return this; } - /** Required. The outcome of the reported refund. */ + /** The outcome of the reported refund. */ public Builder setOutcome(PaymentAttemptRecordReportRefundParams.Outcome outcome) { this.outcome = outcome; return this; diff --git a/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java b/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java index bc30710bd84..e44f2576ad4 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCaptureParams.java @@ -434,6 +434,10 @@ public static class AmountDetails { @SerializedName("tax") Object tax; + /** Contains information about the tip portion of the amount. */ + @SerializedName("tip") + Object tip; + private AmountDetails( Object discountAmount, Boolean enforceArithmeticValidation, @@ -441,7 +445,8 @@ private AmountDetails( Object lineItems, Object shipping, Object surcharge, - Object tax) { + Object tax, + Object tip) { this.discountAmount = discountAmount; this.enforceArithmeticValidation = enforceArithmeticValidation; this.extraParams = extraParams; @@ -449,6 +454,7 @@ private AmountDetails( this.shipping = shipping; this.surcharge = surcharge; this.tax = tax; + this.tip = tip; } public static Builder builder() { @@ -470,6 +476,8 @@ public static class Builder { private Object tax; + private Object tip; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentCaptureParams.AmountDetails build() { return new PaymentIntentCaptureParams.AmountDetails( @@ -479,7 +487,8 @@ public PaymentIntentCaptureParams.AmountDetails build() { this.lineItems, this.shipping, this.surcharge, - this.tax); + this.tax, + this.tip); } /** @@ -635,6 +644,18 @@ public Builder setTax(EmptyParam tax) { this.tax = tax; return this; } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(PaymentIntentCaptureParams.AmountDetails.Tip tip) { + this.tip = tip; + return this; + } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(EmptyParam tip) { + this.tip = tip; + return this; + } } @Getter @@ -2169,6 +2190,83 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tip { + /** Portion of the amount that corresponds to a tip. */ + @SerializedName("amount") + Object amount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Tip(Object amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object amount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCaptureParams.AmountDetails.Tip build() { + return new PaymentIntentCaptureParams.AmountDetails.Tip(this.amount, this.extraParams); + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(EmptyParam amount) { + this.amount = amount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCaptureParams.AmountDetails.Tip#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCaptureParams.AmountDetails.Tip#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 diff --git a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java index bb99fd1de32..e3bce5390d3 100644 --- a/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentConfirmParams.java @@ -934,6 +934,10 @@ public static class AmountDetails { @SerializedName("tax") Object tax; + /** Contains information about the tip portion of the amount. */ + @SerializedName("tip") + Object tip; + private AmountDetails( Object discountAmount, Boolean enforceArithmeticValidation, @@ -941,7 +945,8 @@ private AmountDetails( Object lineItems, Object shipping, Object surcharge, - Object tax) { + Object tax, + Object tip) { this.discountAmount = discountAmount; this.enforceArithmeticValidation = enforceArithmeticValidation; this.extraParams = extraParams; @@ -949,6 +954,7 @@ private AmountDetails( this.shipping = shipping; this.surcharge = surcharge; this.tax = tax; + this.tip = tip; } public static Builder builder() { @@ -970,6 +976,8 @@ public static class Builder { private Object tax; + private Object tip; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentConfirmParams.AmountDetails build() { return new PaymentIntentConfirmParams.AmountDetails( @@ -979,7 +987,8 @@ public PaymentIntentConfirmParams.AmountDetails build() { this.lineItems, this.shipping, this.surcharge, - this.tax); + this.tax, + this.tip); } /** @@ -1135,6 +1144,18 @@ public Builder setTax(EmptyParam tax) { this.tax = tax; return this; } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(PaymentIntentConfirmParams.AmountDetails.Tip tip) { + this.tip = tip; + return this; + } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(EmptyParam tip) { + this.tip = tip; + return this; + } } @Getter @@ -2669,6 +2690,83 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tip { + /** Portion of the amount that corresponds to a tip. */ + @SerializedName("amount") + Object amount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Tip(Object amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object amount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentConfirmParams.AmountDetails.Tip build() { + return new PaymentIntentConfirmParams.AmountDetails.Tip(this.amount, this.extraParams); + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(EmptyParam amount) { + this.amount = amount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentConfirmParams.AmountDetails.Tip#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. 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.AmountDetails.Tip#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 diff --git a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java index eb7cb445385..448154b690f 100644 --- a/src/main/java/com/stripe/param/PaymentIntentCreateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentCreateParams.java @@ -1330,6 +1330,10 @@ public static class AmountDetails { @SerializedName("tax") Object tax; + /** Contains information about the tip portion of the amount. */ + @SerializedName("tip") + Object tip; + private AmountDetails( Object discountAmount, Boolean enforceArithmeticValidation, @@ -1337,7 +1341,8 @@ private AmountDetails( Object lineItems, Object shipping, Object surcharge, - Object tax) { + Object tax, + Object tip) { this.discountAmount = discountAmount; this.enforceArithmeticValidation = enforceArithmeticValidation; this.extraParams = extraParams; @@ -1345,6 +1350,7 @@ private AmountDetails( this.shipping = shipping; this.surcharge = surcharge; this.tax = tax; + this.tip = tip; } public static Builder builder() { @@ -1366,6 +1372,8 @@ public static class Builder { private Object tax; + private Object tip; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentCreateParams.AmountDetails build() { return new PaymentIntentCreateParams.AmountDetails( @@ -1375,7 +1383,8 @@ public PaymentIntentCreateParams.AmountDetails build() { this.lineItems, this.shipping, this.surcharge, - this.tax); + this.tax, + this.tip); } /** @@ -1531,6 +1540,18 @@ public Builder setTax(EmptyParam tax) { this.tax = tax; return this; } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(PaymentIntentCreateParams.AmountDetails.Tip tip) { + this.tip = tip; + return this; + } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(EmptyParam tip) { + this.tip = tip; + return this; + } } @Getter @@ -3060,6 +3081,83 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tip { + /** Portion of the amount that corresponds to a tip. */ + @SerializedName("amount") + Object amount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Tip(Object amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object amount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentCreateParams.AmountDetails.Tip build() { + return new PaymentIntentCreateParams.AmountDetails.Tip(this.amount, this.extraParams); + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(EmptyParam amount) { + this.amount = amount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentCreateParams.AmountDetails.Tip#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. 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.AmountDetails.Tip#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 diff --git a/src/main/java/com/stripe/param/PaymentIntentDecrementAuthorizationParams.java b/src/main/java/com/stripe/param/PaymentIntentDecrementAuthorizationParams.java index 70ff546273b..b0c0e388dc0 100644 --- a/src/main/java/com/stripe/param/PaymentIntentDecrementAuthorizationParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentDecrementAuthorizationParams.java @@ -337,6 +337,10 @@ public static class AmountDetails { @SerializedName("tax") Object tax; + /** Contains information about the tip portion of the amount. */ + @SerializedName("tip") + Object tip; + private AmountDetails( Object discountAmount, Boolean enforceArithmeticValidation, @@ -344,7 +348,8 @@ private AmountDetails( Object lineItems, Object shipping, Object surcharge, - Object tax) { + Object tax, + Object tip) { this.discountAmount = discountAmount; this.enforceArithmeticValidation = enforceArithmeticValidation; this.extraParams = extraParams; @@ -352,6 +357,7 @@ private AmountDetails( this.shipping = shipping; this.surcharge = surcharge; this.tax = tax; + this.tip = tip; } public static Builder builder() { @@ -373,6 +379,8 @@ public static class Builder { private Object tax; + private Object tip; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentDecrementAuthorizationParams.AmountDetails build() { return new PaymentIntentDecrementAuthorizationParams.AmountDetails( @@ -382,7 +390,8 @@ public PaymentIntentDecrementAuthorizationParams.AmountDetails build() { this.lineItems, this.shipping, this.surcharge, - this.tax); + this.tax, + this.tip); } /** @@ -548,6 +557,18 @@ public Builder setTax(EmptyParam tax) { this.tax = tax; return this; } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(PaymentIntentDecrementAuthorizationParams.AmountDetails.Tip tip) { + this.tip = tip; + return this; + } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(EmptyParam tip) { + this.tip = tip; + return this; + } } @Getter @@ -2104,6 +2125,84 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tip { + /** Portion of the amount that corresponds to a tip. */ + @SerializedName("amount") + Object amount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Tip(Object amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object amount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentDecrementAuthorizationParams.AmountDetails.Tip build() { + return new PaymentIntentDecrementAuthorizationParams.AmountDetails.Tip( + this.amount, this.extraParams); + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(EmptyParam amount) { + this.amount = amount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentDecrementAuthorizationParams.AmountDetails.Tip#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentDecrementAuthorizationParams.AmountDetails.Tip#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 diff --git a/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java b/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java index 02746af9539..6cc918f1e37 100644 --- a/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentIncrementAuthorizationParams.java @@ -378,6 +378,10 @@ public static class AmountDetails { @SerializedName("tax") Object tax; + /** Contains information about the tip portion of the amount. */ + @SerializedName("tip") + Object tip; + private AmountDetails( Object discountAmount, Boolean enforceArithmeticValidation, @@ -385,7 +389,8 @@ private AmountDetails( Object lineItems, Object shipping, Object surcharge, - Object tax) { + Object tax, + Object tip) { this.discountAmount = discountAmount; this.enforceArithmeticValidation = enforceArithmeticValidation; this.extraParams = extraParams; @@ -393,6 +398,7 @@ private AmountDetails( this.shipping = shipping; this.surcharge = surcharge; this.tax = tax; + this.tip = tip; } public static Builder builder() { @@ -414,6 +420,8 @@ public static class Builder { private Object tax; + private Object tip; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentIncrementAuthorizationParams.AmountDetails build() { return new PaymentIntentIncrementAuthorizationParams.AmountDetails( @@ -423,7 +431,8 @@ public PaymentIntentIncrementAuthorizationParams.AmountDetails build() { this.lineItems, this.shipping, this.surcharge, - this.tax); + this.tax, + this.tip); } /** @@ -589,6 +598,18 @@ public Builder setTax(EmptyParam tax) { this.tax = tax; return this; } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(PaymentIntentIncrementAuthorizationParams.AmountDetails.Tip tip) { + this.tip = tip; + return this; + } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(EmptyParam tip) { + this.tip = tip; + return this; + } } @Getter @@ -2145,6 +2166,84 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tip { + /** Portion of the amount that corresponds to a tip. */ + @SerializedName("amount") + Object amount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Tip(Object amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object amount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentIncrementAuthorizationParams.AmountDetails.Tip build() { + return new PaymentIntentIncrementAuthorizationParams.AmountDetails.Tip( + this.amount, this.extraParams); + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(EmptyParam amount) { + this.amount = amount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentIncrementAuthorizationParams.AmountDetails.Tip#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentIncrementAuthorizationParams.AmountDetails.Tip#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 diff --git a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java index 12c3fc5f140..8e4f8237693 100644 --- a/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java +++ b/src/main/java/com/stripe/param/PaymentIntentUpdateParams.java @@ -1188,6 +1188,10 @@ public static class AmountDetails { @SerializedName("tax") Object tax; + /** Contains information about the tip portion of the amount. */ + @SerializedName("tip") + Object tip; + private AmountDetails( Object discountAmount, Boolean enforceArithmeticValidation, @@ -1195,7 +1199,8 @@ private AmountDetails( Object lineItems, Object shipping, Object surcharge, - Object tax) { + Object tax, + Object tip) { this.discountAmount = discountAmount; this.enforceArithmeticValidation = enforceArithmeticValidation; this.extraParams = extraParams; @@ -1203,6 +1208,7 @@ private AmountDetails( this.shipping = shipping; this.surcharge = surcharge; this.tax = tax; + this.tip = tip; } public static Builder builder() { @@ -1224,6 +1230,8 @@ public static class Builder { private Object tax; + private Object tip; + /** Finalize and obtain parameter instance from this builder. */ public PaymentIntentUpdateParams.AmountDetails build() { return new PaymentIntentUpdateParams.AmountDetails( @@ -1233,7 +1241,8 @@ public PaymentIntentUpdateParams.AmountDetails build() { this.lineItems, this.shipping, this.surcharge, - this.tax); + this.tax, + this.tip); } /** @@ -1389,6 +1398,18 @@ public Builder setTax(EmptyParam tax) { this.tax = tax; return this; } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(PaymentIntentUpdateParams.AmountDetails.Tip tip) { + this.tip = tip; + return this; + } + + /** Contains information about the tip portion of the amount. */ + public Builder setTip(EmptyParam tip) { + this.tip = tip; + return this; + } } @Getter @@ -3002,6 +3023,83 @@ public Builder setTotalTaxAmount(Long totalTaxAmount) { } } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tip { + /** Portion of the amount that corresponds to a tip. */ + @SerializedName("amount") + Object amount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Tip(Object amount, Map extraParams) { + this.amount = amount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object amount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentIntentUpdateParams.AmountDetails.Tip build() { + return new PaymentIntentUpdateParams.AmountDetails.Tip(this.amount, this.extraParams); + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(Long amount) { + this.amount = amount; + return this; + } + + /** Portion of the amount that corresponds to a tip. */ + public Builder setAmount(EmptyParam amount) { + this.amount = amount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PaymentIntentUpdateParams.AmountDetails.Tip#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. 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.AmountDetails.Tip#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 diff --git a/src/main/java/com/stripe/param/PaymentRecordReportRefundParams.java b/src/main/java/com/stripe/param/PaymentRecordReportRefundParams.java index ebf19cbe23b..4c115a488ea 100644 --- a/src/main/java/com/stripe/param/PaymentRecordReportRefundParams.java +++ b/src/main/java/com/stripe/param/PaymentRecordReportRefundParams.java @@ -52,7 +52,7 @@ public class PaymentRecordReportRefundParams extends ApiRequestParams { @SerializedName("metadata") Object metadata; - /** Required. The outcome of the reported refund. */ + /** The outcome of the reported refund. */ @SerializedName("outcome") Outcome outcome; @@ -255,7 +255,7 @@ public Builder setMetadata(Map metadata) { return this; } - /** Required. The outcome of the reported refund. */ + /** The outcome of the reported refund. */ public Builder setOutcome(PaymentRecordReportRefundParams.Outcome outcome) { this.outcome = outcome; return this; diff --git a/src/main/java/com/stripe/param/PaymentRecordSearchParams.java b/src/main/java/com/stripe/param/PaymentRecordSearchParams.java new file mode 100644 index 00000000000..0b9dd87544e --- /dev/null +++ b/src/main/java/com/stripe/param/PaymentRecordSearchParams.java @@ -0,0 +1,167 @@ +// 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 PaymentRecordSearchParams extends ApiRequestParams { + /** Specifies which fields in the response should be expanded. */ + @SerializedName("expand") + List expand; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * A limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 10. + */ + @SerializedName("limit") + Long limit; + + /** + * A cursor for pagination across multiple pages of results. Don't include this parameter on the + * first call. Use the next_page value returned in a previous response to request subsequent + * results. + */ + @SerializedName("page") + String page; + + /** + * Required. The search query string. See search query language and the + * list of supported query fields for payment + * records. + */ + @SerializedName("query") + String query; + + private PaymentRecordSearchParams( + List expand, Map extraParams, Long limit, String page, String query) { + this.expand = expand; + this.extraParams = extraParams; + this.limit = limit; + this.page = page; + this.query = query; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + private Long limit; + + private String page; + + private String query; + + /** Finalize and obtain parameter instance from this builder. */ + public PaymentRecordSearchParams build() { + return new PaymentRecordSearchParams( + this.expand, this.extraParams, this.limit, this.page, this.query); + } + + /** + * 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 + * PaymentRecordSearchParams#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 + * PaymentRecordSearchParams#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 + * PaymentRecordSearchParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PaymentRecordSearchParams#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 limit on the number of objects to be returned. Limit can range between 1 and 100, and the + * default is 10. + */ + public Builder setLimit(Long limit) { + this.limit = limit; + return this; + } + + /** + * A cursor for pagination across multiple pages of results. Don't include this parameter on the + * first call. Use the next_page value returned in a previous response to request subsequent + * results. + */ + public Builder setPage(String page) { + this.page = page; + return this; + } + + /** + * Required. The search query string. See search query language and the + * list of supported query fields for + * payment records. + */ + public Builder setQuery(String query) { + this.query = query; + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java index dae8b826828..21995b6a0d6 100644 --- a/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java +++ b/src/main/java/com/stripe/param/WebhookEndpointCreateParams.java @@ -1565,12 +1565,6 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { @SerializedName("invoice_payment.detached") INVOICE_PAYMENT__DETACHED("invoice_payment.detached"), - @SerializedName("billing.alert.recovered") - BILLING__ALERT__RECOVERED("billing.alert.recovered"), - - @SerializedName("payment_intent.expired") - PAYMENT_INTENT__EXPIRED("payment_intent.expired"), - @SerializedName("billing.credit_balance_transaction.created") BILLING__CREDIT_BALANCE_TRANSACTION__CREATED("billing.credit_balance_transaction.created"), diff --git a/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java b/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java index a4f9e041738..6ee0e486732 100644 --- a/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java +++ b/src/main/java/com/stripe/param/WebhookEndpointUpdateParams.java @@ -1163,12 +1163,6 @@ public enum EnabledEvent implements ApiRequestParams.EnumParam { @SerializedName("invoice_payment.detached") INVOICE_PAYMENT__DETACHED("invoice_payment.detached"), - @SerializedName("billing.alert.recovered") - BILLING__ALERT__RECOVERED("billing.alert.recovered"), - - @SerializedName("payment_intent.expired") - PAYMENT_INTENT__EXPIRED("payment_intent.expired"), - @SerializedName("billing.credit_balance_transaction.created") BILLING__CREDIT_BALANCE_TRANSACTION__CREATED("billing.credit_balance_transaction.created"), diff --git a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java index 17e9ade3edf..3c956e579dd 100644 --- a/src/main/java/com/stripe/param/checkout/SessionCreateParams.java +++ b/src/main/java/com/stripe/param/checkout/SessionCreateParams.java @@ -6006,12 +6006,17 @@ public static class Item { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Configuration for the subscription item. */ + @SerializedName("subscription") + Subscription subscription; + /** Required. The type of item. */ @SerializedName("type") Type type; - private Item(Map extraParams, Type type) { + private Item(Map extraParams, Subscription subscription, Type type) { this.extraParams = extraParams; + this.subscription = subscription; this.type = type; } @@ -6022,11 +6027,13 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Subscription subscription; + private Type type; /** Finalize and obtain parameter instance from this builder. */ public SessionCreateParams.Item build() { - return new SessionCreateParams.Item(this.extraParams, this.type); + return new SessionCreateParams.Item(this.extraParams, this.subscription, this.type); } /** @@ -6055,6 +6062,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Configuration for the subscription item. */ + public Builder setSubscription(SessionCreateParams.Item.Subscription subscription) { + this.subscription = subscription; + return this; + } + /** Required. The type of item. */ public Builder setType(SessionCreateParams.Item.Type type) { this.type = type; @@ -6062,6 +6075,1795 @@ public Builder setType(SessionCreateParams.Item.Type type) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Subscription { + /** + * Configures when the subscription schedule's billing cycle anchors to a specific day of the + * week or month. + */ + @SerializedName("billing_cycle_anchor_config") + BillingCycleAnchorConfig billingCycleAnchorConfig; + + /** Controls how prorations and invoices for subscriptions are calculated and orchestrated. */ + @SerializedName("billing_mode") + BillingMode billingMode; + + /** The subscription's description, meant to be displayable to the customer. */ + @SerializedName("description") + String description; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The list of items for the subscription. */ + @SerializedName("items") + List items; + + /** + * Set of key-value pairs that you can + * attach to an object. This can be useful for storing additional information about the object + * in a structured format. Individual keys can be unset by posting an empty value to them. All + * keys can be unset by posting an empty value to {@code metadata}. + */ + @SerializedName("metadata") + Map metadata; + + /** Specifies an interval for how often to bill for any pending invoice items. */ + @SerializedName("pending_invoice_item_interval") + PendingInvoiceItemInterval pendingInvoiceItemInterval; + + /** + * Determines how to handle prorations resulting from the {@code billing_cycle_anchor}. If no + * value is passed, the default is {@code create_prorations}. + */ + @SerializedName("proration_behavior") + ProrationBehavior prorationBehavior; + + /** + * Unix timestamp representing the end of the trial period the customer will get before being + * charged for the first time. Has to be at least 48 hours in the future. + */ + @SerializedName("trial_end") + Long trialEnd; + + /** + * Integer representing the number of trial period days before the customer is charged for the + * first time. Has to be at least 1. + */ + @SerializedName("trial_period_days") + Long trialPeriodDays; + + /** Settings related to subscription trials. */ + @SerializedName("trial_settings") + TrialSettings trialSettings; + + private Subscription( + BillingCycleAnchorConfig billingCycleAnchorConfig, + BillingMode billingMode, + String description, + Map extraParams, + List items, + Map metadata, + PendingInvoiceItemInterval pendingInvoiceItemInterval, + ProrationBehavior prorationBehavior, + Long trialEnd, + Long trialPeriodDays, + TrialSettings trialSettings) { + this.billingCycleAnchorConfig = billingCycleAnchorConfig; + this.billingMode = billingMode; + this.description = description; + this.extraParams = extraParams; + this.items = items; + this.metadata = metadata; + this.pendingInvoiceItemInterval = pendingInvoiceItemInterval; + this.prorationBehavior = prorationBehavior; + this.trialEnd = trialEnd; + this.trialPeriodDays = trialPeriodDays; + this.trialSettings = trialSettings; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BillingCycleAnchorConfig billingCycleAnchorConfig; + + private BillingMode billingMode; + + private String description; + + private Map extraParams; + + private List items; + + private Map metadata; + + private PendingInvoiceItemInterval pendingInvoiceItemInterval; + + private ProrationBehavior prorationBehavior; + + private Long trialEnd; + + private Long trialPeriodDays; + + private TrialSettings trialSettings; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription build() { + return new SessionCreateParams.Item.Subscription( + this.billingCycleAnchorConfig, + this.billingMode, + this.description, + this.extraParams, + this.items, + this.metadata, + this.pendingInvoiceItemInterval, + this.prorationBehavior, + this.trialEnd, + this.trialPeriodDays, + this.trialSettings); + } + + /** + * Configures when the subscription schedule's billing cycle anchors to a specific day of + * the week or month. + */ + public Builder setBillingCycleAnchorConfig( + SessionCreateParams.Item.Subscription.BillingCycleAnchorConfig + billingCycleAnchorConfig) { + this.billingCycleAnchorConfig = billingCycleAnchorConfig; + return this; + } + + /** + * Controls how prorations and invoices for subscriptions are calculated and orchestrated. + */ + public Builder setBillingMode( + SessionCreateParams.Item.Subscription.BillingMode billingMode) { + this.billingMode = billingMode; + return this; + } + + /** The subscription's description, meant to be displayable to the customer. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription#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 `items` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * SessionCreateParams.Item.Subscription#items} for the field documentation. + */ + public Builder addItem(SessionCreateParams.Item.Subscription.InnerItem element) { + if (this.items == null) { + this.items = new ArrayList<>(); + } + this.items.add(element); + return this; + } + + /** + * Add all elements to `items` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * SessionCreateParams.Item.Subscription#items} for the field documentation. + */ + public Builder addAllItem(List elements) { + if (this.items == null) { + this.items = new ArrayList<>(); + } + this.items.addAll(elements); + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * SessionCreateParams.Item.Subscription#metadata} for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription#metadata} for the field + * documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** Specifies an interval for how often to bill for any pending invoice items. */ + public Builder setPendingInvoiceItemInterval( + SessionCreateParams.Item.Subscription.PendingInvoiceItemInterval + pendingInvoiceItemInterval) { + this.pendingInvoiceItemInterval = pendingInvoiceItemInterval; + return this; + } + + /** + * Determines how to handle prorations resulting from the {@code billing_cycle_anchor}. If + * no value is passed, the default is {@code create_prorations}. + */ + public Builder setProrationBehavior( + SessionCreateParams.Item.Subscription.ProrationBehavior prorationBehavior) { + this.prorationBehavior = prorationBehavior; + return this; + } + + /** + * Unix timestamp representing the end of the trial period the customer will get before + * being charged for the first time. Has to be at least 48 hours in the future. + */ + public Builder setTrialEnd(Long trialEnd) { + this.trialEnd = trialEnd; + return this; + } + + /** + * Integer representing the number of trial period days before the customer is charged for + * the first time. Has to be at least 1. + */ + public Builder setTrialPeriodDays(Long trialPeriodDays) { + this.trialPeriodDays = trialPeriodDays; + return this; + } + + /** Settings related to subscription trials. */ + public Builder setTrialSettings( + SessionCreateParams.Item.Subscription.TrialSettings trialSettings) { + this.trialSettings = trialSettings; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillingCycleAnchorConfig { + /** + * Required. The day of the month the anchor should be. Ranges from 1 to + * 31. + */ + @SerializedName("day_of_month") + Long dayOfMonth; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 hour of the day the anchor should be. Ranges from 0 to 23. */ + @SerializedName("hour") + Long hour; + + /** The minute of the hour the anchor should be. Ranges from 0 to 59. */ + @SerializedName("minute") + Long minute; + + /** The month to start full cycle periods. Ranges from 1 to 12. */ + @SerializedName("month") + Long month; + + /** The second of the minute the anchor should be. Ranges from 0 to 59. */ + @SerializedName("second") + Long second; + + private BillingCycleAnchorConfig( + Long dayOfMonth, + Map extraParams, + Long hour, + Long minute, + Long month, + Long second) { + this.dayOfMonth = dayOfMonth; + this.extraParams = extraParams; + this.hour = hour; + this.minute = minute; + this.month = month; + this.second = second; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Long dayOfMonth; + + private Map extraParams; + + private Long hour; + + private Long minute; + + private Long month; + + private Long second; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.BillingCycleAnchorConfig build() { + return new SessionCreateParams.Item.Subscription.BillingCycleAnchorConfig( + this.dayOfMonth, this.extraParams, this.hour, this.minute, this.month, this.second); + } + + /** + * Required. The day of the month the anchor should be. Ranges from 1 to + * 31. + */ + public Builder setDayOfMonth(Long dayOfMonth) { + this.dayOfMonth = dayOfMonth; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SessionCreateParams.Item.Subscription.BillingCycleAnchorConfig#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SessionCreateParams.Item.Subscription.BillingCycleAnchorConfig#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 hour of the day the anchor should be. Ranges from 0 to 23. */ + public Builder setHour(Long hour) { + this.hour = hour; + return this; + } + + /** The minute of the hour the anchor should be. Ranges from 0 to 59. */ + public Builder setMinute(Long minute) { + this.minute = minute; + return this; + } + + /** The month to start full cycle periods. Ranges from 1 to 12. */ + public Builder setMonth(Long month) { + this.month = month; + return this; + } + + /** The second of the minute the anchor should be. Ranges from 0 to 59. */ + public Builder setSecond(Long second) { + this.second = second; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillingMode { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Configure behavior for flexible billing mode. */ + @SerializedName("flexible") + Flexible flexible; + + /** + * Required. Controls the calculation and orchestration of prorations and + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. + */ + @SerializedName("type") + Type type; + + private BillingMode(Map extraParams, Flexible flexible, Type type) { + this.extraParams = extraParams; + this.flexible = flexible; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Flexible flexible; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.BillingMode build() { + return new SessionCreateParams.Item.Subscription.BillingMode( + this.extraParams, this.flexible, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription.BillingMode#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription.BillingMode#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Configure behavior for flexible billing mode. */ + public Builder setFlexible( + SessionCreateParams.Item.Subscription.BillingMode.Flexible flexible) { + this.flexible = flexible; + return this; + } + + /** + * Required. Controls the calculation and orchestration of prorations and + * invoices for subscriptions. If no value is passed, the default is {@code flexible}. + */ + public Builder setType(SessionCreateParams.Item.Subscription.BillingMode.Type type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Flexible { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Controls how invoices and invoice items display proration amounts and discount amounts. + */ + @SerializedName("proration_discounts") + ProrationDiscounts prorationDiscounts; + + private Flexible(Map extraParams, ProrationDiscounts prorationDiscounts) { + this.extraParams = extraParams; + this.prorationDiscounts = prorationDiscounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private ProrationDiscounts prorationDiscounts; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.BillingMode.Flexible build() { + return new SessionCreateParams.Item.Subscription.BillingMode.Flexible( + this.extraParams, this.prorationDiscounts); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.BillingMode.Flexible#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.BillingMode.Flexible#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Controls how invoices and invoice items display proration amounts and discount + * amounts. + */ + public Builder setProrationDiscounts( + SessionCreateParams.Item.Subscription.BillingMode.Flexible.ProrationDiscounts + prorationDiscounts) { + this.prorationDiscounts = prorationDiscounts; + return this; + } + } + + public enum ProrationDiscounts implements ApiRequestParams.EnumParam { + @SerializedName("included") + INCLUDED("included"), + + @SerializedName("itemized") + ITEMIZED("itemized"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationDiscounts(String value) { + this.value = value; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("classic") + CLASSIC("classic"), + + @SerializedName("flexible") + FLEXIBLE("flexible"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InnerItem { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The ID of the price for this subscription item. */ + @SerializedName("price") + String price; + + /** Data used to generate a new Price object inline. */ + @SerializedName("price_data") + PriceData priceData; + + /** Quantity for this item. */ + @SerializedName("quantity") + Long quantity; + + private InnerItem( + Map extraParams, String price, PriceData priceData, Long quantity) { + this.extraParams = extraParams; + this.price = price; + this.priceData = priceData; + this.quantity = quantity; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String price; + + private PriceData priceData; + + private Long quantity; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.InnerItem build() { + return new SessionCreateParams.Item.Subscription.InnerItem( + this.extraParams, this.price, this.priceData, this.quantity); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription.InnerItem#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription.InnerItem#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The ID of the price for this subscription item. */ + public Builder setPrice(String price) { + this.price = price; + return this; + } + + /** Data used to generate a new Price object inline. */ + public Builder setPriceData( + SessionCreateParams.Item.Subscription.InnerItem.PriceData priceData) { + this.priceData = priceData; + return this; + } + + /** Quantity for this item. */ + public Builder setQuantity(Long quantity) { + this.quantity = quantity; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PriceData { + /** + * Required. 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 ID of the Product that this Price will belong to. One of {@code + * product} or {@code product_data} is required. + */ + @SerializedName("product") + String product; + + /** + * Data used to generate a new Product + * object inline. One of {@code product} or {@code product_data} is required. + */ + @SerializedName("product_data") + ProductData productData; + + /** + * The recurring components of a price such as {@code interval} and {@code + * interval_count}. + */ + @SerializedName("recurring") + Recurring recurring; + + /** + * Only required if a default + * tax behavior was not provided in the Stripe Tax settings. Specifies whether the + * price is considered inclusive of taxes or exclusive of taxes. One of {@code inclusive}, + * {@code exclusive}, or {@code unspecified}. Once specified as either {@code inclusive} + * or {@code exclusive}, it cannot be changed. + */ + @SerializedName("tax_behavior") + TaxBehavior taxBehavior; + + /** + * A non-negative integer in cents (or local equivalent) representing how much to charge. + * One of {@code unit_amount} or {@code unit_amount_decimal} is required. + */ + @SerializedName("unit_amount") + Long unitAmount; + + /** + * Same as {@code unit_amount}, but accepts a decimal value in cents (or local equivalent) + * with at most 12 decimal places. Only one of {@code unit_amount} and {@code + * unit_amount_decimal} can be set. + */ + @SerializedName("unit_amount_decimal") + BigDecimal unitAmountDecimal; + + private PriceData( + String currency, + Map extraParams, + String product, + ProductData productData, + Recurring recurring, + TaxBehavior taxBehavior, + Long unitAmount, + BigDecimal unitAmountDecimal) { + this.currency = currency; + this.extraParams = extraParams; + this.product = product; + this.productData = productData; + this.recurring = recurring; + this.taxBehavior = taxBehavior; + this.unitAmount = unitAmount; + this.unitAmountDecimal = unitAmountDecimal; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String currency; + + private Map extraParams; + + private String product; + + private ProductData productData; + + private Recurring recurring; + + private TaxBehavior taxBehavior; + + private Long unitAmount; + + private BigDecimal unitAmountDecimal; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.InnerItem.PriceData build() { + return new SessionCreateParams.Item.Subscription.InnerItem.PriceData( + this.currency, + this.extraParams, + this.product, + this.productData, + this.recurring, + this.taxBehavior, + this.unitAmount, + this.unitAmountDecimal); + } + + /** + * Required. 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 + * SessionCreateParams.Item.Subscription.InnerItem.PriceData#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The ID of the Product that this Price will belong to. One of {@code + * product} or {@code product_data} is required. + */ + public Builder setProduct(String product) { + this.product = product; + return this; + } + + /** + * Data used to generate a new Product object inline. One of {@code + * product} or {@code product_data} is required. + */ + public Builder setProductData( + SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData productData) { + this.productData = productData; + return this; + } + + /** + * The recurring components of a price such as {@code interval} and {@code + * interval_count}. + */ + public Builder setRecurring( + SessionCreateParams.Item.Subscription.InnerItem.PriceData.Recurring recurring) { + this.recurring = recurring; + return this; + } + + /** + * Only required if a default + * tax behavior was not provided in the Stripe Tax settings. Specifies whether the + * price is considered inclusive of taxes or exclusive of taxes. One of {@code + * inclusive}, {@code exclusive}, or {@code unspecified}. Once specified as either + * {@code inclusive} or {@code exclusive}, it cannot be changed. + */ + public Builder setTaxBehavior( + SessionCreateParams.Item.Subscription.InnerItem.PriceData.TaxBehavior taxBehavior) { + this.taxBehavior = taxBehavior; + return this; + } + + /** + * A non-negative integer in cents (or local equivalent) representing how much to + * charge. One of {@code unit_amount} or {@code unit_amount_decimal} is required. + */ + public Builder setUnitAmount(Long unitAmount) { + this.unitAmount = unitAmount; + return this; + } + + /** + * Same as {@code unit_amount}, but accepts a decimal value in cents (or local + * equivalent) with at most 12 decimal places. Only one of {@code unit_amount} and + * {@code unit_amount_decimal} can be set. + */ + public Builder setUnitAmountDecimal(BigDecimal unitAmountDecimal) { + this.unitAmountDecimal = unitAmountDecimal; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ProductData { + /** + * The product's description, meant to be displayable to the customer. Use this field to + * optionally store a long form explanation of the product being sold for your own + * rendering purposes. + */ + @SerializedName("description") + String description; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * A list of up to 8 URLs of images for this product, meant to be displayable to the + * customer. + */ + @SerializedName("images") + List images; + + /** + * Set of key-value pairs that you + * can attach to an object. This can be useful for storing additional information about + * the object in a structured format. Individual keys can be unset by posting an empty + * value to them. All keys can be unset by posting an empty value to {@code metadata}. + */ + @SerializedName("metadata") + Map metadata; + + /** + * Required. The product's name, meant to be displayable to the + * customer. + */ + @SerializedName("name") + String name; + + /** A tax code ID. */ + @SerializedName("tax_code") + String taxCode; + + /** + * Tax details for this product, including the tax code and an optional performance + * location. + */ + @SerializedName("tax_details") + TaxDetails taxDetails; + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + @SerializedName("unit_label") + String unitLabel; + + private ProductData( + String description, + Map extraParams, + List images, + Map metadata, + String name, + String taxCode, + TaxDetails taxDetails, + String unitLabel) { + this.description = description; + this.extraParams = extraParams; + this.images = images; + this.metadata = metadata; + this.name = name; + this.taxCode = taxCode; + this.taxDetails = taxDetails; + this.unitLabel = unitLabel; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String description; + + private Map extraParams; + + private List images; + + private Map metadata; + + private String name; + + private String taxCode; + + private TaxDetails taxDetails; + + private String unitLabel; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData build() { + return new SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData( + this.description, + this.extraParams, + this.images, + this.metadata, + this.name, + this.taxCode, + this.taxDetails, + this.unitLabel); + } + + /** + * The product's description, meant to be displayable to the customer. Use this field + * to optionally store a long form explanation of the product being sold for your own + * rendering purposes. + */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData#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 `images` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See + * {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData#images} for + * the field documentation. + */ + public Builder addImage(String element) { + if (this.images == null) { + this.images = new ArrayList<>(); + } + this.images.add(element); + return this; + } + + /** + * Add all elements to `images` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See + * {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData#images} for + * the field documentation. + */ + public Builder addAllImage(List elements) { + if (this.images == null) { + this.images = new ArrayList<>(); + } + this.images.addAll(elements); + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData#metadata} for + * the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData#metadata} for + * the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** + * Required. The product's name, meant to be displayable to the + * customer. + */ + public Builder setName(String name) { + this.name = name; + return this; + } + + /** A tax code ID. */ + public Builder setTaxCode(String taxCode) { + this.taxCode = taxCode; + return this; + } + + /** + * Tax details for this product, including the tax code and an optional performance + * location. + */ + public Builder setTaxDetails( + SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData.TaxDetails + taxDetails) { + this.taxDetails = taxDetails; + return this; + } + + /** + * A label that represents units of this product. When set, this will be included in + * customers' receipts, invoices, Checkout, and the customer portal. + */ + public Builder setUnitLabel(String unitLabel) { + this.unitLabel = unitLabel; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TaxDetails { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 tax location ID. Depending on the tax + * code, this is required, optional, or not supported. + */ + @SerializedName("performance_location") + String performanceLocation; + + /** A tax code ID. */ + @SerializedName("tax_code") + Object taxCode; + + private TaxDetails( + Map extraParams, String performanceLocation, Object taxCode) { + this.extraParams = extraParams; + this.performanceLocation = performanceLocation; + this.taxCode = taxCode; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private String performanceLocation; + + private Object taxCode; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData + .TaxDetails + build() { + return new SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData + .TaxDetails(this.extraParams, this.performanceLocation, this.taxCode); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData.TaxDetails#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.ProductData.TaxDetails#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 tax location ID. Depending on the tax + * code, this is required, optional, or not supported. + */ + public Builder setPerformanceLocation(String performanceLocation) { + this.performanceLocation = performanceLocation; + return this; + } + + /** A tax code ID. */ + public Builder setTaxCode(String taxCode) { + this.taxCode = taxCode; + return this; + } + + /** A tax code ID. */ + public Builder setTaxCode(EmptyParam taxCode) { + this.taxCode = taxCode; + return this; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Recurring { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. Specifies billing frequency. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + @SerializedName("interval") + Interval interval; + + /** + * The number of intervals between subscription billings. For example, {@code + * interval=month} and {@code interval_count=3} bills every 3 months. Maximum of three + * years interval allowed (3 years, 36 months, or 156 weeks). + */ + @SerializedName("interval_count") + Long intervalCount; + + private Recurring( + Map extraParams, Interval interval, Long intervalCount) { + this.extraParams = extraParams; + this.interval = interval; + this.intervalCount = intervalCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Interval interval; + + private Long intervalCount; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.InnerItem.PriceData.Recurring build() { + return new SessionCreateParams.Item.Subscription.InnerItem.PriceData.Recurring( + this.extraParams, this.interval, this.intervalCount); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.Recurring#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.InnerItem.PriceData.Recurring#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. Specifies billing frequency. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + public Builder setInterval( + SessionCreateParams.Item.Subscription.InnerItem.PriceData.Recurring.Interval + interval) { + this.interval = interval; + return this; + } + + /** + * The number of intervals between subscription billings. For example, {@code + * interval=month} and {@code interval_count=3} bills every 3 months. Maximum of three + * years interval allowed (3 years, 36 months, or 156 weeks). + */ + public Builder setIntervalCount(Long intervalCount) { + this.intervalCount = intervalCount; + return this; + } + } + + public enum Interval implements ApiRequestParams.EnumParam { + @SerializedName("day") + DAY("day"), + + @SerializedName("month") + MONTH("month"), + + @SerializedName("week") + WEEK("week"), + + @SerializedName("year") + YEAR("year"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Interval(String value) { + this.value = value; + } + } + } + + public enum TaxBehavior implements ApiRequestParams.EnumParam { + @SerializedName("exclusive") + EXCLUSIVE("exclusive"), + + @SerializedName("inclusive") + INCLUSIVE("inclusive"), + + @SerializedName("unspecified") + UNSPECIFIED("unspecified"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TaxBehavior(String value) { + this.value = value; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PendingInvoiceItemInterval { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. Specifies invoicing frequency. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + @SerializedName("interval") + Interval interval; + + /** + * The number of intervals between invoices. For example, {@code interval=month} and {@code + * interval_count=3} bills every 3 months. Maximum of one year interval allowed (1 year, 12 + * months, or 52 weeks). + */ + @SerializedName("interval_count") + Long intervalCount; + + private PendingInvoiceItemInterval( + Map extraParams, Interval interval, Long intervalCount) { + this.extraParams = extraParams; + this.interval = interval; + this.intervalCount = intervalCount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Interval interval; + + private Long intervalCount; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.PendingInvoiceItemInterval build() { + return new SessionCreateParams.Item.Subscription.PendingInvoiceItemInterval( + this.extraParams, this.interval, this.intervalCount); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SessionCreateParams.Item.Subscription.PendingInvoiceItemInterval#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * SessionCreateParams.Item.Subscription.PendingInvoiceItemInterval#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Required. Specifies invoicing frequency. Either {@code day}, {@code + * week}, {@code month} or {@code year}. + */ + public Builder setInterval( + SessionCreateParams.Item.Subscription.PendingInvoiceItemInterval.Interval interval) { + this.interval = interval; + return this; + } + + /** + * The number of intervals between invoices. For example, {@code interval=month} and + * {@code interval_count=3} bills every 3 months. Maximum of one year interval allowed (1 + * year, 12 months, or 52 weeks). + */ + public Builder setIntervalCount(Long intervalCount) { + this.intervalCount = intervalCount; + return this; + } + } + + public enum Interval implements ApiRequestParams.EnumParam { + @SerializedName("day") + DAY("day"), + + @SerializedName("month") + MONTH("month"), + + @SerializedName("week") + WEEK("week"), + + @SerializedName("year") + YEAR("year"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Interval(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class TrialSettings { + /** + * Required. Defines how the subscription should behave when the user's + * free trial ends. + */ + @SerializedName("end_behavior") + EndBehavior endBehavior; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 TrialSettings(EndBehavior endBehavior, Map extraParams) { + this.endBehavior = endBehavior; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private EndBehavior endBehavior; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.TrialSettings build() { + return new SessionCreateParams.Item.Subscription.TrialSettings( + this.endBehavior, this.extraParams); + } + + /** + * Required. Defines how the subscription should behave when the user's + * free trial ends. + */ + public Builder setEndBehavior( + SessionCreateParams.Item.Subscription.TrialSettings.EndBehavior endBehavior) { + this.endBehavior = endBehavior; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription.TrialSettings#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link SessionCreateParams.Item.Subscription.TrialSettings#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 EndBehavior { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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. Indicates how the subscription should change when the trial + * ends if the user did not provide a payment method. + */ + @SerializedName("missing_payment_method") + MissingPaymentMethod missingPaymentMethod; + + private EndBehavior( + Map extraParams, MissingPaymentMethod missingPaymentMethod) { + this.extraParams = extraParams; + this.missingPaymentMethod = missingPaymentMethod; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private MissingPaymentMethod missingPaymentMethod; + + /** Finalize and obtain parameter instance from this builder. */ + public SessionCreateParams.Item.Subscription.TrialSettings.EndBehavior build() { + return new SessionCreateParams.Item.Subscription.TrialSettings.EndBehavior( + this.extraParams, this.missingPaymentMethod); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.TrialSettings.EndBehavior#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * SessionCreateParams.Item.Subscription.TrialSettings.EndBehavior#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. Indicates how the subscription should change when the + * trial ends if the user did not provide a payment method. + */ + public Builder setMissingPaymentMethod( + SessionCreateParams.Item.Subscription.TrialSettings.EndBehavior.MissingPaymentMethod + missingPaymentMethod) { + this.missingPaymentMethod = missingPaymentMethod; + return this; + } + } + + public enum MissingPaymentMethod implements ApiRequestParams.EnumParam { + @SerializedName("cancel") + CANCEL("cancel"), + + @SerializedName("create_invoice") + CREATE_INVOICE("create_invoice"), + + @SerializedName("pause") + PAUSE("pause"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + MissingPaymentMethod(String value) { + this.value = value; + } + } + } + } + + public enum ProrationBehavior implements ApiRequestParams.EnumParam { + @SerializedName("create_prorations") + CREATE_PRORATIONS("create_prorations"), + + @SerializedName("none") + NONE("none"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationBehavior(String value) { + this.value = value; + } + } + } + public enum Type implements ApiRequestParams.EnumParam { @SerializedName("subscription") SUBSCRIPTION("subscription"); diff --git a/src/main/java/com/stripe/param/issuing/AuthorizationCaptureParams.java b/src/main/java/com/stripe/param/issuing/AuthorizationCaptureParams.java index 1d32b5e97d3..deb9da4daa1 100644 --- a/src/main/java/com/stripe/param/issuing/AuthorizationCaptureParams.java +++ b/src/main/java/com/stripe/param/issuing/AuthorizationCaptureParams.java @@ -42,6 +42,10 @@ public class AuthorizationCaptureParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Details about the transaction, such as processing dates, set by the card network. */ + @SerializedName("network_data") + NetworkData networkData; + /** Additional purchase information that is optionally provided by the merchant. */ @SerializedName("purchase_details") PurchaseDetails purchaseDetails; @@ -51,11 +55,13 @@ private AuthorizationCaptureParams( Boolean closeAuthorization, List expand, Map extraParams, + NetworkData networkData, PurchaseDetails purchaseDetails) { this.captureAmount = captureAmount; this.closeAuthorization = closeAuthorization; this.expand = expand; this.extraParams = extraParams; + this.networkData = networkData; this.purchaseDetails = purchaseDetails; } @@ -72,6 +78,8 @@ public static class Builder { private Map extraParams; + private NetworkData networkData; + private PurchaseDetails purchaseDetails; /** Finalize and obtain parameter instance from this builder. */ @@ -81,6 +89,7 @@ public AuthorizationCaptureParams build() { this.closeAuthorization, this.expand, this.extraParams, + this.networkData, this.purchaseDetails); } @@ -155,6 +164,12 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Details about the transaction, such as processing dates, set by the card network. */ + public Builder setNetworkData(AuthorizationCaptureParams.NetworkData networkData) { + this.networkData = networkData; + return this; + } + /** Additional purchase information that is optionally provided by the merchant. */ public Builder setPurchaseDetails(AuthorizationCaptureParams.PurchaseDetails purchaseDetails) { this.purchaseDetails = purchaseDetails; @@ -162,6 +177,86 @@ public Builder setPurchaseDetails(AuthorizationCaptureParams.PurchaseDetails pur } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class NetworkData { + /** + * Optional. A test value to populate network_data.acquirer_reference_number on the resulting + * Issuing Transaction. Must contain only digits and be at most 23 characters long. This value + * is intended only for integration validation in testmode and does not need to correspond to a + * real network-assigned acquirer reference number. + */ + @SerializedName("acquirer_reference_number") + String acquirerReferenceNumber; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 NetworkData(String acquirerReferenceNumber, Map extraParams) { + this.acquirerReferenceNumber = acquirerReferenceNumber; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String acquirerReferenceNumber; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AuthorizationCaptureParams.NetworkData build() { + return new AuthorizationCaptureParams.NetworkData( + this.acquirerReferenceNumber, this.extraParams); + } + + /** + * Optional. A test value to populate network_data.acquirer_reference_number on the resulting + * Issuing Transaction. Must contain only digits and be at most 23 characters long. This value + * is intended only for integration validation in testmode and does not need to correspond to + * a real network-assigned acquirer reference number. + */ + public Builder setAcquirerReferenceNumber(String acquirerReferenceNumber) { + this.acquirerReferenceNumber = acquirerReferenceNumber; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AuthorizationCaptureParams.NetworkData#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AuthorizationCaptureParams.NetworkData#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 PurchaseDetails { diff --git a/src/main/java/com/stripe/param/issuing/CreditUnderwritingRecordReportOfferAcceptanceParams.java b/src/main/java/com/stripe/param/issuing/CreditUnderwritingRecordReportOfferAcceptanceParams.java new file mode 100644 index 00000000000..af87b7a23e6 --- /dev/null +++ b/src/main/java/com/stripe/param/issuing/CreditUnderwritingRecordReportOfferAcceptanceParams.java @@ -0,0 +1,102 @@ +// File generated from our OpenAPI spec +package com.stripe.param.issuing; + +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 CreditUnderwritingRecordReportOfferAcceptanceParams 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 CreditUnderwritingRecordReportOfferAcceptanceParams( + 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 CreditUnderwritingRecordReportOfferAcceptanceParams build() { + return new CreditUnderwritingRecordReportOfferAcceptanceParams(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 + * CreditUnderwritingRecordReportOfferAcceptanceParams#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 + * CreditUnderwritingRecordReportOfferAcceptanceParams#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 + * CreditUnderwritingRecordReportOfferAcceptanceParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link CreditUnderwritingRecordReportOfferAcceptanceParams#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/issuing/DisputeProvisionalCreditParams.java b/src/main/java/com/stripe/param/issuing/DisputeProvisionalCreditParams.java new file mode 100644 index 00000000000..8b96a94f292 --- /dev/null +++ b/src/main/java/com/stripe/param/issuing/DisputeProvisionalCreditParams.java @@ -0,0 +1,135 @@ +// File generated from our OpenAPI spec +package com.stripe.param.issuing; + +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 DisputeProvisionalCreditParams 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; + + /** + * Override the deadline by which the platform must grant a provisional credit to the consumer. + */ + @SerializedName("grant_deadline") + Long grantDeadline; + + /** Override the earliest time after which the platform may revoke the provisional credit. */ + @SerializedName("revocable_after") + Long revocableAfter; + + private DisputeProvisionalCreditParams( + List expand, + Map extraParams, + Long grantDeadline, + Long revocableAfter) { + this.expand = expand; + this.extraParams = extraParams; + this.grantDeadline = grantDeadline; + this.revocableAfter = revocableAfter; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List expand; + + private Map extraParams; + + private Long grantDeadline; + + private Long revocableAfter; + + /** Finalize and obtain parameter instance from this builder. */ + public DisputeProvisionalCreditParams build() { + return new DisputeProvisionalCreditParams( + this.expand, this.extraParams, this.grantDeadline, this.revocableAfter); + } + + /** + * 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 + * DisputeProvisionalCreditParams#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 + * DisputeProvisionalCreditParams#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 + * DisputeProvisionalCreditParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link DisputeProvisionalCreditParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Override the deadline by which the platform must grant a provisional credit to the consumer. + */ + public Builder setGrantDeadline(Long grantDeadline) { + this.grantDeadline = grantDeadline; + return this; + } + + /** Override the earliest time after which the platform may revoke the provisional credit. */ + public Builder setRevocableAfter(Long revocableAfter) { + this.revocableAfter = revocableAfter; + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/issuing/TransactionCreateForceCaptureParams.java b/src/main/java/com/stripe/param/issuing/TransactionCreateForceCaptureParams.java index bb9a71f16fd..26070f683ed 100644 --- a/src/main/java/com/stripe/param/issuing/TransactionCreateForceCaptureParams.java +++ b/src/main/java/com/stripe/param/issuing/TransactionCreateForceCaptureParams.java @@ -54,6 +54,10 @@ public class TransactionCreateForceCaptureParams extends ApiRequestParams { @SerializedName("merchant_data") MerchantData merchantData; + /** Details about the transaction, such as processing dates, set by the card network. */ + @SerializedName("network_data") + NetworkData networkData; + /** Additional purchase information that is optionally provided by the merchant. */ @SerializedName("purchase_details") PurchaseDetails purchaseDetails; @@ -65,6 +69,7 @@ private TransactionCreateForceCaptureParams( List expand, Map extraParams, MerchantData merchantData, + NetworkData networkData, PurchaseDetails purchaseDetails) { this.amount = amount; this.card = card; @@ -72,6 +77,7 @@ private TransactionCreateForceCaptureParams( this.expand = expand; this.extraParams = extraParams; this.merchantData = merchantData; + this.networkData = networkData; this.purchaseDetails = purchaseDetails; } @@ -92,6 +98,8 @@ public static class Builder { private MerchantData merchantData; + private NetworkData networkData; + private PurchaseDetails purchaseDetails; /** Finalize and obtain parameter instance from this builder. */ @@ -103,6 +111,7 @@ public TransactionCreateForceCaptureParams build() { this.expand, this.extraParams, this.merchantData, + this.networkData, this.purchaseDetails); } @@ -194,6 +203,12 @@ public Builder setMerchantData(TransactionCreateForceCaptureParams.MerchantData return this; } + /** Details about the transaction, such as processing dates, set by the card network. */ + public Builder setNetworkData(TransactionCreateForceCaptureParams.NetworkData networkData) { + this.networkData = networkData; + return this; + } + /** Additional purchase information that is optionally provided by the merchant. */ public Builder setPurchaseDetails( TransactionCreateForceCaptureParams.PurchaseDetails purchaseDetails) { @@ -1366,6 +1381,87 @@ public enum Category implements ApiRequestParams.EnumParam { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class NetworkData { + /** + * Optional. A test value to populate network_data.acquirer_reference_number on the resulting + * Issuing Transaction. Must contain only digits and be at most 23 characters long. This value + * is intended only for integration validation in testmode and does not need to correspond to a + * real network-assigned acquirer reference number. + */ + @SerializedName("acquirer_reference_number") + String acquirerReferenceNumber; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 NetworkData(String acquirerReferenceNumber, Map extraParams) { + this.acquirerReferenceNumber = acquirerReferenceNumber; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String acquirerReferenceNumber; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public TransactionCreateForceCaptureParams.NetworkData build() { + return new TransactionCreateForceCaptureParams.NetworkData( + this.acquirerReferenceNumber, this.extraParams); + } + + /** + * Optional. A test value to populate network_data.acquirer_reference_number on the resulting + * Issuing Transaction. Must contain only digits and be at most 23 characters long. This value + * is intended only for integration validation in testmode and does not need to correspond to + * a real network-assigned acquirer reference number. + */ + public Builder setAcquirerReferenceNumber(String acquirerReferenceNumber) { + this.acquirerReferenceNumber = acquirerReferenceNumber; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * TransactionCreateForceCaptureParams.NetworkData#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link TransactionCreateForceCaptureParams.NetworkData#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 PurchaseDetails { diff --git a/src/main/java/com/stripe/param/v2/billing/ContractActivateParams.java b/src/main/java/com/stripe/param/v2/billing/ContractActivateParams.java index 795831c4c25..ef3b09ef2c7 100644 --- a/src/main/java/com/stripe/param/v2/billing/ContractActivateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ContractActivateParams.java @@ -100,11 +100,8 @@ public Builder addAllInclude(List elements) { } public enum Include implements ApiRequestParams.EnumParam { - @SerializedName("contract_line_details") - CONTRACT_LINE_DETAILS("contract_line_details"), - - @SerializedName("license_quantities") - LICENSE_QUANTITIES("license_quantities"), + @SerializedName("billing_settings") + BILLING_SETTINGS("billing_settings"), @SerializedName("one_time_fees") ONE_TIME_FEES("one_time_fees"), diff --git a/src/main/java/com/stripe/param/v2/billing/ContractCancelParams.java b/src/main/java/com/stripe/param/v2/billing/ContractCancelParams.java index d0bfe358305..1ca069a2a02 100644 --- a/src/main/java/com/stripe/param/v2/billing/ContractCancelParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ContractCancelParams.java @@ -13,6 +13,13 @@ @Getter @EqualsAndHashCode(callSuper = false) public class ContractCancelParams extends ApiRequestParams { + /** + * Per-pricing-line proration behavior overrides. Falls back to {@code proration_behavior} if not + * specified for a given line. + */ + @SerializedName("cancel_pricing_lines") + List cancelPricingLines; + /** * Map of extra parameters for custom features not available in this client library. The content * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each @@ -26,10 +33,19 @@ public class ContractCancelParams extends ApiRequestParams { @SerializedName("include") List include; + /** Top-level proration behavior for the cancellation. Defaults to {@code prorated} if not set. */ + @SerializedName("proration_behavior") + ProrationBehavior prorationBehavior; + private ContractCancelParams( - Map extraParams, List include) { + List cancelPricingLines, + Map extraParams, + List include, + ProrationBehavior prorationBehavior) { + this.cancelPricingLines = cancelPricingLines; this.extraParams = extraParams; this.include = include; + this.prorationBehavior = prorationBehavior; } public static Builder builder() { @@ -37,13 +53,44 @@ public static Builder builder() { } public static class Builder { + private List cancelPricingLines; + private Map extraParams; private List include; + private ProrationBehavior prorationBehavior; + /** Finalize and obtain parameter instance from this builder. */ public ContractCancelParams build() { - return new ContractCancelParams(this.extraParams, this.include); + return new ContractCancelParams( + this.cancelPricingLines, this.extraParams, this.include, this.prorationBehavior); + } + + /** + * Add an element to `cancelPricingLines` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * ContractCancelParams#cancelPricingLines} for the field documentation. + */ + public Builder addCancelPricingLine(ContractCancelParams.CancelPricingLine element) { + if (this.cancelPricingLines == null) { + this.cancelPricingLines = new ArrayList<>(); + } + this.cancelPricingLines.add(element); + return this; + } + + /** + * Add all elements to `cancelPricingLines` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. See + * {@link ContractCancelParams#cancelPricingLines} for the field documentation. + */ + public Builder addAllCancelPricingLine(List elements) { + if (this.cancelPricingLines == null) { + this.cancelPricingLines = new ArrayList<>(); + } + this.cancelPricingLines.addAll(elements); + return this; } /** @@ -97,14 +144,141 @@ public Builder addAllInclude(List elements) { this.include.addAll(elements); return this; } + + /** + * Top-level proration behavior for the cancellation. Defaults to {@code prorated} if not set. + */ + public Builder setProrationBehavior(ContractCancelParams.ProrationBehavior prorationBehavior) { + this.prorationBehavior = prorationBehavior; + return this; + } } - public enum Include implements ApiRequestParams.EnumParam { - @SerializedName("contract_line_details") - CONTRACT_LINE_DETAILS("contract_line_details"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CancelPricingLine { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** The ID of the pricing line. */ + @SerializedName("id") + String id; + + /** The lookup key of the pricing line. */ + @SerializedName("lookup_key") + String lookupKey; + + /** + * Proration behavior scoped to this pricing line. If not provided, falls back to the top-level + * {@code proration_behavior} on the cancel request. Defaults to {@code prorated}. + */ + @SerializedName("proration_behavior") + ProrationBehavior prorationBehavior; + + private CancelPricingLine( + Map extraParams, + String id, + String lookupKey, + ProrationBehavior prorationBehavior) { + this.extraParams = extraParams; + this.id = id; + this.lookupKey = lookupKey; + this.prorationBehavior = prorationBehavior; + } + + public static Builder builder() { + return new Builder(); + } - @SerializedName("license_quantities") - LICENSE_QUANTITIES("license_quantities"), + public static class Builder { + private Map extraParams; + + private String id; + + private String lookupKey; + + private ProrationBehavior prorationBehavior; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCancelParams.CancelPricingLine build() { + return new ContractCancelParams.CancelPricingLine( + this.extraParams, this.id, this.lookupKey, this.prorationBehavior); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ContractCancelParams.CancelPricingLine#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link ContractCancelParams.CancelPricingLine#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** The ID of the pricing line. */ + public Builder setId(String id) { + this.id = id; + return this; + } + + /** The lookup key of the pricing line. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; + return this; + } + + /** + * Proration behavior scoped to this pricing line. If not provided, falls back to the + * top-level {@code proration_behavior} on the cancel request. Defaults to {@code prorated}. + */ + public Builder setProrationBehavior( + ContractCancelParams.CancelPricingLine.ProrationBehavior prorationBehavior) { + this.prorationBehavior = prorationBehavior; + return this; + } + } + + public enum ProrationBehavior implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("prorated") + PRORATED("prorated"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationBehavior(String value) { + this.value = value; + } + } + } + + public enum Include implements ApiRequestParams.EnumParam { + @SerializedName("billing_settings") + BILLING_SETTINGS("billing_settings"), @SerializedName("one_time_fees") ONE_TIME_FEES("one_time_fees"), @@ -122,4 +296,19 @@ public enum Include implements ApiRequestParams.EnumParam { this.value = value; } } + + public enum ProrationBehavior implements ApiRequestParams.EnumParam { + @SerializedName("none") + NONE("none"), + + @SerializedName("prorated") + PRORATED("prorated"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + ProrationBehavior(String value) { + this.value = value; + } + } } diff --git a/src/main/java/com/stripe/param/v2/billing/ContractCreateParams.java b/src/main/java/com/stripe/param/v2/billing/ContractCreateParams.java index 486a5c477e8..6a3685c27c5 100644 --- a/src/main/java/com/stripe/param/v2/billing/ContractCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ContractCreateParams.java @@ -1,10 +1,9 @@ // File generated from our OpenAPI spec package com.stripe.param.v2.billing; -import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; -import com.stripe.model.StringInt64TypeAdapter; import com.stripe.net.ApiRequestParams; +import com.stripe.v2.Amount; import java.math.BigDecimal; import java.time.Instant; import java.util.ArrayList; @@ -17,14 +16,18 @@ @Getter @EqualsAndHashCode(callSuper = false) public class ContractCreateParams extends ApiRequestParams { + /** + * The billing cycle anchor for the contract. If not provided, defaults to the pricing line start + * time. It is only at the top-level of the contract with no option to override at the pricing + * line level. + */ + @SerializedName("billing_cycle_anchor") + BillingCycleAnchor billingCycleAnchor; + /** The billing settings for the contract. */ @SerializedName("billing_settings") BillingSettings billingSettings; - /** Required. A list of contract lines to create with the contract. */ - @SerializedName("contract_lines") - List contractLines; - /** Required. A unique user-provided contract number e.g. C-2026-0001. */ @SerializedName("contract_number") String contractNumber; @@ -46,10 +49,6 @@ public class ContractCreateParams extends ApiRequestParams { @SerializedName("include") List include; - /** Required. A list of license quantity actions to create with the contract. */ - @SerializedName("license_quantity_actions") - List licenseQuantityActions; - /** Set of key-value pairs that you can attach to an object. */ @SerializedName("metadata") Map metadata; @@ -65,29 +64,27 @@ public class ContractCreateParams extends ApiRequestParams { @SerializedName("pricing_lines") List pricingLines; - /** Required. A list of pricing overrides to create with the contract. */ + /** A list of pricing overrides to create with the contract. */ @SerializedName("pricing_overrides") List pricingOverrides; private ContractCreateParams( + BillingCycleAnchor billingCycleAnchor, BillingSettings billingSettings, - List contractLines, String contractNumber, String currency, Map extraParams, List include, - List licenseQuantityActions, Map metadata, List oneTimeFees, List pricingLines, List pricingOverrides) { + this.billingCycleAnchor = billingCycleAnchor; this.billingSettings = billingSettings; - this.contractLines = contractLines; this.contractNumber = contractNumber; this.currency = currency; this.extraParams = extraParams; this.include = include; - this.licenseQuantityActions = licenseQuantityActions; this.metadata = metadata; this.oneTimeFees = oneTimeFees; this.pricingLines = pricingLines; @@ -99,9 +96,9 @@ public static Builder builder() { } public static class Builder { - private BillingSettings billingSettings; + private BillingCycleAnchor billingCycleAnchor; - private List contractLines; + private BillingSettings billingSettings; private String contractNumber; @@ -111,8 +108,6 @@ public static class Builder { private List include; - private List licenseQuantityActions; - private Map metadata; private List oneTimeFees; @@ -124,48 +119,32 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public ContractCreateParams build() { return new ContractCreateParams( + this.billingCycleAnchor, this.billingSettings, - this.contractLines, this.contractNumber, this.currency, this.extraParams, this.include, - this.licenseQuantityActions, this.metadata, this.oneTimeFees, this.pricingLines, this.pricingOverrides); } - /** The billing settings for the contract. */ - public Builder setBillingSettings(ContractCreateParams.BillingSettings billingSettings) { - this.billingSettings = billingSettings; - return this; - } - /** - * Add an element to `contractLines` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams#contractLines} for the field documentation. + * The billing cycle anchor for the contract. If not provided, defaults to the pricing line + * start time. It is only at the top-level of the contract with no option to override at the + * pricing line level. */ - public Builder addContractLine(ContractCreateParams.ContractLine element) { - if (this.contractLines == null) { - this.contractLines = new ArrayList<>(); - } - this.contractLines.add(element); + public Builder setBillingCycleAnchor( + ContractCreateParams.BillingCycleAnchor billingCycleAnchor) { + this.billingCycleAnchor = billingCycleAnchor; return this; } - /** - * Add all elements to `contractLines` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams#contractLines} for the field documentation. - */ - public Builder addAllContractLine(List elements) { - if (this.contractLines == null) { - this.contractLines = new ArrayList<>(); - } - this.contractLines.addAll(elements); + /** The billing settings for the contract. */ + public Builder setBillingSettings(ContractCreateParams.BillingSettings billingSettings) { + this.billingSettings = billingSettings; return this; } @@ -233,33 +212,6 @@ public Builder addAllInclude(List elements) { return this; } - /** - * Add an element to `licenseQuantityActions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link ContractCreateParams#licenseQuantityActions} for the field documentation. - */ - public Builder addLicenseQuantityAction(ContractCreateParams.LicenseQuantityAction element) { - if (this.licenseQuantityActions == null) { - this.licenseQuantityActions = new ArrayList<>(); - } - this.licenseQuantityActions.add(element); - return this; - } - - /** - * Add all elements to `licenseQuantityActions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link ContractCreateParams#licenseQuantityActions} for the field documentation. - */ - public Builder addAllLicenseQuantityAction( - List elements) { - if (this.licenseQuantityActions == null) { - this.licenseQuantityActions = new ArrayList<>(); - } - this.licenseQuantityActions.addAll(elements); - return this; - } - /** * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, * and subsequent calls add additional key/value pairs to the original map. See {@link @@ -367,10 +319,10 @@ public Builder addAllPricingOverride(List @Getter @EqualsAndHashCode(callSuper = false) - public static class BillingSettings { - /** Billing settings details for the contract. */ - @SerializedName("contract_billing_details") - ContractBillingDetails contractBillingDetails; + public static class BillingCycleAnchor { + /** Configuration for determining the billing cycle anchor by calendar fields. */ + @SerializedName("config") + Config config; /** * Map of extra parameters for custom features not available in this client library. The content @@ -381,10 +333,20 @@ public static class BillingSettings { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private BillingSettings( - ContractBillingDetails contractBillingDetails, Map extraParams) { - this.contractBillingDetails = contractBillingDetails; + /** A specific timestamp to use as the billing cycle anchor. */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of billing cycle anchor. */ + @SerializedName("type") + Type type; + + private BillingCycleAnchor( + Config config, Map extraParams, Instant timestamp, Type type) { + this.config = config; this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; } public static Builder builder() { @@ -392,27 +354,30 @@ public static Builder builder() { } public static class Builder { - private ContractBillingDetails contractBillingDetails; + private Config config; private Map extraParams; + private Instant timestamp; + + private Type type; + /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings build() { - return new ContractCreateParams.BillingSettings( - this.contractBillingDetails, this.extraParams); + public ContractCreateParams.BillingCycleAnchor build() { + return new ContractCreateParams.BillingCycleAnchor( + this.config, this.extraParams, this.timestamp, this.type); } - /** Billing settings details for the contract. */ - public Builder setContractBillingDetails( - ContractCreateParams.BillingSettings.ContractBillingDetails contractBillingDetails) { - this.contractBillingDetails = contractBillingDetails; + /** Configuration for determining the billing cycle anchor by calendar fields. */ + public Builder setConfig(ContractCreateParams.BillingCycleAnchor.Config config) { + this.config = config; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.BillingSettings#extraParams} for the field documentation. + * ContractCreateParams.BillingCycleAnchor#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -425,7 +390,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 ContractCreateParams.BillingSettings#extraParams} for the field documentation. + * See {@link ContractCreateParams.BillingCycleAnchor#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -434,22 +400,26 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** A specific timestamp to use as the billing cycle anchor. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of billing cycle anchor. */ + public Builder setType(ContractCreateParams.BillingCycleAnchor.Type type) { + this.type = type; + return this; + } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ContractBillingDetails { - /** The bill settings details. */ - @SerializedName("bill_settings_details") - BillSettingsDetails billSettingsDetails; - - /** Required. The billing profile details. */ - @SerializedName("billing_profile_details") - BillingProfileDetails billingProfileDetails; - - /** Required. The collection settings details. */ - @SerializedName("collection_settings_details") - CollectionSettingsDetails collectionSettingsDetails; + public static class Config { + /** Required. Day of month (1-31). */ + @SerializedName("day_of_month") + Long dayOfMonth; /** * Map of extra parameters for custom features not available in this client library. The @@ -460,15 +430,35 @@ public static class ContractBillingDetails { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private ContractBillingDetails( - BillSettingsDetails billSettingsDetails, - BillingProfileDetails billingProfileDetails, - CollectionSettingsDetails collectionSettingsDetails, - Map extraParams) { - this.billSettingsDetails = billSettingsDetails; - this.billingProfileDetails = billingProfileDetails; - this.collectionSettingsDetails = collectionSettingsDetails; + /** Hour of day in UTC (0-23). */ + @SerializedName("hour") + Long hour; + + /** Minute of hour (0-59). */ + @SerializedName("minute") + Long minute; + + /** Month of year (1-12). */ + @SerializedName("month_of_year") + Long monthOfYear; + + /** Second of minute (0-59). */ + @SerializedName("second") + Long second; + + private Config( + Long dayOfMonth, + Map extraParams, + Long hour, + Long minute, + Long monthOfYear, + Long second) { + this.dayOfMonth = dayOfMonth; this.extraParams = extraParams; + this.hour = hour; + this.minute = minute; + this.monthOfYear = monthOfYear; + this.second = second; } public static Builder builder() { @@ -476,52 +466,279 @@ public static Builder builder() { } public static class Builder { - private BillSettingsDetails billSettingsDetails; + private Long dayOfMonth; - private BillingProfileDetails billingProfileDetails; + private Map extraParams; - private CollectionSettingsDetails collectionSettingsDetails; + private Long hour; - private Map extraParams; + private Long minute; + + private Long monthOfYear; + + private Long second; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails( - this.billSettingsDetails, - this.billingProfileDetails, - this.collectionSettingsDetails, - this.extraParams); + public ContractCreateParams.BillingCycleAnchor.Config build() { + return new ContractCreateParams.BillingCycleAnchor.Config( + this.dayOfMonth, + this.extraParams, + this.hour, + this.minute, + this.monthOfYear, + this.second); + } + + /** Required. Day of month (1-31). */ + public Builder setDayOfMonth(Long dayOfMonth) { + this.dayOfMonth = dayOfMonth; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.BillingCycleAnchor.Config#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.BillingCycleAnchor.Config#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Hour of day in UTC (0-23). */ + public Builder setHour(Long hour) { + this.hour = hour; + return this; } - /** The bill settings details. */ - public Builder setBillSettingsDetails( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - billSettingsDetails) { - this.billSettingsDetails = billSettingsDetails; + /** Minute of hour (0-59). */ + public Builder setMinute(Long minute) { + this.minute = minute; return this; } - /** Required. The billing profile details. */ - public Builder setBillingProfileDetails( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillingProfileDetails - billingProfileDetails) { - this.billingProfileDetails = billingProfileDetails; + /** Month of year (1-12). */ + public Builder setMonthOfYear(Long monthOfYear) { + this.monthOfYear = monthOfYear; return this; } - /** Required. The collection settings details. */ - public Builder setCollectionSettingsDetails( - ContractCreateParams.BillingSettings.ContractBillingDetails.CollectionSettingsDetails - collectionSettingsDetails) { - this.collectionSettingsDetails = collectionSettingsDetails; + /** Second of minute (0-59). */ + public Builder setSecond(Long second) { + this.second = second; + return this; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("config") + CONFIG("config"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillingSettings { + /** The bill settings details configures invoice and tax settings for the contract. */ + @SerializedName("bill_settings_details") + BillSettingsDetails billSettingsDetails; + + /** + * Required. The billing profile details configures who is charged for the + * contract. + */ + @SerializedName("billing_profile_details") + BillingProfileDetails billingProfileDetails; + + /** + * Required. The collection settings details configures how payments are + * collected on the contract. + */ + @SerializedName("collection_settings_details") + CollectionSettingsDetails collectionSettingsDetails; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 BillingSettings( + BillSettingsDetails billSettingsDetails, + BillingProfileDetails billingProfileDetails, + CollectionSettingsDetails collectionSettingsDetails, + Map extraParams) { + this.billSettingsDetails = billSettingsDetails; + this.billingProfileDetails = billingProfileDetails; + this.collectionSettingsDetails = collectionSettingsDetails; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BillSettingsDetails billSettingsDetails; + + private BillingProfileDetails billingProfileDetails; + + private CollectionSettingsDetails collectionSettingsDetails; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.BillingSettings build() { + return new ContractCreateParams.BillingSettings( + this.billSettingsDetails, + this.billingProfileDetails, + this.collectionSettingsDetails, + this.extraParams); + } + + /** The bill settings details configures invoice and tax settings for the contract. */ + public Builder setBillSettingsDetails( + ContractCreateParams.BillingSettings.BillSettingsDetails billSettingsDetails) { + this.billSettingsDetails = billSettingsDetails; + return this; + } + + /** + * Required. The billing profile details configures who is charged for the + * contract. + */ + public Builder setBillingProfileDetails( + ContractCreateParams.BillingSettings.BillingProfileDetails billingProfileDetails) { + this.billingProfileDetails = billingProfileDetails; + return this; + } + + /** + * Required. The collection settings details configures how payments are + * collected on the contract. + */ + public Builder setCollectionSettingsDetails( + ContractCreateParams.BillingSettings.CollectionSettingsDetails + collectionSettingsDetails) { + this.collectionSettingsDetails = collectionSettingsDetails; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ContractCreateParams.BillingSettings#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link ContractCreateParams.BillingSettings#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 BillSettingsDetails { + /** Calculation settings. */ + @SerializedName("calculation") + Calculation calculation; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Invoice settings. */ + @SerializedName("invoice") + Invoice invoice; + + private BillSettingsDetails( + Calculation calculation, Map extraParams, Invoice invoice) { + this.calculation = calculation; + this.extraParams = extraParams; + this.invoice = invoice; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Calculation calculation; + + private Map extraParams; + + private Invoice invoice; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.BillingSettings.BillSettingsDetails build() { + return new ContractCreateParams.BillingSettings.BillSettingsDetails( + this.calculation, this.extraParams, this.invoice); + } + + /** Calculation settings. */ + public Builder setCalculation( + ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation calculation) { + this.calculation = calculation; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.BillingSettings.ContractBillingDetails#extraParams} - * for the field documentation. + * map. See {@link ContractCreateParams.BillingSettings.BillSettingsDetails#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -534,8 +751,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 ContractCreateParams.BillingSettings.ContractBillingDetails#extraParams} - * for the field documentation. + * map. See {@link ContractCreateParams.BillingSettings.BillSettingsDetails#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -544,15 +761,18 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** Invoice settings. */ + public Builder setInvoice( + ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice invoice) { + this.invoice = invoice; + return this; + } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BillSettingsDetails { - /** Calculation settings. */ - @SerializedName("calculation") - Calculation calculation; - + public static class Calculation { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -563,15 +783,13 @@ public static class BillSettingsDetails { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Invoice settings. */ - @SerializedName("invoice") - Invoice invoice; + /** Tax calculation settings. */ + @SerializedName("tax") + Tax tax; - private BillSettingsDetails( - Calculation calculation, Map extraParams, Invoice invoice) { - this.calculation = calculation; + private Calculation(Map extraParams, Tax tax) { this.extraParams = extraParams; - this.invoice = invoice; + this.tax = tax; } public static Builder builder() { @@ -579,34 +797,22 @@ public static Builder builder() { } public static class Builder { - private Calculation calculation; - private Map extraParams; - private Invoice invoice; + private Tax tax; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails - .BillSettingsDetails(this.calculation, this.extraParams, this.invoice); - } - - /** Calculation settings. */ - public Builder setCalculation( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Calculation - calculation) { - this.calculation = calculation; - return this; + public ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation build() { + return new ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation( + this.extraParams, this.tax); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original * map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails#extraParams} - * for the field documentation. + * ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -620,8 +826,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 - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails#extraParams} - * for the field documentation. + * ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -631,19 +837,17 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Invoice settings. */ - public Builder setInvoice( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Invoice - invoice) { - this.invoice = invoice; - return this; + /** Tax calculation settings. */ + public Builder setTax( + ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation.Tax tax) { + this.tax = tax; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Calculation { + public static class Tax { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -654,13 +858,13 @@ public static class Calculation { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Tax calculation settings. */ - @SerializedName("tax") - Tax tax; + /** Required. The type of tax calculation. */ + @SerializedName("type") + Type type; - private Calculation(Map extraParams, Tax tax) { + private Tax(Map extraParams, Type type) { this.extraParams = extraParams; - this.tax = tax; + this.type = type; } public static Builder builder() { @@ -670,21 +874,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Tax tax; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Calculation + public ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation.Tax build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails - .BillSettingsDetails.Calculation(this.extraParams, this.tax); + return new ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation.Tax( + this.extraParams, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Calculation#extraParams} + * ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation.Tax#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -699,7 +902,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 - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Calculation#extraParams} + * ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation.Tax#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -710,115 +913,111 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Tax calculation settings. */ - public Builder setTax( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Calculation.Tax - tax) { - this.tax = tax; + /** Required. The type of tax calculation. */ + public Builder setType( + ContractCreateParams.BillingSettings.BillSettingsDetails.Calculation.Tax.Type + type) { + this.type = type; return this; } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Tax { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("automatic") + AUTOMATIC("automatic"), - /** Required. The type of tax calculation. */ - @SerializedName("type") - Type type; + @SerializedName("manual") + MANUAL("manual"); - private Tax(Map extraParams, Type type) { - this.extraParams = extraParams; - this.type = type; - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static Builder builder() { - return new Builder(); + Type(String value) { + this.value = value; } + } + } + } - public static class Builder { - private Map extraParams; - - private Type type; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class 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; - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Calculation.Tax - build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails - .BillSettingsDetails.Calculation.Tax(this.extraParams, this.type); - } + /** The number of time units before the invoice is past due. */ + @SerializedName("time_until_due") + TimeUntilDue timeUntilDue; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Calculation.Tax#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Invoice(Map extraParams, TimeUntilDue timeUntilDue) { + this.extraParams = extraParams; + this.timeUntilDue = timeUntilDue; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Calculation.Tax#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static Builder builder() { + return new Builder(); + } - /** Required. The type of tax calculation. */ - public Builder setType( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Calculation.Tax.Type - type) { - this.type = type; - return this; - } - } + public static class Builder { + private Map extraParams; - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("automatic") - AUTOMATIC("automatic"), + private TimeUntilDue timeUntilDue; - @SerializedName("manual") - MANUAL("manual"); + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice build() { + return new ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice( + this.extraParams, this.timeUntilDue); + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * ContractCreateParams.BillingSettings.BillSettingsDetails.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; + } - Type(String value) { - this.value = value; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * ContractCreateParams.BillingSettings.BillSettingsDetails.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; + } + + /** The number of time units before the invoice is past due. */ + public Builder setTimeUntilDue( + ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice.TimeUntilDue + timeUntilDue) { + this.timeUntilDue = timeUntilDue; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Invoice { + public static class TimeUntilDue { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -829,13 +1028,19 @@ public static class Invoice { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The number of time units before the invoice is past due. */ - @SerializedName("time_until_due") - TimeUntilDue timeUntilDue; + /** Required. The interval unit. */ + @SerializedName("interval") + Interval interval; - private Invoice(Map extraParams, TimeUntilDue timeUntilDue) { + /** Required. The number of intervals. */ + @SerializedName("interval_count") + Long intervalCount; + + private TimeUntilDue( + Map extraParams, Interval interval, Long intervalCount) { this.extraParams = extraParams; - this.timeUntilDue = timeUntilDue; + this.interval = interval; + this.intervalCount = intervalCount; } public static Builder builder() { @@ -845,21 +1050,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private TimeUntilDue timeUntilDue; + private Interval interval; + + private Long intervalCount; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Invoice + public ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice.TimeUntilDue build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails - .BillSettingsDetails.Invoice(this.extraParams, this.timeUntilDue); + return new ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice + .TimeUntilDue(this.extraParams, this.interval, this.intervalCount); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Invoice#extraParams} + * ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice.TimeUntilDue#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -874,7 +1080,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 - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Invoice#extraParams} + * ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice.TimeUntilDue#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -885,333 +1091,235 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The number of time units before the invoice is past due. */ - public Builder setTimeUntilDue( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Invoice.TimeUntilDue - timeUntilDue) { - this.timeUntilDue = timeUntilDue; + /** Required. The interval unit. */ + public Builder setInterval( + ContractCreateParams.BillingSettings.BillSettingsDetails.Invoice.TimeUntilDue + .Interval + interval) { + this.interval = interval; return this; } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class TimeUntilDue { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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 interval unit. */ - @SerializedName("interval") - Interval interval; /** Required. The number of intervals. */ - @SerializedName("interval_count") - Long intervalCount; - - private TimeUntilDue( - Map extraParams, Interval interval, Long intervalCount) { - this.extraParams = extraParams; - this.interval = interval; + public Builder setIntervalCount(Long intervalCount) { this.intervalCount = intervalCount; + return this; } + } - public static Builder builder() { - return new Builder(); - } + public enum Interval implements ApiRequestParams.EnumParam { + @SerializedName("day") + DAY("day"), - public static class Builder { - private Map extraParams; + @SerializedName("month") + MONTH("month"), - private Interval interval; + @SerializedName("week") + WEEK("week"), - private Long intervalCount; + @SerializedName("year") + YEAR("year"); - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Invoice.TimeUntilDue - build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails - .BillSettingsDetails.Invoice.TimeUntilDue( - this.extraParams, this.interval, this.intervalCount); - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Invoice.TimeUntilDue#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + Interval(String value) { + this.value = value; + } + } + } + } + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails.Invoice.TimeUntilDue#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 BillingProfileDetails { + /** Required. The customer who pays for the contract invoice. */ + @SerializedName("customer") + String customer; - /** Required. The interval unit. */ - public Builder setInterval( - ContractCreateParams.BillingSettings.ContractBillingDetails.BillSettingsDetails - .Invoice.TimeUntilDue.Interval - interval) { - this.interval = interval; - return this; - } + /** The default payment method for the contract. */ + @SerializedName("default_payment_method") + String defaultPaymentMethod; - /** Required. The number of intervals. */ - public Builder setIntervalCount(Long intervalCount) { - this.intervalCount = intervalCount; - return this; - } - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public enum Interval implements ApiRequestParams.EnumParam { - @SerializedName("day") - DAY("day"), + private BillingProfileDetails( + String customer, String defaultPaymentMethod, Map extraParams) { + this.customer = customer; + this.defaultPaymentMethod = defaultPaymentMethod; + this.extraParams = extraParams; + } - @SerializedName("month") - MONTH("month"), + public static Builder builder() { + return new Builder(); + } - @SerializedName("week") - WEEK("week"), + public static class Builder { + private String customer; - @SerializedName("year") - YEAR("year"); + private String defaultPaymentMethod; - @Getter(onMethod_ = {@Override}) - private final String value; + private Map extraParams; - Interval(String value) { - this.value = value; - } - } - } + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.BillingSettings.BillingProfileDetails build() { + return new ContractCreateParams.BillingSettings.BillingProfileDetails( + this.customer, this.defaultPaymentMethod, this.extraParams); } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BillingProfileDetails { /** Required. The customer who pays for the contract invoice. */ - @SerializedName("customer") - String customer; + public Builder setCustomer(String customer) { + this.customer = customer; + return this; + } /** The default payment method for the contract. */ - @SerializedName("default_payment_method") - String defaultPaymentMethod; + public Builder setDefaultPaymentMethod(String defaultPaymentMethod) { + this.defaultPaymentMethod = defaultPaymentMethod; + return this; + } /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.BillingSettings.BillingProfileDetails#extraParams} + * for the field documentation. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private BillingProfileDetails( - String customer, String defaultPaymentMethod, Map extraParams) { - this.customer = customer; - this.defaultPaymentMethod = defaultPaymentMethod; - this.extraParams = extraParams; + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; } - public static Builder builder() { - return new Builder(); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.BillingSettings.BillingProfileDetails#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; } + } + } - public static class Builder { - private String customer; - - private String defaultPaymentMethod; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails.BillingProfileDetails - build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails - .BillingProfileDetails(this.customer, this.defaultPaymentMethod, this.extraParams); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class CollectionSettingsDetails { + /** Required. The collection method. */ + @SerializedName("collection_method") + CollectionMethod collectionMethod; - /** Required. The customer who pays for the contract invoice. */ - public Builder setCustomer(String customer) { - this.customer = customer; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** The default payment method for the contract. */ - public Builder setDefaultPaymentMethod(String defaultPaymentMethod) { - this.defaultPaymentMethod = defaultPaymentMethod; - return this; - } + /** The payment method configuration. */ + @SerializedName("payment_method_configuration") + String paymentMethodConfiguration; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillingProfileDetails#extraParams} - * for the 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 CollectionSettingsDetails( + CollectionMethod collectionMethod, + Map extraParams, + String paymentMethodConfiguration) { + this.collectionMethod = collectionMethod; + this.extraParams = extraParams; + this.paymentMethodConfiguration = paymentMethodConfiguration; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.BillingProfileDetails#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } + public static Builder builder() { + return new Builder(); } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CollectionSettingsDetails { - /** Required. The collection method. */ - @SerializedName("collection_method") - CollectionMethod collectionMethod; + public static class Builder { + private CollectionMethod collectionMethod; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 payment method configuration. */ - @SerializedName("payment_method_configuration") - String paymentMethodConfiguration; + private String paymentMethodConfiguration; - private CollectionSettingsDetails( - CollectionMethod collectionMethod, - Map extraParams, - String paymentMethodConfiguration) { - this.collectionMethod = collectionMethod; - this.extraParams = extraParams; - this.paymentMethodConfiguration = paymentMethodConfiguration; + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.BillingSettings.CollectionSettingsDetails build() { + return new ContractCreateParams.BillingSettings.CollectionSettingsDetails( + this.collectionMethod, this.extraParams, this.paymentMethodConfiguration); } - public static Builder builder() { - return new Builder(); + /** Required. The collection method. */ + public Builder setCollectionMethod( + ContractCreateParams.BillingSettings.CollectionSettingsDetails.CollectionMethod + collectionMethod) { + this.collectionMethod = collectionMethod; + return this; } - public static class Builder { - private CollectionMethod collectionMethod; - - private Map extraParams; - - private String paymentMethodConfiguration; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.BillingSettings.ContractBillingDetails - .CollectionSettingsDetails - build() { - return new ContractCreateParams.BillingSettings.ContractBillingDetails - .CollectionSettingsDetails( - this.collectionMethod, this.extraParams, this.paymentMethodConfiguration); - } - - /** Required. The collection method. */ - public Builder setCollectionMethod( - ContractCreateParams.BillingSettings.ContractBillingDetails.CollectionSettingsDetails - .CollectionMethod - collectionMethod) { - this.collectionMethod = collectionMethod; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.CollectionSettingsDetails#extraParams} - * for the field 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 + * ContractCreateParams.BillingSettings.CollectionSettingsDetails#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link - * ContractCreateParams.BillingSettings.ContractBillingDetails.CollectionSettingsDetails#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 + * ContractCreateParams.BillingSettings.CollectionSettingsDetails#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 payment method configuration. */ - public Builder setPaymentMethodConfiguration(String paymentMethodConfiguration) { - this.paymentMethodConfiguration = paymentMethodConfiguration; - return this; - } + /** The payment method configuration. */ + public Builder setPaymentMethodConfiguration(String paymentMethodConfiguration) { + this.paymentMethodConfiguration = paymentMethodConfiguration; + return this; } + } - public enum CollectionMethod implements ApiRequestParams.EnumParam { - @SerializedName("charge_automatically") - CHARGE_AUTOMATICALLY("charge_automatically"), + public enum CollectionMethod implements ApiRequestParams.EnumParam { + @SerializedName("charge_automatically") + CHARGE_AUTOMATICALLY("charge_automatically"), - @SerializedName("send_invoice") - SEND_INVOICE("send_invoice"); + @SerializedName("send_invoice") + SEND_INVOICE("send_invoice"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - CollectionMethod(String value) { - this.value = value; - } + CollectionMethod(String value) { + this.value = value; } } } @@ -1219,10 +1327,14 @@ public enum CollectionMethod implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class ContractLine { - /** Required. Timestamp to indicate when the contract line ends. */ - @SerializedName("ends_at") - EndsAt endsAt; + public static class OneTimeFee { + /** Required. The amount to bill. */ + @SerializedName("amount") + Amount amount; + + /** Required. When this fee should be billed. */ + @SerializedName("bill_at") + BillAt billAt; /** * Map of extra parameters for custom features not available in this client library. The content @@ -1233,38 +1345,25 @@ public static class ContractLine { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Set of key-value pairs that you can attach to an object. */ - @SerializedName("metadata") - Map metadata; - - /** - * Required. List of overrides. Later overrides in the list override earlier - * ones. - */ - @SerializedName("overrides") - List overrides; - - /** Required. The pricing configuration for the contract line. */ - @SerializedName("pricing") - Pricing pricing; + /** A user-provided lookup key. */ + @SerializedName("lookup_key") + String lookupKey; - /** Required. Timestamp to indicate when the contract line starts. */ - @SerializedName("starts_at") - StartsAt startsAt; + /** Required. The ID of the v1 Product for this fee. */ + @SerializedName("product") + String product; - private ContractLine( - EndsAt endsAt, + private OneTimeFee( + Amount amount, + BillAt billAt, Map extraParams, - Map metadata, - List overrides, - Pricing pricing, - StartsAt startsAt) { - this.endsAt = endsAt; + String lookupKey, + String product) { + this.amount = amount; + this.billAt = billAt; this.extraParams = extraParams; - this.metadata = metadata; - this.overrides = overrides; - this.pricing = pricing; - this.startsAt = startsAt; + this.lookupKey = lookupKey; + this.product = product; } public static Builder builder() { @@ -1272,39 +1371,38 @@ public static Builder builder() { } public static class Builder { - private EndsAt endsAt; - - private Map extraParams; + private Amount amount; - private Map metadata; + private BillAt billAt; - private List overrides; + private Map extraParams; - private Pricing pricing; + private String lookupKey; - private StartsAt startsAt; + private String product; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine build() { - return new ContractCreateParams.ContractLine( - this.endsAt, - this.extraParams, - this.metadata, - this.overrides, - this.pricing, - this.startsAt); + public ContractCreateParams.OneTimeFee build() { + return new ContractCreateParams.OneTimeFee( + this.amount, this.billAt, this.extraParams, this.lookupKey, this.product); } - /** Required. Timestamp to indicate when the contract line ends. */ - public Builder setEndsAt(ContractCreateParams.ContractLine.EndsAt endsAt) { - this.endsAt = endsAt; + /** Required. The amount to bill. */ + public Builder setAmount(Amount amount) { + this.amount = amount; + return this; + } + + /** Required. When this fee should be billed. */ + public Builder setBillAt(ContractCreateParams.OneTimeFee.BillAt billAt) { + this.billAt = billAt; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.ContractLine#extraParams} for the field documentation. + * ContractCreateParams.OneTimeFee#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -1317,7 +1415,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 ContractCreateParams.ContractLine#extraParams} for the field documentation. + * See {@link ContractCreateParams.OneTimeFee#extraParams} for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -1327,90 +1425,46 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.ContractLine#metadata} for the field documentation. - */ - public Builder putMetadata(String key, String value) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.put(key, value); + /** A user-provided lookup key. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; return this; } - /** - * Add all map key/value pairs to `metadata` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link ContractCreateParams.ContractLine#metadata} for the field documentation. - */ - public Builder putAllMetadata(Map map) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.putAll(map); + /** Required. The ID of the v1 Product for this fee. */ + public Builder setProduct(String product) { + this.product = product; return this; } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BillAt { /** - * Add an element to `overrides` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.ContractLine#overrides} for the field documentation. - */ - public Builder addOverride(ContractCreateParams.ContractLine.Overrides element) { - if (this.overrides == null) { - this.overrides = new ArrayList<>(); - } - this.overrides.add(element); - return this; - } - - /** - * Add all elements to `overrides` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.ContractLine#overrides} for the field documentation. - */ - public Builder addAllOverride(List elements) { - if (this.overrides == null) { - this.overrides = new ArrayList<>(); - } - this.overrides.addAll(elements); - return this; - } - - /** Required. The pricing configuration for the contract line. */ - public Builder setPricing(ContractCreateParams.ContractLine.Pricing pricing) { - this.pricing = pricing; - return this; - } - - /** Required. Timestamp to indicate when the contract line starts. */ - public Builder setStartsAt(ContractCreateParams.ContractLine.StartsAt startsAt) { - this.startsAt = startsAt; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item ends. */ + /** + * The timestamp at which the entry should be billed. Required if {@code type} is {@code + * timestamp}. + */ @SerializedName("timestamp") Instant timestamp; - private EndsAt(Map extraParams, Instant timestamp) { + /** Required. The type of the bill_at. */ + @SerializedName("type") + Type type; + + private BillAt(Map extraParams, Instant timestamp, Type type) { this.extraParams = extraParams; this.timestamp = timestamp; + this.type = type; } public static Builder builder() { @@ -1422,15 +1476,18 @@ public static class Builder { private Instant timestamp; + private Type type; + /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.EndsAt build() { - return new ContractCreateParams.ContractLine.EndsAt(this.extraParams, this.timestamp); + public ContractCreateParams.OneTimeFee.BillAt build() { + return new ContractCreateParams.OneTimeFee.BillAt( + this.extraParams, this.timestamp, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.EndsAt#extraParams} for the field + * map. See {@link ContractCreateParams.OneTimeFee.BillAt#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1444,7 +1501,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 ContractCreateParams.ContractLine.EndsAt#extraParams} for the field + * map. See {@link ContractCreateParams.OneTimeFee.BillAt#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -1455,21 +1512,194 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. The timestamp when the item ends. */ + /** + * The timestamp at which the entry should be billed. Required if {@code type} is {@code + * timestamp}. + */ public Builder setTimestamp(Instant timestamp) { this.timestamp = timestamp; return this; } + + /** Required. The type of the bill_at. */ + public Builder setType(ContractCreateParams.OneTimeFee.BillAt.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("now") + NOW("now"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PricingLine { + /** Required. When the pricing line ends. */ + @SerializedName("ends_at") + EndsAt endsAt; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 user-provided lookup key to reference this pricing line. */ + @SerializedName("lookup_key") + String lookupKey; + + /** Set of key-value pairs that you can attach to an object. */ + @SerializedName("metadata") + Map metadata; + + /** Required. The pricing configuration for the pricing line. */ + @SerializedName("pricing") + Pricing pricing; + + /** Required. When the pricing line starts. */ + @SerializedName("starts_at") + StartsAt startsAt; + + private PricingLine( + EndsAt endsAt, + Map extraParams, + String lookupKey, + Map metadata, + Pricing pricing, + StartsAt startsAt) { + this.endsAt = endsAt; + this.extraParams = extraParams; + this.lookupKey = lookupKey; + this.metadata = metadata; + this.pricing = pricing; + this.startsAt = startsAt; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private EndsAt endsAt; + + private Map extraParams; + + private String lookupKey; + + private Map metadata; + + private Pricing pricing; + + private StartsAt startsAt; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.PricingLine build() { + return new ContractCreateParams.PricingLine( + this.endsAt, + this.extraParams, + this.lookupKey, + this.metadata, + this.pricing, + this.startsAt); + } + + /** Required. When the pricing line ends. */ + public Builder setEndsAt(ContractCreateParams.PricingLine.EndsAt endsAt) { + this.endsAt = endsAt; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ContractCreateParams.PricingLine#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link ContractCreateParams.PricingLine#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 user-provided lookup key to reference this pricing line. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ContractCreateParams.PricingLine#metadata} for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link ContractCreateParams.PricingLine#metadata} for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** Required. The pricing configuration for the pricing line. */ + public Builder setPricing(ContractCreateParams.PricingLine.Pricing pricing) { + this.pricing = pricing; + return this; + } + + /** Required. When the pricing line starts. */ + public Builder setStartsAt(ContractCreateParams.PricingLine.StartsAt startsAt) { + this.startsAt = startsAt; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Overrides { - /** Required. Timestamp to indicate when the override ends. */ - @SerializedName("ends_at") - EndsAt endsAt; - + public static class EndsAt { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -1479,28 +1709,17 @@ public static class Overrides { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Service action override parameters. Required if {@code type} is {@code service_action}. */ - @SerializedName("service_action") - ServiceAction serviceAction; - - /** Required. Timestamp to indicate when the override starts. */ - @SerializedName("starts_at") - StartsAt startsAt; + /** The timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ + @SerializedName("timestamp") + Instant timestamp; - /** Required. The type of the override. */ + /** Required. The type of the ends_at. */ @SerializedName("type") Type type; - private Overrides( - EndsAt endsAt, - Map extraParams, - ServiceAction serviceAction, - StartsAt startsAt, - Type type) { - this.endsAt = endsAt; + private EndsAt(Map extraParams, Instant timestamp, Type type) { this.extraParams = extraParams; - this.serviceAction = serviceAction; - this.startsAt = startsAt; + this.timestamp = timestamp; this.type = type; } @@ -1509,32 +1728,22 @@ public static Builder builder() { } public static class Builder { - private EndsAt endsAt; - private Map extraParams; - private ServiceAction serviceAction; - - private StartsAt startsAt; + private Instant timestamp; private Type type; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides build() { - return new ContractCreateParams.ContractLine.Overrides( - this.endsAt, this.extraParams, this.serviceAction, this.startsAt, this.type); - } - - /** Required. Timestamp to indicate when the override ends. */ - public Builder setEndsAt(ContractCreateParams.ContractLine.Overrides.EndsAt endsAt) { - this.endsAt = endsAt; - return this; + public ContractCreateParams.PricingLine.EndsAt build() { + return new ContractCreateParams.PricingLine.EndsAt( + this.extraParams, this.timestamp, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.Overrides#extraParams} for the field + * map. See {@link ContractCreateParams.PricingLine.EndsAt#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -1548,7 +1757,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 ContractCreateParams.ContractLine.Overrides#extraParams} for the field + * map. See {@link ContractCreateParams.PricingLine.EndsAt#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -1559,108 +1768,123 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Service action override parameters. Required if {@code type} is {@code service_action}. - */ - public Builder setServiceAction( - ContractCreateParams.ContractLine.Overrides.ServiceAction serviceAction) { - this.serviceAction = serviceAction; - return this; - } - - /** Required. Timestamp to indicate when the override starts. */ - public Builder setStartsAt(ContractCreateParams.ContractLine.Overrides.StartsAt startsAt) { - this.startsAt = startsAt; + /** The timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; return this; } - /** Required. The type of the override. */ - public Builder setType(ContractCreateParams.ContractLine.Overrides.Type type) { + /** Required. The type of the ends_at. */ + public Builder setType(ContractCreateParams.PricingLine.EndsAt.Type type) { this.type = type; return this; } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("contract_end") + CONTRACT_END("contract_end"), - /** Required. The timestamp when the item ends. */ @SerializedName("timestamp") - Instant timestamp; + TIMESTAMP("timestamp"); - private EndsAt(Map extraParams, Instant timestamp) { - this.extraParams = extraParams; - this.timestamp = timestamp; - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static Builder builder() { - return new Builder(); + Type(String value) { + this.value = value; } + } + } - public static class Builder { - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Pricing { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Instant timestamp; + /** V1 price details. Required if {@code type} is {@code price}. */ + @SerializedName("price_details") + PriceDetails priceDetails; - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.EndsAt build() { - return new ContractCreateParams.ContractLine.Overrides.EndsAt( - this.extraParams, this.timestamp); - } + /** Required. The type of pricing. */ + @SerializedName("type") + Type type; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.Overrides.EndsAt#extraParams} for the - * 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 Pricing(Map extraParams, PriceDetails priceDetails, Type type) { + this.extraParams = extraParams; + this.priceDetails = priceDetails; + this.type = type; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.Overrides.EndsAt#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PriceDetails priceDetails; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.PricingLine.Pricing build() { + return new ContractCreateParams.PricingLine.Pricing( + this.extraParams, this.priceDetails, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.PricingLine.Pricing#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.put(key, value); + return this; + } - /** Required. The timestamp when the item ends. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.PricingLine.Pricing#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** V1 price details. Required if {@code type} is {@code price}. */ + public Builder setPriceDetails( + ContractCreateParams.PricingLine.Pricing.PriceDetails priceDetails) { + this.priceDetails = priceDetails; + return this; + } + + /** Required. The type of pricing. */ + public Builder setType(ContractCreateParams.PricingLine.Pricing.Type type) { + this.type = type; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class ServiceAction { - /** Parameters for adding a new service action. */ - @SerializedName("add") - Add add; - + public static class PriceDetails { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -1671,20 +1895,33 @@ public static class ServiceAction { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Parameters for replacing an existing service action. */ - @SerializedName("replace") - Replace replace; + /** Required. The ID of the V1 price. */ + @SerializedName("price") + String price; + + /** Pricing overrides embedded directly on this pricing line. */ + @SerializedName("pricing_overrides") + List + pricingOverrides; - /** Required. The type of service action override. */ - @SerializedName("type") - Type type; + /** + * Quantity changes for the pricing line. For now, at most one entry is allowed. A quantity + * change clears all future quantity changes on this pricing line. + */ + @SerializedName("quantity_changes") + List quantityChanges; - private ServiceAction( - Add add, Map extraParams, Replace replace, Type type) { - this.add = add; + private PriceDetails( + Map extraParams, + String price, + List + pricingOverrides, + List + quantityChanges) { this.extraParams = extraParams; - this.replace = replace; - this.type = type; + this.price = price; + this.pricingOverrides = pricingOverrides; + this.quantityChanges = quantityChanges; } public static Builder builder() { @@ -1692,31 +1929,27 @@ public static Builder builder() { } public static class Builder { - private Add add; - private Map extraParams; - private Replace replace; + private String price; - private Type type; + private List + pricingOverrides; - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction( - this.add, this.extraParams, this.replace, this.type); - } + private List + quantityChanges; - /** Parameters for adding a new service action. */ - public Builder setAdd(ContractCreateParams.ContractLine.Overrides.ServiceAction.Add add) { - this.add = add; - return this; + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.PricingLine.Pricing.PriceDetails build() { + return new ContractCreateParams.PricingLine.Pricing.PriceDetails( + this.extraParams, this.price, this.pricingOverrides, this.quantityChanges); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.Overrides.ServiceAction#extraParams} - * for the field documentation. + * map. See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -1729,8 +1962,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 ContractCreateParams.ContractLine.Overrides.ServiceAction#extraParams} - * for the field documentation. + * map. See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -1740,27 +1973,80 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Parameters for replacing an existing service action. */ - public Builder setReplace( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace replace) { - this.replace = replace; + /** Required. The ID of the V1 price. */ + public Builder setPrice(String price) { + this.price = price; return this; } - /** Required. The type of service action override. */ - public Builder setType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Type type) { - this.type = type; + /** + * Add an element to `pricingOverrides` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#pricingOverrides} for + * the field documentation. + */ + public Builder addPricingOverride( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride element) { + if (this.pricingOverrides == null) { + this.pricingOverrides = new ArrayList<>(); + } + this.pricingOverrides.add(element); + return this; + } + + /** + * Add all elements to `pricingOverrides` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#pricingOverrides} for + * the field documentation. + */ + public Builder addAllPricingOverride( + List + elements) { + if (this.pricingOverrides == null) { + this.pricingOverrides = new ArrayList<>(); + } + this.pricingOverrides.addAll(elements); + return this; + } + + /** + * Add an element to `quantityChanges` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#quantityChanges} for + * the field documentation. + */ + public Builder addQuantityChange( + ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange element) { + if (this.quantityChanges == null) { + this.quantityChanges = new ArrayList<>(); + } + this.quantityChanges.add(element); + return this; + } + + /** + * Add all elements to `quantityChanges` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#quantityChanges} for + * the field documentation. + */ + public Builder addAllQuantityChange( + List elements) { + if (this.quantityChanges == null) { + this.quantityChanges = new ArrayList<>(); + } + this.quantityChanges.addAll(elements); return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Add { - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ - @SerializedName("credit_grant") - CreditGrant creditGrant; + public static class PricingOverride { + /** When the override ends. Defaults to the pricing line's end if not specified. */ + @SerializedName("ends_at") + EndsAt endsAt; /** * Map of extra parameters for custom features not available in this client library. The @@ -1772,28 +2058,55 @@ public static class Add { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. The interval for assessing service. */ - @SerializedName("service_interval") - ServiceInterval serviceInterval; + /** A user-provided lookup key to reference this override. */ + @SerializedName("lookup_key") + String lookupKey; + + /** Set of key-value pairs that you can attach to an object. */ + @SerializedName("metadata") + Map metadata; + + /** + * Parameters for the overwrite_price override. Required if {@code type} is {@code + * overwrite_price}. + */ + @SerializedName("overwrite_price") + OverwritePrice overwritePrice; + + /** + * The priority of this override relative to others. 0 is highest, 100 is lowest. Defaults + * to 50. + */ + @SerializedName("priority") + Long priority; - /** Required. The length of the interval for assessing service. */ - @SerializedName("service_interval_count") - Long serviceIntervalCount; + /** When the override starts. Defaults to the pricing line's start if not specified. */ + @SerializedName("starts_at") + StartsAt startsAt; - /** Required. The type of the service action. */ + /** + * Required. The type of override. Currently only {@code overwrite_price} + * is supported. + */ @SerializedName("type") Type type; - private Add( - CreditGrant creditGrant, + private PricingOverride( + EndsAt endsAt, Map extraParams, - ServiceInterval serviceInterval, - Long serviceIntervalCount, + String lookupKey, + Map metadata, + OverwritePrice overwritePrice, + Long priority, + StartsAt startsAt, Type type) { - this.creditGrant = creditGrant; + this.endsAt = endsAt; this.extraParams = extraParams; - this.serviceInterval = serviceInterval; - this.serviceIntervalCount = serviceIntervalCount; + this.lookupKey = lookupKey; + this.metadata = metadata; + this.overwritePrice = overwritePrice; + this.priority = priority; + this.startsAt = startsAt; this.type = type; } @@ -1802,31 +2115,40 @@ public static Builder builder() { } public static class Builder { - private CreditGrant creditGrant; + private EndsAt endsAt; private Map extraParams; - private ServiceInterval serviceInterval; + private String lookupKey; + + private Map metadata; + + private OverwritePrice overwritePrice; + + private Long priority; - private Long serviceIntervalCount; + private StartsAt startsAt; private Type type; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Add build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Add( - this.creditGrant, + public ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride build() { + return new ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride( + this.endsAt, this.extraParams, - this.serviceInterval, - this.serviceIntervalCount, + this.lookupKey, + this.metadata, + this.overwritePrice, + this.priority, + this.startsAt, this.type); } - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ - public Builder setCreditGrant( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - creditGrant) { - this.creditGrant = creditGrant; + /** When the override ends. Defaults to the pricing line's end if not specified. */ + public Builder setEndsAt( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.EndsAt + endsAt) { + this.endsAt = endsAt; return this; } @@ -1834,8 +2156,8 @@ public Builder setCreditGrant( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add#extraParams} for the - * field documentation. + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -1849,8 +2171,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 - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add#extraParams} for the - * field documentation. + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -1860,51 +2182,84 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. The interval for assessing service. */ - public Builder setServiceInterval( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.ServiceInterval - serviceInterval) { - this.serviceInterval = serviceInterval; + /** A user-provided lookup key to reference this override. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; return this; } - /** Required. The length of the interval for assessing service. */ - public Builder setServiceIntervalCount(Long serviceIntervalCount) { - this.serviceIntervalCount = serviceIntervalCount; + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride#metadata} for + * the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); return this; } - /** Required. The type of the service action. */ - public Builder setType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.Type type) { - this.type = type; + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride#metadata} for + * the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); return this; } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CreditGrant { - /** Required. The amount of the credit grant. */ - @SerializedName("amount") - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Overrides.ServiceAction - .Add.CreditGrant.Amount - amount; + /** + * Parameters for the overwrite_price override. Required if {@code type} is {@code + * overwrite_price}. + */ + public Builder setOverwritePrice( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.OverwritePrice + overwritePrice) { + this.overwritePrice = overwritePrice; + return this; + } /** - * Required. Defines the scope where the credit grant is applicable. + * The priority of this override relative to others. 0 is highest, 100 is lowest. + * Defaults to 50. */ - @SerializedName("applicability_config") - ApplicabilityConfig applicabilityConfig; + public Builder setPriority(Long priority) { + this.priority = priority; + return this; + } - /** The category of the credit grant. */ - @SerializedName("category") - Category category; + /** When the override starts. Defaults to the pricing line's start if not specified. */ + public Builder setStartsAt( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.StartsAt + startsAt) { + this.startsAt = startsAt; + return this; + } - /** Required. The expiry configuration for the credit grant. */ - @SerializedName("expiry_config") - ExpiryConfig expiryConfig; + /** + * Required. The type of override. Currently only {@code + * overwrite_price} is supported. + */ + public Builder setType( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.Type type) { + this.type = type; + return this; + } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EndsAt { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -1915,34 +2270,18 @@ public static class CreditGrant { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. A descriptive name. */ - @SerializedName("name") - String name; + /** The timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ + @SerializedName("timestamp") + Instant timestamp; - /** - * The desired priority for applying this credit grant. The highest priority is 0 and - * the lowest is 100. - */ - @SerializedName("priority") - Long priority; - - private CreditGrant( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Overrides - .ServiceAction.Add.CreditGrant.Amount - amount, - ApplicabilityConfig applicabilityConfig, - Category category, - ExpiryConfig expiryConfig, - Map extraParams, - String name, - Long priority) { - this.amount = amount; - this.applicabilityConfig = applicabilityConfig; - this.category = category; - this.expiryConfig = expiryConfig; + /** Required. The type of the ends_at. */ + @SerializedName("type") + Type type; + + private EndsAt(Map extraParams, Instant timestamp, Type type) { this.extraParams = extraParams; - this.name = name; - this.priority = priority; + this.timestamp = timestamp; + this.type = type; } public static Builder builder() { @@ -1950,77 +2289,157 @@ public static Builder builder() { } public static class Builder { - private com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Overrides - .ServiceAction.Add.CreditGrant.Amount - amount; - - private ApplicabilityConfig applicabilityConfig; - - private Category category; - - private ExpiryConfig expiryConfig; - private Map extraParams; - private String name; + private Instant timestamp; - private Long priority; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant + public ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.EndsAt build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Add - .CreditGrant( - this.amount, - this.applicabilityConfig, - this.category, - this.expiryConfig, - this.extraParams, - this.name, - this.priority); + return new ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .EndsAt(this.extraParams, this.timestamp, this.type); } - /** Required. The amount of the credit grant. */ - public Builder setAmount( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.Amount - amount) { - this.amount = amount; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.EndsAt#extraParams} + * for the 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. Defines the scope where the credit grant is applicable. + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.EndsAt#extraParams} + * for the field documentation. */ - public Builder setApplicabilityConfig( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ApplicabilityConfig - applicabilityConfig) { - this.applicabilityConfig = applicabilityConfig; + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); return this; } - /** The category of the credit grant. */ - public Builder setCategory( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.Category - category) { - this.category = category; + /** + * The timestamp when the item ends. Required if {@code type} is {@code timestamp}. + */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; return this; } - /** Required. The expiry configuration for the credit grant. */ - public Builder setExpiryConfig( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ExpiryConfig - expiryConfig) { - this.expiryConfig = expiryConfig; + /** Required. The type of the ends_at. */ + public Builder setType( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.EndsAt.Type + type) { + this.type = type; return this; } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("contract_end") + CONTRACT_END("contract_end"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OverwritePrice { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Defines whether the tiered price should be graduated or volume-based. */ + @SerializedName("tiering_mode") + TieringMode tieringMode; + + /** Each element represents a pricing tier. */ + @SerializedName("tiers") + List< + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier> + tiers; + + /** + * The per-unit amount to be charged, represented as a decimal string in minor currency + * units. + */ + @SerializedName("unit_amount") + String unitAmount; + + private OverwritePrice( + Map extraParams, + TieringMode tieringMode, + List< + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier> + tiers, + String unitAmount) { + this.extraParams = extraParams; + this.tieringMode = tieringMode; + this.tiers = tiers; + this.unitAmount = unitAmount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private TieringMode tieringMode; + + private List< + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier> + tiers; + + private String unitAmount; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice + build() { + return new ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice( + this.extraParams, this.tieringMode, this.tiers, this.unitAmount); + } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant#extraParams} + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.OverwritePrice#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -2035,7 +2454,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 - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant#extraParams} + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.OverwritePrice#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -2046,25 +2465,65 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. A descriptive name. */ - public Builder setName(String name) { - this.name = name; + /** Defines whether the tiered price should be graduated or volume-based. */ + public Builder setTieringMode( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.TieringMode + tieringMode) { + this.tieringMode = tieringMode; + return this; + } + + /** + * Add an element to `tiers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See + * {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.OverwritePrice#tiers} + * for the field documentation. + */ + public Builder addTier( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier + element) { + if (this.tiers == null) { + this.tiers = new ArrayList<>(); + } + this.tiers.add(element); + return this; + } + + /** + * Add all elements to `tiers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See + * {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.OverwritePrice#tiers} + * for the field documentation. + */ + public Builder addAllTier( + List< + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier> + elements) { + if (this.tiers == null) { + this.tiers = new ArrayList<>(); + } + this.tiers.addAll(elements); return this; } /** - * The desired priority for applying this credit grant. The highest priority is 0 and - * the lowest is 100. + * The per-unit amount to be charged, represented as a decimal string in minor + * currency units. */ - public Builder setPriority(Long priority) { - this.priority = priority; + public Builder setUnitAmount(String unitAmount) { + this.unitAmount = unitAmount; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Amount { + public static class Tier { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -2076,21 +2535,37 @@ public static class Amount { Map extraParams; /** - * The monetary amount of the credit grant. Required if {@code type} is {@code - * monetary}. + * Price for the entire tier, represented as a decimal string in minor currency units. */ - @SerializedName("monetary") - com.stripe.v2.Amount monetary; - - /** Required. The type of the credit grant amount. */ - @SerializedName("type") - Type type; + @SerializedName("flat_amount") + String flatAmount; - private Amount( - Map extraParams, com.stripe.v2.Amount monetary, Type type) { + /** + * Per-unit price for units included in this tier, represented as a decimal string in + * minor currency units. + */ + @SerializedName("unit_amount") + String unitAmount; + + /** Up to and including this quantity will be contained in the tier. */ + @SerializedName("up_to_decimal") + BigDecimal upToDecimal; + + /** No upper bound to this tier. */ + @SerializedName("up_to_inf") + UpToInf upToInf; + + private Tier( + Map extraParams, + String flatAmount, + String unitAmount, + BigDecimal upToDecimal, + UpToInf upToInf) { this.extraParams = extraParams; - this.monetary = monetary; - this.type = type; + this.flatAmount = flatAmount; + this.unitAmount = unitAmount; + this.upToDecimal = upToDecimal; + this.upToInf = upToInf; } public static Builder builder() { @@ -2100,23 +2575,32 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private com.stripe.v2.Amount monetary; + private String flatAmount; + + private String unitAmount; - private Type type; + private BigDecimal upToDecimal; + + private UpToInf upToInf; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .Amount + public ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Add - .CreditGrant.Amount(this.extraParams, this.monetary, this.type); + return new ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier( + this.extraParams, + this.flatAmount, + this.unitAmount, + this.upToDecimal, + this.upToInf); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.Amount#extraParams} + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.OverwritePrice.Tier#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -2131,7 +2615,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 - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.Amount#extraParams} + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.OverwritePrice.Tier#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -2143,382 +2627,182 @@ public Builder putAllExtraParam(Map map) { } /** - * The monetary amount of the credit grant. Required if {@code type} is {@code - * monetary}. + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + public Builder setFlatAmount(String flatAmount) { + this.flatAmount = flatAmount; + return this; + } + + /** + * Per-unit price for units included in this tier, represented as a decimal string + * in minor currency units. */ - public Builder setMonetary(com.stripe.v2.Amount monetary) { - this.monetary = monetary; + public Builder setUnitAmount(String unitAmount) { + this.unitAmount = unitAmount; return this; } - /** Required. The type of the credit grant amount. */ - public Builder setType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.Amount - .Type - type) { - this.type = type; + /** Up to and including this quantity will be contained in the tier. */ + public Builder setUpToDecimal(BigDecimal upToDecimal) { + this.upToDecimal = upToDecimal; + return this; + } + + /** No upper bound to this tier. */ + public Builder setUpToInf( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier.UpToInf + upToInf) { + this.upToInf = upToInf; return this; } } - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("monetary") - MONETARY("monetary"); + public enum UpToInf implements ApiRequestParams.EnumParam { + @SerializedName("inf") + INF("inf"); @Getter(onMethod_ = {@Override}) private final String value; - Type(String value) { + UpToInf(String value) { this.value = value; } } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ApplicabilityConfig { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-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 applicability scope of the credit grant. */ - @SerializedName("scope") - Scope scope; - - private ApplicabilityConfig(Map extraParams, Scope scope) { - this.extraParams = extraParams; - this.scope = scope; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Scope scope; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ApplicabilityConfig - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Add - .CreditGrant.ApplicabilityConfig(this.extraParams, this.scope); - } + public enum TieringMode implements ApiRequestParams.EnumParam { + @SerializedName("graduated") + GRADUATED("graduated"), - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ApplicabilityConfig#extraParams} - * for the 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("volume") + VOLUME("volume"); - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ApplicabilityConfig#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** Required. The applicability scope of the credit grant. */ - public Builder setScope( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ApplicabilityConfig.Scope - scope) { - this.scope = scope; - return this; - } + TieringMode(String value) { + this.value = value; } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Scope { - /** The billable items to apply the credit grant to. */ - @SerializedName("billable_items") - List billableItems; - - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 price type that credit grants can apply to. */ - @SerializedName("price_type") - PriceType priceType; - - private Scope( - List billableItems, - Map extraParams, - PriceType priceType) { - this.billableItems = billableItems; - this.extraParams = extraParams; - this.priceType = priceType; - } - - public static Builder builder() { - return new Builder(); - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StartsAt { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 List billableItems; + /** + * The timestamp when the item starts. Required if {@code type} is {@code timestamp}. + */ + @SerializedName("timestamp") + Instant timestamp; - private Map extraParams; + /** Required. The type of the starts_at. */ + @SerializedName("type") + Type type; - private PriceType priceType; + private StartsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ApplicabilityConfig.Scope - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Add - .CreditGrant.ApplicabilityConfig.Scope( - this.billableItems, this.extraParams, this.priceType); - } + public static Builder builder() { + return new Builder(); + } - /** - * Add an element to `billableItems` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the - * original list. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ApplicabilityConfig.Scope#billableItems} - * for the field documentation. - */ - public Builder addBillableItem(String element) { - if (this.billableItems == null) { - this.billableItems = new ArrayList<>(); - } - this.billableItems.add(element); - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add all elements to `billableItems` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the - * original list. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ApplicabilityConfig.Scope#billableItems} - * for the field documentation. - */ - public Builder addAllBillableItem(List elements) { - if (this.billableItems == null) { - this.billableItems = new ArrayList<>(); - } - this.billableItems.addAll(elements); - return this; - } + private Instant timestamp; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ApplicabilityConfig.Scope#extraParams} - * for the 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 Type type; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ApplicabilityConfig.Scope#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 ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.StartsAt + build() { + return new ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride + .StartsAt(this.extraParams, this.timestamp, this.type); + } - /** The price type that credit grants can apply to. */ - public Builder setPriceType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ApplicabilityConfig.Scope.PriceType - priceType) { - this.priceType = priceType; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.StartsAt#extraParams} + * for the 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 PriceType implements ApiRequestParams.EnumParam { - @SerializedName("metered") - METERED("metered"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - PriceType(String value) { - this.value = value; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.StartsAt#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 ExpiryConfig { /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-level field (serialized) name in this param object. Effectively, this - * map is flattened to its parent instance. + * The timestamp when the item starts. Required if {@code type} is {@code timestamp}. */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The type of the expiry configuration. */ - @SerializedName("type") - Type type; + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } - private ExpiryConfig(Map extraParams, Type type) { - this.extraParams = extraParams; + /** Required. The type of the starts_at. */ + public Builder setType( + ContractCreateParams.PricingLine.Pricing.PriceDetails.PricingOverride.StartsAt + .Type + type) { this.type = type; + return this; } + } - public static Builder builder() { - return new Builder(); - } + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("contract_start") + CONTRACT_START("contract_start"), - public static class Builder { - private Map extraParams; + @SerializedName("timestamp") + TIMESTAMP("timestamp"); - private Type type; + @Getter(onMethod_ = {@Override}) + private final String value; - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ExpiryConfig - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Add - .CreditGrant.ExpiryConfig(this.extraParams, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ExpiryConfig#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant.ExpiryConfig#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The type of the expiry configuration. */ - public Builder setType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Add.CreditGrant - .ExpiryConfig.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("end_of_service_period") - END_OF_SERVICE_PERIOD("end_of_service_period"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - public enum Category implements ApiRequestParams.EnumParam { - @SerializedName("paid") - PAID("paid"), - - @SerializedName("promotional") - PROMOTIONAL("promotional"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Category(String value) { - this.value = value; - } - } - } - - public enum ServiceInterval implements ApiRequestParams.EnumParam { - @SerializedName("day") - DAY("day"), - - @SerializedName("month") - MONTH("month"), - - @SerializedName("week") - WEEK("week"), - - @SerializedName("year") - YEAR("year"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - ServiceInterval(String value) { - this.value = value; - } - } + Type(String value) { + this.value = value; + } + } + } public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("credit_grant") - CREDIT_GRANT("credit_grant"); + @SerializedName("overwrite_price") + OVERWRITE_PRICE("overwrite_price"); @Getter(onMethod_ = {@Override}) private final String value; @@ -2531,10 +2815,10 @@ public enum Type implements ApiRequestParams.EnumParam { @Getter @EqualsAndHashCode(callSuper = false) - public static class Replace { - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ - @SerializedName("credit_grant") - CreditGrant creditGrant; + public static class QuantityChange { + /** Required. When this quantity change takes effect. */ + @SerializedName("effective_at") + EffectiveAt effectiveAt; /** * Map of extra parameters for custom features not available in this client library. The @@ -2546,41 +2830,15 @@ public static class Replace { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The ID of the service action to replace. */ - @SerializedName("id") - String id; + /** Required. The quantity to set. */ + @SerializedName("set") + BigDecimal set; - /** The lookup key for the service action to replace. */ - @SerializedName("lookup_key") - String lookupKey; - - /** Required. The interval for assessing service. */ - @SerializedName("service_interval") - ServiceInterval serviceInterval; - - /** Required. The length of the interval for assessing service. */ - @SerializedName("service_interval_count") - Long serviceIntervalCount; - - /** Required. The type of the service action. */ - @SerializedName("type") - Type type; - - private Replace( - CreditGrant creditGrant, - Map extraParams, - String id, - String lookupKey, - ServiceInterval serviceInterval, - Long serviceIntervalCount, - Type type) { - this.creditGrant = creditGrant; + private QuantityChange( + EffectiveAt effectiveAt, Map extraParams, BigDecimal set) { + this.effectiveAt = effectiveAt; this.extraParams = extraParams; - this.id = id; - this.lookupKey = lookupKey; - this.serviceInterval = serviceInterval; - this.serviceIntervalCount = serviceIntervalCount; - this.type = type; + this.set = set; } public static Builder builder() { @@ -2588,3050 +2846,23 @@ public static Builder builder() { } public static class Builder { - private CreditGrant creditGrant; + private EffectiveAt effectiveAt; private Map extraParams; - private String id; - - private String lookupKey; - - private ServiceInterval serviceInterval; - - private Long serviceIntervalCount; - - private Type type; + private BigDecimal set; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace( - this.creditGrant, - this.extraParams, - this.id, - this.lookupKey, - this.serviceInterval, - this.serviceIntervalCount, - this.type); - } - - /** Details for the credit grant. Required if {@code type} is {@code credit_grant}. */ - public Builder setCreditGrant( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - creditGrant) { - this.creditGrant = creditGrant; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** The ID of the service action to replace. */ - public Builder setId(String id) { - this.id = id; - return this; - } - - /** The lookup key for the service action to replace. */ - public Builder setLookupKey(String lookupKey) { - this.lookupKey = lookupKey; - return this; - } - - /** Required. The interval for assessing service. */ - public Builder setServiceInterval( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.ServiceInterval - serviceInterval) { - this.serviceInterval = serviceInterval; - return this; - } - - /** Required. The length of the interval for assessing service. */ - public Builder setServiceIntervalCount(Long serviceIntervalCount) { - this.serviceIntervalCount = serviceIntervalCount; - return this; - } - - /** Required. The type of the service action. */ - public Builder setType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CreditGrant { - /** Required. The amount of the credit grant. */ - @SerializedName("amount") - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Overrides.ServiceAction - .Replace.CreditGrant.Amount - amount; - - /** - * Required. Defines the scope where the credit grant is applicable. - */ - @SerializedName("applicability_config") - ApplicabilityConfig applicabilityConfig; - - /** The category of the credit grant. */ - @SerializedName("category") - Category category; - - /** Required. The expiry configuration for the credit grant. */ - @SerializedName("expiry_config") - ExpiryConfig expiryConfig; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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 descriptive name. */ - @SerializedName("name") - String name; - - /** - * The desired priority for applying this credit grant. The highest priority is 0 and - * the lowest is 100. - */ - @SerializedName("priority") - Long priority; - - private CreditGrant( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Overrides - .ServiceAction.Replace.CreditGrant.Amount - amount, - ApplicabilityConfig applicabilityConfig, - Category category, - ExpiryConfig expiryConfig, - Map extraParams, - String name, - Long priority) { - this.amount = amount; - this.applicabilityConfig = applicabilityConfig; - this.category = category; - this.expiryConfig = expiryConfig; - this.extraParams = extraParams; - this.name = name; - this.priority = priority; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Overrides - .ServiceAction.Replace.CreditGrant.Amount - amount; - - private ApplicabilityConfig applicabilityConfig; - - private Category category; - - private ExpiryConfig expiryConfig; - - private Map extraParams; - - private String name; - - private Long priority; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace - .CreditGrant( - this.amount, - this.applicabilityConfig, - this.category, - this.expiryConfig, - this.extraParams, - this.name, - this.priority); - } - - /** Required. The amount of the credit grant. */ - public Builder setAmount( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .Amount - amount) { - this.amount = amount; - return this; - } - - /** - * Required. Defines the scope where the credit grant is applicable. - */ - public Builder setApplicabilityConfig( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .ApplicabilityConfig - applicabilityConfig) { - this.applicabilityConfig = applicabilityConfig; - return this; - } - - /** The category of the credit grant. */ - public Builder setCategory( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .Category - category) { - this.category = category; - return this; - } - - /** Required. The expiry configuration for the credit grant. */ - public Builder setExpiryConfig( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .ExpiryConfig - expiryConfig) { - this.expiryConfig = expiryConfig; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. A descriptive name. */ - public Builder setName(String name) { - this.name = name; - return this; - } - - /** - * The desired priority for applying this credit grant. The highest priority is 0 and - * the lowest is 100. - */ - public Builder setPriority(Long priority) { - this.priority = priority; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Amount { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-level field (serialized) name in this param object. Effectively, this - * map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * The monetary amount of the credit grant. Required if {@code type} is {@code - * monetary}. - */ - @SerializedName("monetary") - com.stripe.v2.Amount monetary; - - /** Required. The type of the credit grant amount. */ - @SerializedName("type") - Type type; - - private Amount( - Map extraParams, com.stripe.v2.Amount monetary, Type type) { - this.extraParams = extraParams; - this.monetary = monetary; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private com.stripe.v2.Amount monetary; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .Amount - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace - .CreditGrant.Amount(this.extraParams, this.monetary, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.Amount#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.Amount#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 monetary amount of the credit grant. Required if {@code type} is {@code - * monetary}. - */ - public Builder setMonetary(com.stripe.v2.Amount monetary) { - this.monetary = monetary; - return this; - } - - /** Required. The type of the credit grant amount. */ - public Builder setType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .Amount.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("monetary") - MONETARY("monetary"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ApplicabilityConfig { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-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 applicability scope of the credit grant. */ - @SerializedName("scope") - Scope scope; - - private ApplicabilityConfig(Map extraParams, Scope scope) { - this.extraParams = extraParams; - this.scope = scope; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Scope scope; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .ApplicabilityConfig - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace - .CreditGrant.ApplicabilityConfig(this.extraParams, this.scope); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ApplicabilityConfig#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ApplicabilityConfig#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 applicability scope of the credit grant. */ - public Builder setScope( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .ApplicabilityConfig.Scope - scope) { - this.scope = scope; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Scope { - /** The billable items to apply the credit grant to. */ - @SerializedName("billable_items") - List billableItems; - - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 price type that credit grants can apply to. */ - @SerializedName("price_type") - PriceType priceType; - - private Scope( - List billableItems, - Map extraParams, - PriceType priceType) { - this.billableItems = billableItems; - this.extraParams = extraParams; - this.priceType = priceType; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List billableItems; - - private Map extraParams; - - private PriceType priceType; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace - .CreditGrant.ApplicabilityConfig.Scope - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace - .CreditGrant.ApplicabilityConfig.Scope( - this.billableItems, this.extraParams, this.priceType); - } - - /** - * Add an element to `billableItems` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the - * original list. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ApplicabilityConfig.Scope#billableItems} - * for the field documentation. - */ - public Builder addBillableItem(String element) { - if (this.billableItems == null) { - this.billableItems = new ArrayList<>(); - } - this.billableItems.add(element); - return this; - } - - /** - * Add all elements to `billableItems` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the - * original list. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ApplicabilityConfig.Scope#billableItems} - * for the field documentation. - */ - public Builder addAllBillableItem(List elements) { - if (this.billableItems == null) { - this.billableItems = new ArrayList<>(); - } - this.billableItems.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 - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ApplicabilityConfig.Scope#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ApplicabilityConfig.Scope#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 price type that credit grants can apply to. */ - public Builder setPriceType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .ApplicabilityConfig.Scope.PriceType - priceType) { - this.priceType = priceType; - return this; - } - } - - public enum PriceType implements ApiRequestParams.EnumParam { - @SerializedName("metered") - METERED("metered"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - PriceType(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ExpiryConfig { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-level field (serialized) name in this param object. Effectively, this - * map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The type of the expiry configuration. */ - @SerializedName("type") - Type type; - - private ExpiryConfig(Map extraParams, Type type) { - this.extraParams = extraParams; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .ExpiryConfig - build() { - return new ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace - .CreditGrant.ExpiryConfig(this.extraParams, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ExpiryConfig#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant.ExpiryConfig#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The type of the expiry configuration. */ - public Builder setType( - ContractCreateParams.ContractLine.Overrides.ServiceAction.Replace.CreditGrant - .ExpiryConfig.Type - type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("end_of_service_period") - END_OF_SERVICE_PERIOD("end_of_service_period"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - public enum Category implements ApiRequestParams.EnumParam { - @SerializedName("paid") - PAID("paid"), - - @SerializedName("promotional") - PROMOTIONAL("promotional"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Category(String value) { - this.value = value; - } - } - } - - public enum ServiceInterval implements ApiRequestParams.EnumParam { - @SerializedName("day") - DAY("day"), - - @SerializedName("month") - MONTH("month"), - - @SerializedName("week") - WEEK("week"), - - @SerializedName("year") - YEAR("year"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - ServiceInterval(String value) { - this.value = value; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("credit_grant") - CREDIT_GRANT("credit_grant"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("add") - ADD("add"), - - @SerializedName("replace") - REPLACE("replace"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StartsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item starts. */ - @SerializedName("timestamp") - Instant timestamp; - - private StartsAt(Map extraParams, Instant timestamp) { - this.extraParams = extraParams; - this.timestamp = timestamp; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Instant timestamp; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Overrides.StartsAt build() { - return new ContractCreateParams.ContractLine.Overrides.StartsAt( - this.extraParams, this.timestamp); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.Overrides.StartsAt#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.Overrides.StartsAt#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 timestamp when the item starts. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("service_action") - SERVICE_ACTION("service_action"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Pricing { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 Pricing(Map extraParams) { - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.Pricing build() { - return new ContractCreateParams.ContractLine.Pricing(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 ContractCreateParams.ContractLine.Pricing#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.Pricing#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 StartsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item starts. */ - @SerializedName("timestamp") - Instant timestamp; - - private StartsAt(Map extraParams, Instant timestamp) { - this.extraParams = extraParams; - this.timestamp = timestamp; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Instant timestamp; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.ContractLine.StartsAt build() { - return new ContractCreateParams.ContractLine.StartsAt(this.extraParams, this.timestamp); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.StartsAt#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.ContractLine.StartsAt#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 timestamp when the item starts. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class LicenseQuantityAction { - /** Required. The effective at for the license quantity action. */ - @SerializedName("effective_at") - EffectiveAt effectiveAt; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** The ID of the license pricing. */ - @SerializedName("license_pricing_id") - String licensePricingId; - - /** The lookup key for the license pricing. */ - @SerializedName("license_pricing_lookup_key") - String licensePricingLookupKey; - - /** Required. The type of the license pricing. */ - @SerializedName("license_pricing_type") - LicensePricingType licensePricingType; - - /** The pricing line for the license quantity action. */ - @SerializedName("pricing_line") - String pricingLine; - - /** The set quantity for the license quantity action. */ - @SerializedName("set") - Set set; - - /** Required. The type of the license quantity action. */ - @SerializedName("type") - Type type; - - private LicenseQuantityAction( - EffectiveAt effectiveAt, - Map extraParams, - String licensePricingId, - String licensePricingLookupKey, - LicensePricingType licensePricingType, - String pricingLine, - Set set, - Type type) { - this.effectiveAt = effectiveAt; - this.extraParams = extraParams; - this.licensePricingId = licensePricingId; - this.licensePricingLookupKey = licensePricingLookupKey; - this.licensePricingType = licensePricingType; - this.pricingLine = pricingLine; - this.set = set; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private EffectiveAt effectiveAt; - - private Map extraParams; - - private String licensePricingId; - - private String licensePricingLookupKey; - - private LicensePricingType licensePricingType; - - private String pricingLine; - - private Set set; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.LicenseQuantityAction build() { - return new ContractCreateParams.LicenseQuantityAction( - this.effectiveAt, - this.extraParams, - this.licensePricingId, - this.licensePricingLookupKey, - this.licensePricingType, - this.pricingLine, - this.set, - this.type); - } - - /** Required. The effective at for the license quantity action. */ - public Builder setEffectiveAt( - ContractCreateParams.LicenseQuantityAction.EffectiveAt effectiveAt) { - this.effectiveAt = effectiveAt; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.LicenseQuantityAction#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link ContractCreateParams.LicenseQuantityAction#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** The ID of the license pricing. */ - public Builder setLicensePricingId(String licensePricingId) { - this.licensePricingId = licensePricingId; - return this; - } - - /** The lookup key for the license pricing. */ - public Builder setLicensePricingLookupKey(String licensePricingLookupKey) { - this.licensePricingLookupKey = licensePricingLookupKey; - return this; - } - - /** Required. The type of the license pricing. */ - public Builder setLicensePricingType( - ContractCreateParams.LicenseQuantityAction.LicensePricingType licensePricingType) { - this.licensePricingType = licensePricingType; - return this; - } - - /** The pricing line for the license quantity action. */ - public Builder setPricingLine(String pricingLine) { - this.pricingLine = pricingLine; - return this; - } - - /** The set quantity for the license quantity action. */ - public Builder setSet(ContractCreateParams.LicenseQuantityAction.Set set) { - this.set = set; - return this; - } - - /** Required. The type of the license quantity action. */ - public Builder setType(ContractCreateParams.LicenseQuantityAction.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EffectiveAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 timestamp for the effective at. */ - @SerializedName("timestamp") - Instant timestamp; - - /** Required. The type of the effective at. */ - @SerializedName("type") - Type type; - - private EffectiveAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Instant timestamp; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.LicenseQuantityAction.EffectiveAt build() { - return new ContractCreateParams.LicenseQuantityAction.EffectiveAt( - this.extraParams, this.timestamp, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.LicenseQuantityAction.EffectiveAt#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.LicenseQuantityAction.EffectiveAt#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 timestamp for the effective at. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } - - /** Required. The type of the effective at. */ - public Builder setType(ContractCreateParams.LicenseQuantityAction.EffectiveAt.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("timestamp") - TIMESTAMP("timestamp"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Set { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 quantity to set. */ - @SerializedName("quantity") - Long quantity; - - private Set(Map extraParams, Long quantity) { - this.extraParams = extraParams; - this.quantity = quantity; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Long quantity; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.LicenseQuantityAction.Set build() { - return new ContractCreateParams.LicenseQuantityAction.Set( - this.extraParams, this.quantity); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.LicenseQuantityAction.Set#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.LicenseQuantityAction.Set#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 quantity to set. */ - public Builder setQuantity(Long quantity) { - this.quantity = quantity; - return this; - } - } - } - - public enum LicensePricingType implements ApiRequestParams.EnumParam { - @SerializedName("license_fee") - LICENSE_FEE("license_fee"), - - @SerializedName("price") - PRICE("price"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - LicensePricingType(String value) { - this.value = value; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("set") - SET("set"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class OneTimeFee { - /** - * Required. The bill schedule for the fee. Each entry produces an individual - * invoice item billed at {@code bill_at}. - */ - @SerializedName("bill_schedule") - List billSchedule; - - /** Required. The type of billable item that this fee references. */ - @SerializedName("billable_item_type") - BillableItemType billableItemType; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-level field (serialized) name in this - * param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * Details for a product billable target. Required when {@code billable_item_type} is {@code - * product}. - */ - @SerializedName("product_details") - ProductDetails productDetails; - - private OneTimeFee( - List billSchedule, - BillableItemType billableItemType, - Map extraParams, - ProductDetails productDetails) { - this.billSchedule = billSchedule; - this.billableItemType = billableItemType; - this.extraParams = extraParams; - this.productDetails = productDetails; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List billSchedule; - - private BillableItemType billableItemType; - - private Map extraParams; - - private ProductDetails productDetails; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.OneTimeFee build() { - return new ContractCreateParams.OneTimeFee( - this.billSchedule, this.billableItemType, this.extraParams, this.productDetails); - } - - /** - * Add an element to `billSchedule` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.OneTimeFee#billSchedule} for the field documentation. - */ - public Builder addBillSchedule(ContractCreateParams.OneTimeFee.BillSchedule element) { - if (this.billSchedule == null) { - this.billSchedule = new ArrayList<>(); - } - this.billSchedule.add(element); - return this; - } - - /** - * Add all elements to `billSchedule` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.OneTimeFee#billSchedule} for the field documentation. - */ - public Builder addAllBillSchedule( - List elements) { - if (this.billSchedule == null) { - this.billSchedule = new ArrayList<>(); - } - this.billSchedule.addAll(elements); - return this; - } - - /** Required. The type of billable item that this fee references. */ - public Builder setBillableItemType( - ContractCreateParams.OneTimeFee.BillableItemType billableItemType) { - this.billableItemType = billableItemType; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.OneTimeFee#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link ContractCreateParams.OneTimeFee#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 for a product billable target. Required when {@code billable_item_type} is {@code - * product}. - */ - public Builder setProductDetails( - ContractCreateParams.OneTimeFee.ProductDetails productDetails) { - this.productDetails = productDetails; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BillSchedule { - /** Required. When this entry should be billed. */ - @SerializedName("bill_at") - BillAt billAt; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 amount to bill for this entry, in the smallest currency - * unit. - */ - @SerializedName("value") - @JsonAdapter(StringInt64TypeAdapter.class) - Long value; - - private BillSchedule(BillAt billAt, Map extraParams, Long value) { - this.billAt = billAt; - this.extraParams = extraParams; - this.value = value; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BillAt billAt; - - private Map extraParams; - - private Long value; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.OneTimeFee.BillSchedule build() { - return new ContractCreateParams.OneTimeFee.BillSchedule( - this.billAt, this.extraParams, this.value); - } - - /** Required. When this entry should be billed. */ - public Builder setBillAt(ContractCreateParams.OneTimeFee.BillSchedule.BillAt billAt) { - this.billAt = billAt; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.OneTimeFee.BillSchedule#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.OneTimeFee.BillSchedule#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 amount to bill for this entry, in the smallest currency - * unit. - */ - public Builder setValue(Long value) { - this.value = value; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class BillAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 datetime at which the entry should be billed. Required if {@code type} is {@code - * datetime}. - */ - @SerializedName("timestamp") - Instant timestamp; - - /** Required. The type of the bill_at. */ - @SerializedName("type") - Type type; - - private BillAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Instant timestamp; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.OneTimeFee.BillSchedule.BillAt build() { - return new ContractCreateParams.OneTimeFee.BillSchedule.BillAt( - this.extraParams, this.timestamp, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.OneTimeFee.BillSchedule.BillAt#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.OneTimeFee.BillSchedule.BillAt#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 datetime at which the entry should be billed. Required if {@code type} is {@code - * datetime}. - */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } - - /** Required. The type of the bill_at. */ - public Builder setType(ContractCreateParams.OneTimeFee.BillSchedule.BillAt.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("contract_start") - CONTRACT_START("contract_start"), - - @SerializedName("datetime") - DATETIME("datetime"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class ProductDetails { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The ID of the v1 Product. */ - @SerializedName("product") - String product; - - private ProductDetails(Map extraParams, String product) { - this.extraParams = extraParams; - this.product = product; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private String product; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.OneTimeFee.ProductDetails build() { - return new ContractCreateParams.OneTimeFee.ProductDetails(this.extraParams, this.product); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.OneTimeFee.ProductDetails#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.OneTimeFee.ProductDetails#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The ID of the v1 Product. */ - public Builder setProduct(String product) { - this.product = product; - return this; - } - } - } - - public enum BillableItemType implements ApiRequestParams.EnumParam { - @SerializedName("product") - PRODUCT("product"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - BillableItemType(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PricingLine { - /** Required. When the pricing line ends. */ - @SerializedName("ends_at") - EndsAt endsAt; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 user-provided lookup key to reference this pricing line. */ - @SerializedName("lookup_key") - String lookupKey; - - /** Set of key-value pairs that you can attach to an object. */ - @SerializedName("metadata") - Map metadata; - - /** Required. The pricing configuration for the pricing line. */ - @SerializedName("pricing") - Pricing pricing; - - /** Required. When the pricing line starts. */ - @SerializedName("starts_at") - StartsAt startsAt; - - private PricingLine( - EndsAt endsAt, - Map extraParams, - String lookupKey, - Map metadata, - Pricing pricing, - StartsAt startsAt) { - this.endsAt = endsAt; - this.extraParams = extraParams; - this.lookupKey = lookupKey; - this.metadata = metadata; - this.pricing = pricing; - this.startsAt = startsAt; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private EndsAt endsAt; - - private Map extraParams; - - private String lookupKey; - - private Map metadata; - - private Pricing pricing; - - private StartsAt startsAt; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingLine build() { - return new ContractCreateParams.PricingLine( - this.endsAt, - this.extraParams, - this.lookupKey, - this.metadata, - this.pricing, - this.startsAt); - } - - /** Required. When the pricing line ends. */ - public Builder setEndsAt(ContractCreateParams.PricingLine.EndsAt endsAt) { - this.endsAt = endsAt; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.PricingLine#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link ContractCreateParams.PricingLine#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 user-provided lookup key to reference this pricing line. */ - public Builder setLookupKey(String lookupKey) { - this.lookupKey = lookupKey; - return this; - } - - /** - * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.PricingLine#metadata} for the field documentation. - */ - public Builder putMetadata(String key, String value) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `metadata` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link ContractCreateParams.PricingLine#metadata} for the field documentation. - */ - public Builder putAllMetadata(Map map) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.putAll(map); - return this; - } - - /** Required. The pricing configuration for the pricing line. */ - public Builder setPricing(ContractCreateParams.PricingLine.Pricing pricing) { - this.pricing = pricing; - return this; - } - - /** Required. When the pricing line starts. */ - public Builder setStartsAt(ContractCreateParams.PricingLine.StartsAt startsAt) { - this.startsAt = startsAt; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ - @SerializedName("timestamp") - Instant timestamp; - - /** Required. The type of the ends_at. */ - @SerializedName("type") - Type type; - - private EndsAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Instant timestamp; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingLine.EndsAt build() { - return new ContractCreateParams.PricingLine.EndsAt( - this.extraParams, this.timestamp, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.EndsAt#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.EndsAt#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 timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } - - /** Required. The type of the ends_at. */ - public Builder setType(ContractCreateParams.PricingLine.EndsAt.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("contract_end") - CONTRACT_END("contract_end"), - - @SerializedName("timestamp") - TIMESTAMP("timestamp"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Pricing { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** V1 price details. Required if {@code type} is {@code price}. */ - @SerializedName("price_details") - PriceDetails priceDetails; - - /** Required. The type of pricing. */ - @SerializedName("type") - Type type; - - private Pricing(Map extraParams, PriceDetails priceDetails, Type type) { - this.extraParams = extraParams; - this.priceDetails = priceDetails; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private PriceDetails priceDetails; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingLine.Pricing build() { - return new ContractCreateParams.PricingLine.Pricing( - this.extraParams, this.priceDetails, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.Pricing#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.Pricing#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** V1 price details. Required if {@code type} is {@code price}. */ - public Builder setPriceDetails( - ContractCreateParams.PricingLine.Pricing.PriceDetails priceDetails) { - this.priceDetails = priceDetails; - return this; - } - - /** Required. The type of pricing. */ - public Builder setType(ContractCreateParams.PricingLine.Pricing.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PriceDetails { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Required. The ID of the V1 price. */ - @SerializedName("price") - String price; - - /** The quantity for the price. Only applicable for licensed prices. */ - @SerializedName("quantity") - Long quantity; - - private PriceDetails(Map extraParams, String price, Long quantity) { - this.extraParams = extraParams; - this.price = price; - this.quantity = quantity; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private String price; - - private Long quantity; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingLine.Pricing.PriceDetails build() { - return new ContractCreateParams.PricingLine.Pricing.PriceDetails( - this.extraParams, this.price, this.quantity); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.Pricing.PriceDetails#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Required. The ID of the V1 price. */ - public Builder setPrice(String price) { - this.price = price; - return this; - } - - /** The quantity for the price. Only applicable for licensed prices. */ - public Builder setQuantity(Long quantity) { - this.quantity = quantity; - return this; - } - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("price") - PRICE("price"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StartsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item starts. Required if {@code type} is {@code timestamp}. */ - @SerializedName("timestamp") - Instant timestamp; - - /** Required. The type of the starts_at. */ - @SerializedName("type") - Type type; - - private StartsAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Instant timestamp; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingLine.StartsAt build() { - return new ContractCreateParams.PricingLine.StartsAt( - this.extraParams, this.timestamp, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.StartsAt#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingLine.StartsAt#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 timestamp when the item starts. Required if {@code type} is {@code timestamp}. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } - - /** Required. The type of the starts_at. */ - public Builder setType(ContractCreateParams.PricingLine.StartsAt.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("contract_start") - CONTRACT_START("contract_start"), - - @SerializedName("timestamp") - TIMESTAMP("timestamp"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PricingOverride { - /** Required. When the pricing override ends. */ - @SerializedName("ends_at") - EndsAt endsAt; - - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 user-provided lookup key to reference this pricing override. */ - @SerializedName("lookup_key") - String lookupKey; - - /** Parameters for a multiplier override. Required if {@code type} is {@code multiplier}. */ - @SerializedName("multiplier") - Multiplier multiplier; - - /** - * Parameters for an overwrite_price override. Required if {@code type} is {@code - * overwrite_price}. - */ - @SerializedName("overwrite_price") - OverwritePrice overwritePrice; - - /** - * Required. The priority of this override relative to others. The highest - * priority is 0 and the lowest is 100. - */ - @SerializedName("priority") - Long priority; - - /** Required. When the pricing override starts. */ - @SerializedName("starts_at") - StartsAt startsAt; - - /** Required. The type of pricing override. */ - @SerializedName("type") - Type type; - - private PricingOverride( - EndsAt endsAt, - Map extraParams, - String lookupKey, - Multiplier multiplier, - OverwritePrice overwritePrice, - Long priority, - StartsAt startsAt, - Type type) { - this.endsAt = endsAt; - this.extraParams = extraParams; - this.lookupKey = lookupKey; - this.multiplier = multiplier; - this.overwritePrice = overwritePrice; - this.priority = priority; - this.startsAt = startsAt; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private EndsAt endsAt; - - private Map extraParams; - - private String lookupKey; - - private Multiplier multiplier; - - private OverwritePrice overwritePrice; - - private Long priority; - - private StartsAt startsAt; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride build() { - return new ContractCreateParams.PricingOverride( - this.endsAt, - this.extraParams, - this.lookupKey, - this.multiplier, - this.overwritePrice, - this.priority, - this.startsAt, - this.type); - } - - /** Required. When the pricing override ends. */ - public Builder setEndsAt(ContractCreateParams.PricingOverride.EndsAt endsAt) { - this.endsAt = endsAt; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractCreateParams.PricingOverride#extraParams} for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. - * See {@link ContractCreateParams.PricingOverride#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 user-provided lookup key to reference this pricing override. */ - public Builder setLookupKey(String lookupKey) { - this.lookupKey = lookupKey; - return this; - } - - /** Parameters for a multiplier override. Required if {@code type} is {@code multiplier}. */ - public Builder setMultiplier(ContractCreateParams.PricingOverride.Multiplier multiplier) { - this.multiplier = multiplier; - return this; - } - - /** - * Parameters for an overwrite_price override. Required if {@code type} is {@code - * overwrite_price}. - */ - public Builder setOverwritePrice( - ContractCreateParams.PricingOverride.OverwritePrice overwritePrice) { - this.overwritePrice = overwritePrice; - return this; - } - - /** - * Required. The priority of this override relative to others. The highest - * priority is 0 and the lowest is 100. - */ - public Builder setPriority(Long priority) { - this.priority = priority; - return this; - } - - /** Required. When the pricing override starts. */ - public Builder setStartsAt(ContractCreateParams.PricingOverride.StartsAt startsAt) { - this.startsAt = startsAt; - return this; - } - - /** Required. The type of pricing override. */ - public Builder setType(ContractCreateParams.PricingOverride.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ - @SerializedName("timestamp") - Instant timestamp; - - /** Required. The type of the ends_at. */ - @SerializedName("type") - Type type; - - private EndsAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Instant timestamp; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride.EndsAt build() { - return new ContractCreateParams.PricingOverride.EndsAt( - this.extraParams, this.timestamp, this.type); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingOverride.EndsAt#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingOverride.EndsAt#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 timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } - - /** Required. The type of the ends_at. */ - public Builder setType(ContractCreateParams.PricingOverride.EndsAt.Type type) { - this.type = type; - return this; - } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("contract_end") - CONTRACT_END("contract_end"), - - @SerializedName("timestamp") - TIMESTAMP("timestamp"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Multiplier { - /** Required. Criteria determining which rates the multiplier applies to. */ - @SerializedName("criteria") - List criteria; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 multiplier factor, represented as a decimal string. e.g. - * "0.8" for a 20% reduction. - */ - @SerializedName("factor") - String factor; - - private Multiplier( - List criteria, - Map extraParams, - String factor) { - this.criteria = criteria; - this.extraParams = extraParams; - this.factor = factor; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List criteria; - - private Map extraParams; - - private String factor; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride.Multiplier build() { - return new ContractCreateParams.PricingOverride.Multiplier( - this.criteria, this.extraParams, this.factor); - } - - /** - * Add an element to `criteria` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.PricingOverride.Multiplier#criteria} for the field documentation. - */ - public Builder addCriterion( - ContractCreateParams.PricingOverride.Multiplier.Criterion element) { - if (this.criteria == null) { - this.criteria = new ArrayList<>(); - } - this.criteria.add(element); - return this; - } - - /** - * Add all elements to `criteria` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.PricingOverride.Multiplier#criteria} for the field documentation. - */ - public Builder addAllCriterion( - List elements) { - if (this.criteria == null) { - this.criteria = new ArrayList<>(); - } - this.criteria.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 ContractCreateParams.PricingOverride.Multiplier#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingOverride.Multiplier#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 multiplier factor, represented as a decimal string. e.g. - * "0.8" for a 20% reduction. - */ - public Builder setFactor(String factor) { - this.factor = factor; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Criterion { - /** Required. Filter by billable item IDs. */ - @SerializedName("billable_item_ids") - List billableItemIds; - - /** Required. Filter by billable item lookup keys. */ - @SerializedName("billable_item_lookup_keys") - List billableItemLookupKeys; - - /** Required. Filter by billable item type. */ - @SerializedName("billable_item_types") - List - billableItemTypes; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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. Filter by metadata conditions. */ - @SerializedName("metadata_conditions") - List - metadataConditions; - - /** - * Required. Filter by rate card IDs. Only applicable for {@code - * multiplier} overrides. - */ - @SerializedName("rate_card_ids") - List rateCardIds; - - /** - * Required. Whether to include or exclude items matching these criteria. - */ - @SerializedName("type") - Type type; - - private Criterion( - List billableItemIds, - List billableItemLookupKeys, - List - billableItemTypes, - Map extraParams, - List - metadataConditions, - List rateCardIds, - Type type) { - this.billableItemIds = billableItemIds; - this.billableItemLookupKeys = billableItemLookupKeys; - this.billableItemTypes = billableItemTypes; - this.extraParams = extraParams; - this.metadataConditions = metadataConditions; - this.rateCardIds = rateCardIds; - this.type = type; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List billableItemIds; - - private List billableItemLookupKeys; - - private List - billableItemTypes; - - private Map extraParams; - - private List - metadataConditions; - - private List rateCardIds; - - private Type type; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride.Multiplier.Criterion build() { - return new ContractCreateParams.PricingOverride.Multiplier.Criterion( - this.billableItemIds, - this.billableItemLookupKeys, - this.billableItemTypes, - this.extraParams, - this.metadataConditions, - this.rateCardIds, - this.type); - } - - /** - * Add an element to `billableItemIds` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#billableItemIds} - * for the field documentation. - */ - public Builder addBillableItemId(String element) { - if (this.billableItemIds == null) { - this.billableItemIds = new ArrayList<>(); - } - this.billableItemIds.add(element); - return this; - } - - /** - * Add all elements to `billableItemIds` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#billableItemIds} - * for the field documentation. - */ - public Builder addAllBillableItemId(List elements) { - if (this.billableItemIds == null) { - this.billableItemIds = new ArrayList<>(); - } - this.billableItemIds.addAll(elements); - return this; - } - - /** - * Add an element to `billableItemLookupKeys` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion#billableItemLookupKeys} for - * the field documentation. - */ - public Builder addBillableItemLookupKey(String element) { - if (this.billableItemLookupKeys == null) { - this.billableItemLookupKeys = new ArrayList<>(); - } - this.billableItemLookupKeys.add(element); - return this; - } - - /** - * Add all elements to `billableItemLookupKeys` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion#billableItemLookupKeys} for - * the field documentation. - */ - public Builder addAllBillableItemLookupKey(List elements) { - if (this.billableItemLookupKeys == null) { - this.billableItemLookupKeys = new ArrayList<>(); - } - this.billableItemLookupKeys.addAll(elements); - return this; - } - - /** - * Add an element to `billableItemTypes` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#billableItemTypes} - * for the field documentation. - */ - public Builder addBillableItemType( - ContractCreateParams.PricingOverride.Multiplier.Criterion.BillableItemType element) { - if (this.billableItemTypes == null) { - this.billableItemTypes = new ArrayList<>(); - } - this.billableItemTypes.add(element); - return this; - } - - /** - * Add all elements to `billableItemTypes` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#billableItemTypes} - * for the field documentation. - */ - public Builder addAllBillableItemType( - List - elements) { - if (this.billableItemTypes == null) { - this.billableItemTypes = new ArrayList<>(); - } - this.billableItemTypes.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 ContractCreateParams.PricingOverride.Multiplier.Criterion#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#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 `metadataConditions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion#metadataConditions} for the - * field documentation. - */ - public Builder addMetadataCondition( - ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition element) { - if (this.metadataConditions == null) { - this.metadataConditions = new ArrayList<>(); - } - this.metadataConditions.add(element); - return this; - } - - /** - * Add all elements to `metadataConditions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion#metadataConditions} for the - * field documentation. - */ - public Builder addAllMetadataCondition( - List - elements) { - if (this.metadataConditions == null) { - this.metadataConditions = new ArrayList<>(); - } - this.metadataConditions.addAll(elements); - return this; - } - - /** - * Add an element to `rateCardIds` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion#rateCardIds} for the field - * documentation. - */ - public Builder addRateCardId(String element) { - if (this.rateCardIds == null) { - this.rateCardIds = new ArrayList<>(); - } - this.rateCardIds.add(element); - return this; - } - - /** - * Add all elements to `rateCardIds` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#rateCardIds} for - * the field documentation. - */ - public Builder addAllRateCardId(List elements) { - if (this.rateCardIds == null) { - this.rateCardIds = new ArrayList<>(); - } - this.rateCardIds.addAll(elements); - return this; - } - - /** - * Required. Whether to include or exclude items matching these criteria. - */ - public Builder setType( - ContractCreateParams.PricingOverride.Multiplier.Criterion.Type type) { - this.type = type; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MetadataCondition { - /** Required. All of these key-value conditions must match. */ - @SerializedName("all_of") - List - allOf; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 MetadataCondition( - List< - ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition - .AllOf> - allOf, - Map extraParams) { - this.allOf = allOf; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List< - ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition - .AllOf> - allOf; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition - build() { - return new ContractCreateParams.PricingOverride.Multiplier.Criterion - .MetadataCondition(this.allOf, this.extraParams); - } - - /** - * Add an element to `allOf` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition#allOf} - * for the field documentation. - */ - public Builder addAllOf( - ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition.AllOf - element) { - if (this.allOf == null) { - this.allOf = new ArrayList<>(); - } - this.allOf.add(element); - return this; + public ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange build() { + return new ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange( + this.effectiveAt, this.extraParams, this.set); } - /** - * Add all elements to `allOf` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition#allOf} - * for the field documentation. - */ - public Builder addAllAllOf( - List< - ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition - .AllOf> - elements) { - if (this.allOf == null) { - this.allOf = new ArrayList<>(); - } - this.allOf.addAll(elements); + /** Required. When this quantity change takes effect. */ + public Builder setEffectiveAt( + ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange.EffectiveAt + effectiveAt) { + this.effectiveAt = effectiveAt; return this; } @@ -5639,8 +2870,8 @@ public Builder addAllAllOf( * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition#extraParams} - * for the field documentation. + * ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange#extraParams} for + * the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5654,8 +2885,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 - * ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition#extraParams} - * for the field documentation. + * ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange#extraParams} for + * the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5664,11 +2895,17 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** Required. The quantity to set. */ + public Builder setSet(BigDecimal set) { + this.set = set; + return this; + } } @Getter @EqualsAndHashCode(callSuper = false) - public static class AllOf { + public static class EffectiveAt { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -5679,18 +2916,18 @@ public static class AllOf { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. The metadata key. */ - @SerializedName("key") - String key; + /** The timestamp for the effective at. */ + @SerializedName("timestamp") + Instant timestamp; - /** Required. The metadata value. */ - @SerializedName("value") - String value; + /** Required. The type of the effective at. */ + @SerializedName("type") + Type type; - private AllOf(Map extraParams, String key, String value) { + private EffectiveAt(Map extraParams, Instant timestamp, Type type) { this.extraParams = extraParams; - this.key = key; - this.value = value; + this.timestamp = timestamp; + this.type = type; } public static Builder builder() { @@ -5700,23 +2937,23 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String key; + private Instant timestamp; - private String value; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition - .AllOf + public ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange + .EffectiveAt build() { - return new ContractCreateParams.PricingOverride.Multiplier.Criterion - .MetadataCondition.AllOf(this.extraParams, this.key, this.value); + return new ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange + .EffectiveAt(this.extraParams, this.timestamp, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition.AllOf#extraParams} + * ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange.EffectiveAt#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -5731,7 +2968,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 - * ContractCreateParams.PricingOverride.Multiplier.Criterion.MetadataCondition.AllOf#extraParams} + * ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange.EffectiveAt#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -5742,56 +2979,307 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. The metadata key. */ - public Builder setKey(String key) { - this.key = key; + /** The timestamp for the effective at. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; return this; } - /** Required. The metadata value. */ - public Builder setValue(String value) { - this.value = value; + /** Required. The type of the effective at. */ + public Builder setType( + ContractCreateParams.PricingLine.Pricing.PriceDetails.QuantityChange.EffectiveAt + .Type + type) { + this.type = type; return this; } } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } } } + } - public enum BillableItemType implements ApiRequestParams.EnumParam { - @SerializedName("licensed") - LICENSED("licensed"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("price") + PRICE("price"); - @SerializedName("metered") - METERED("metered"); + @Getter(onMethod_ = {@Override}) + private final String value; - @Getter(onMethod_ = {@Override}) - private final String value; + Type(String value) { + this.value = value; + } + } + } - BillableItemType(String value) { - this.value = value; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StartsAt { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item starts. Required if {@code type} is {@code timestamp}. */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of the starts_at. */ + @SerializedName("type") + Type type; + + private StartsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.PricingLine.StartsAt build() { + return new ContractCreateParams.PricingLine.StartsAt( + this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.PricingLine.StartsAt#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.PricingLine.StartsAt#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 timestamp when the item starts. Required if {@code type} is {@code timestamp}. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of the starts_at. */ + public Builder setType(ContractCreateParams.PricingLine.StartsAt.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("contract_start") + CONTRACT_START("contract_start"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PricingOverride { + /** Required. When the pricing override ends. */ + @SerializedName("ends_at") + EndsAt endsAt; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 user-provided lookup key to reference this pricing override. */ + @SerializedName("lookup_key") + String lookupKey; + + /** Parameters for a multiplier override. Required if {@code type} is {@code multiplier}. */ + @SerializedName("multiplier") + Multiplier multiplier; + + /** + * Required. The priority of this override relative to others. The highest + * priority is 0 and the lowest is 100. + */ + @SerializedName("priority") + Long priority; + + /** Required. When the pricing override starts. */ + @SerializedName("starts_at") + StartsAt startsAt; + + /** Required. The type of pricing override. */ + @SerializedName("type") + Type type; + + private PricingOverride( + EndsAt endsAt, + Map extraParams, + String lookupKey, + Multiplier multiplier, + Long priority, + StartsAt startsAt, + Type type) { + this.endsAt = endsAt; + this.extraParams = extraParams; + this.lookupKey = lookupKey; + this.multiplier = multiplier; + this.priority = priority; + this.startsAt = startsAt; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private EndsAt endsAt; + + private Map extraParams; + + private String lookupKey; + + private Multiplier multiplier; + + private Long priority; + + private StartsAt startsAt; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.PricingOverride build() { + return new ContractCreateParams.PricingOverride( + this.endsAt, + this.extraParams, + this.lookupKey, + this.multiplier, + this.priority, + this.startsAt, + this.type); + } + + /** Required. When the pricing override ends. */ + public Builder setEndsAt(ContractCreateParams.PricingOverride.EndsAt endsAt) { + this.endsAt = endsAt; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ContractCreateParams.PricingOverride#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link ContractCreateParams.PricingOverride#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("exclude") - EXCLUDE("exclude"), + /** A user-provided lookup key to reference this pricing override. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; + return this; + } - @SerializedName("include") - INCLUDE("include"); + /** Parameters for a multiplier override. Required if {@code type} is {@code multiplier}. */ + public Builder setMultiplier(ContractCreateParams.PricingOverride.Multiplier multiplier) { + this.multiplier = multiplier; + return this; + } - @Getter(onMethod_ = {@Override}) - private final String value; + /** + * Required. The priority of this override relative to others. The highest + * priority is 0 and the lowest is 100. + */ + public Builder setPriority(Long priority) { + this.priority = priority; + return this; + } - Type(String value) { - this.value = value; - } - } + /** Required. When the pricing override starts. */ + public Builder setStartsAt(ContractCreateParams.PricingOverride.StartsAt startsAt) { + this.startsAt = startsAt; + return this; + } + + /** Required. The type of pricing override. */ + public Builder setType(ContractCreateParams.PricingOverride.Type type) { + this.type = type; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class OverwritePrice { + public static class EndsAt { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5801,35 +3289,18 @@ public static class OverwritePrice { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. The ID of the V1 price to overwrite. */ - @SerializedName("price") - String price; - - /** Defines whether the tiered price should be graduated or volume-based. */ - @SerializedName("tiering_mode") - TieringMode tieringMode; - - /** Each element represents a pricing tier. */ - @SerializedName("tiers") - List tiers; + /** The timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ + @SerializedName("timestamp") + Instant timestamp; - /** - * The per-unit amount to be charged, represented as a decimal string in minor currency units. - */ - @SerializedName("unit_amount") - String unitAmount; + /** Required. The type of the ends_at. */ + @SerializedName("type") + Type type; - private OverwritePrice( - Map extraParams, - String price, - TieringMode tieringMode, - List tiers, - String unitAmount) { + private EndsAt(Map extraParams, Instant timestamp, Type type) { this.extraParams = extraParams; - this.price = price; - this.tieringMode = tieringMode; - this.tiers = tiers; - this.unitAmount = unitAmount; + this.timestamp = timestamp; + this.type = type; } public static Builder builder() { @@ -5839,25 +3310,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String price; - - private TieringMode tieringMode; - - private List tiers; + private Instant timestamp; - private String unitAmount; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride.OverwritePrice build() { - return new ContractCreateParams.PricingOverride.OverwritePrice( - this.extraParams, this.price, this.tieringMode, this.tiers, this.unitAmount); + public ContractCreateParams.PricingOverride.EndsAt build() { + return new ContractCreateParams.PricingOverride.EndsAt( + this.extraParams, this.timestamp, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingOverride.OverwritePrice#extraParams} for the - * field documentation. + * map. See {@link ContractCreateParams.PricingOverride.EndsAt#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -5870,8 +3337,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 ContractCreateParams.PricingOverride.OverwritePrice#extraParams} for the - * field documentation. + * map. See {@link ContractCreateParams.PricingOverride.EndsAt#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -5881,59 +3348,153 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. The ID of the V1 price to overwrite. */ - public Builder setPrice(String price) { - this.price = price; + /** The timestamp when the item ends. Required if {@code type} is {@code timestamp}. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; return this; } - /** Defines whether the tiered price should be graduated or volume-based. */ - public Builder setTieringMode( - ContractCreateParams.PricingOverride.OverwritePrice.TieringMode tieringMode) { - this.tieringMode = tieringMode; + /** Required. The type of the ends_at. */ + public Builder setType(ContractCreateParams.PricingOverride.EndsAt.Type type) { + this.type = type; return this; } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("contract_end") + CONTRACT_END("contract_end"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Multiplier { + /** Criteria determining which rates the multiplier applies to. */ + @SerializedName("criteria") + List criteria; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 multiplier factor, represented as a decimal string. e.g. + * "0.8" for a 20% reduction. + */ + @SerializedName("factor") + String factor; + + private Multiplier( + List criteria, + Map extraParams, + String factor) { + this.criteria = criteria; + this.extraParams = extraParams; + this.factor = factor; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private List criteria; + + private Map extraParams; + + private String factor; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractCreateParams.PricingOverride.Multiplier build() { + return new ContractCreateParams.PricingOverride.Multiplier( + this.criteria, this.extraParams, this.factor); + } /** - * Add an element to `tiers` list. A list is initialized for the first `add/addAll` call, + * Add an element to `criteria` list. A list is initialized for the first `add/addAll` call, * and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.PricingOverride.OverwritePrice#tiers} for the field documentation. + * ContractCreateParams.PricingOverride.Multiplier#criteria} for the field documentation. */ - public Builder addTier(ContractCreateParams.PricingOverride.OverwritePrice.Tier element) { - if (this.tiers == null) { - this.tiers = new ArrayList<>(); + public Builder addCriterion( + ContractCreateParams.PricingOverride.Multiplier.Criterion element) { + if (this.criteria == null) { + this.criteria = new ArrayList<>(); } - this.tiers.add(element); + this.criteria.add(element); return this; } /** - * Add all elements to `tiers` list. A list is initialized for the first `add/addAll` call, - * and subsequent calls adds additional elements to the original list. See {@link - * ContractCreateParams.PricingOverride.OverwritePrice#tiers} for the field documentation. + * Add all elements to `criteria` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See {@link + * ContractCreateParams.PricingOverride.Multiplier#criteria} for the field documentation. + */ + public Builder addAllCriterion( + List elements) { + if (this.criteria == null) { + this.criteria = new ArrayList<>(); + } + this.criteria.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 ContractCreateParams.PricingOverride.Multiplier#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractCreateParams.PricingOverride.Multiplier#extraParams} for the + * field documentation. */ - public Builder addAllTier( - List elements) { - if (this.tiers == null) { - this.tiers = new ArrayList<>(); + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } - this.tiers.addAll(elements); + this.extraParams.putAll(map); return this; } /** - * The per-unit amount to be charged, represented as a decimal string in minor currency - * units. + * Required. The multiplier factor, represented as a decimal string. e.g. + * "0.8" for a 20% reduction. */ - public Builder setUnitAmount(String unitAmount) { - this.unitAmount = unitAmount; + public Builder setFactor(String factor) { + this.factor = factor; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Tier { + public static class Criterion { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -5944,36 +3505,29 @@ public static class Tier { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Price for the entire tier, represented as a decimal string in minor currency units. */ - @SerializedName("flat_amount") - String flatAmount; + /** Filter by pricing line IDs. */ + @SerializedName("pricing_line_ids") + List pricingLineIds; + + /** Filter by pricing line lookup keys. */ + @SerializedName("pricing_line_lookup_keys") + List pricingLineLookupKeys; /** - * Per-unit price for units included in this tier, represented as a decimal string in minor - * currency units. + * Required. Whether to include or exclude items matching these criteria. */ - @SerializedName("unit_amount") - String unitAmount; - - /** Up to and including this quantity will be contained in the tier. */ - @SerializedName("up_to_decimal") - BigDecimal upToDecimal; - - /** No upper bound to this tier. */ - @SerializedName("up_to_inf") - UpToInf upToInf; + @SerializedName("type") + Type type; - private Tier( + private Criterion( Map extraParams, - String flatAmount, - String unitAmount, - BigDecimal upToDecimal, - UpToInf upToInf) { + List pricingLineIds, + List pricingLineLookupKeys, + Type type) { this.extraParams = extraParams; - this.flatAmount = flatAmount; - this.unitAmount = unitAmount; - this.upToDecimal = upToDecimal; - this.upToInf = upToInf; + this.pricingLineIds = pricingLineIds; + this.pricingLineLookupKeys = pricingLineLookupKeys; + this.type = type; } public static Builder builder() { @@ -5983,24 +3537,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private String flatAmount; - - private String unitAmount; + private List pricingLineIds; - private BigDecimal upToDecimal; + private List pricingLineLookupKeys; - private UpToInf upToInf; + private Type type; /** Finalize and obtain parameter instance from this builder. */ - public ContractCreateParams.PricingOverride.OverwritePrice.Tier build() { - return new ContractCreateParams.PricingOverride.OverwritePrice.Tier( - this.extraParams, this.flatAmount, this.unitAmount, this.upToDecimal, this.upToInf); + public ContractCreateParams.PricingOverride.Multiplier.Criterion build() { + return new ContractCreateParams.PricingOverride.Multiplier.Criterion( + this.extraParams, this.pricingLineIds, this.pricingLineLookupKeys, this.type); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractCreateParams.PricingOverride.OverwritePrice.Tier#extraParams} + * map. See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -6014,7 +3566,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 ContractCreateParams.PricingOverride.OverwritePrice.Tier#extraParams} + * map. See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -6025,62 +3577,89 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Price for the entire tier, represented as a decimal string in minor currency units. */ - public Builder setFlatAmount(String flatAmount) { - this.flatAmount = flatAmount; + /** + * Add an element to `pricingLineIds` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#pricingLineIds} + * for the field documentation. + */ + public Builder addPricingLineId(String element) { + if (this.pricingLineIds == null) { + this.pricingLineIds = new ArrayList<>(); + } + this.pricingLineIds.add(element); + return this; + } + + /** + * Add all elements to `pricingLineIds` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link ContractCreateParams.PricingOverride.Multiplier.Criterion#pricingLineIds} + * for the field documentation. + */ + public Builder addAllPricingLineId(List elements) { + if (this.pricingLineIds == null) { + this.pricingLineIds = new ArrayList<>(); + } + this.pricingLineIds.addAll(elements); return this; } /** - * Per-unit price for units included in this tier, represented as a decimal string in - * minor currency units. + * Add an element to `pricingLineLookupKeys` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * ContractCreateParams.PricingOverride.Multiplier.Criterion#pricingLineLookupKeys} for + * the field documentation. */ - public Builder setUnitAmount(String unitAmount) { - this.unitAmount = unitAmount; + public Builder addPricingLineLookupKey(String element) { + if (this.pricingLineLookupKeys == null) { + this.pricingLineLookupKeys = new ArrayList<>(); + } + this.pricingLineLookupKeys.add(element); return this; } - /** Up to and including this quantity will be contained in the tier. */ - public Builder setUpToDecimal(BigDecimal upToDecimal) { - this.upToDecimal = upToDecimal; + /** + * Add all elements to `pricingLineLookupKeys` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * ContractCreateParams.PricingOverride.Multiplier.Criterion#pricingLineLookupKeys} for + * the field documentation. + */ + public Builder addAllPricingLineLookupKey(List elements) { + if (this.pricingLineLookupKeys == null) { + this.pricingLineLookupKeys = new ArrayList<>(); + } + this.pricingLineLookupKeys.addAll(elements); return this; } - /** No upper bound to this tier. */ - public Builder setUpToInf( - ContractCreateParams.PricingOverride.OverwritePrice.Tier.UpToInf upToInf) { - this.upToInf = upToInf; + /** + * Required. Whether to include or exclude items matching these criteria. + */ + public Builder setType( + ContractCreateParams.PricingOverride.Multiplier.Criterion.Type type) { + this.type = type; return this; } } - public enum UpToInf implements ApiRequestParams.EnumParam { - @SerializedName("inf") - INF("inf"); + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("exclude") + EXCLUDE("exclude"), + + @SerializedName("include") + INCLUDE("include"); @Getter(onMethod_ = {@Override}) private final String value; - UpToInf(String value) { + Type(String value) { this.value = value; } } } - - public enum TieringMode implements ApiRequestParams.EnumParam { - @SerializedName("graduated") - GRADUATED("graduated"), - - @SerializedName("volume") - VOLUME("volume"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - TieringMode(String value) { - this.value = value; - } - } } @Getter @@ -6185,10 +3764,7 @@ public enum Type implements ApiRequestParams.EnumParam { public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multiplier") - MULTIPLIER("multiplier"), - - @SerializedName("overwrite_price") - OVERWRITE_PRICE("overwrite_price"); + MULTIPLIER("multiplier"); @Getter(onMethod_ = {@Override}) private final String value; @@ -6200,11 +3776,8 @@ public enum Type implements ApiRequestParams.EnumParam { } public enum Include implements ApiRequestParams.EnumParam { - @SerializedName("contract_line_details") - CONTRACT_LINE_DETAILS("contract_line_details"), - - @SerializedName("license_quantities") - LICENSE_QUANTITIES("license_quantities"), + @SerializedName("billing_settings") + BILLING_SETTINGS("billing_settings"), @SerializedName("one_time_fees") ONE_TIME_FEES("one_time_fees"), diff --git a/src/main/java/com/stripe/param/v2/billing/ContractListParams.java b/src/main/java/com/stripe/param/v2/billing/ContractListParams.java index 221b7782473..7ade1c356e2 100644 --- a/src/main/java/com/stripe/param/v2/billing/ContractListParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ContractListParams.java @@ -3,7 +3,9 @@ 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; @@ -24,13 +26,22 @@ public class ContractListParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Additional fields to include in the response. */ + @SerializedName("include") + List include; + /** The limit for the number of results per page. */ @SerializedName("limit") Long limit; - private ContractListParams(String customer, Map extraParams, Long limit) { + private ContractListParams( + String customer, + Map extraParams, + List include, + Long limit) { this.customer = customer; this.extraParams = extraParams; + this.include = include; this.limit = limit; } @@ -43,11 +54,13 @@ public static class Builder { private Map extraParams; + private List include; + private Long limit; /** Finalize and obtain parameter instance from this builder. */ public ContractListParams build() { - return new ContractListParams(this.customer, this.extraParams, this.limit); + return new ContractListParams(this.customer, this.extraParams, this.include, this.limit); } /** Filter by customer ID. */ @@ -82,10 +95,57 @@ public Builder putAllExtraParam(Map map) { return this; } + /** + * Add an element to `include` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * ContractListParams#include} for the field documentation. + */ + public Builder addInclude(ContractListParams.Include element) { + if (this.include == null) { + this.include = new ArrayList<>(); + } + this.include.add(element); + return this; + } + + /** + * Add all elements to `include` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * ContractListParams#include} for the field documentation. + */ + public Builder addAllInclude(List elements) { + if (this.include == null) { + this.include = new ArrayList<>(); + } + this.include.addAll(elements); + return this; + } + /** The limit for the number of results per page. */ public Builder setLimit(Long limit) { this.limit = limit; return this; } } + + public enum Include implements ApiRequestParams.EnumParam { + @SerializedName("billing_settings") + BILLING_SETTINGS("billing_settings"), + + @SerializedName("one_time_fees") + ONE_TIME_FEES("one_time_fees"), + + @SerializedName("pricing_lines") + PRICING_LINES("pricing_lines"), + + @SerializedName("pricing_overrides") + PRICING_OVERRIDES("pricing_overrides"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Include(String value) { + this.value = value; + } + } } diff --git a/src/main/java/com/stripe/param/v2/billing/ContractRetrieveParams.java b/src/main/java/com/stripe/param/v2/billing/ContractRetrieveParams.java index 6057bd76784..4f65a58b6a4 100644 --- a/src/main/java/com/stripe/param/v2/billing/ContractRetrieveParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ContractRetrieveParams.java @@ -100,11 +100,8 @@ public Builder addAllInclude(List elements) { } public enum Include implements ApiRequestParams.EnumParam { - @SerializedName("contract_line_details") - CONTRACT_LINE_DETAILS("contract_line_details"), - - @SerializedName("license_quantities") - LICENSE_QUANTITIES("license_quantities"), + @SerializedName("billing_settings") + BILLING_SETTINGS("billing_settings"), @SerializedName("one_time_fees") ONE_TIME_FEES("one_time_fees"), diff --git a/src/main/java/com/stripe/param/v2/billing/ContractUpdateParams.java b/src/main/java/com/stripe/param/v2/billing/ContractUpdateParams.java index e3069c512fd..3765577a921 100644 --- a/src/main/java/com/stripe/param/v2/billing/ContractUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/ContractUpdateParams.java @@ -29,10 +29,6 @@ public class ContractUpdateParams extends ApiRequestParams { @SerializedName("include") List include; - /** Schema-only: License quantity actions (implementation to follow). */ - @SerializedName("license_quantity_actions") - List licenseQuantityActions; - /** Pricing line actions to apply. */ @SerializedName("pricing_line_actions") List pricingLineActions; @@ -44,12 +40,10 @@ public class ContractUpdateParams extends ApiRequestParams { private ContractUpdateParams( Map extraParams, List include, - List licenseQuantityActions, List pricingLineActions, List pricingOverrideActions) { this.extraParams = extraParams; this.include = include; - this.licenseQuantityActions = licenseQuantityActions; this.pricingLineActions = pricingLineActions; this.pricingOverrideActions = pricingOverrideActions; } @@ -63,8 +57,6 @@ public static class Builder { private List include; - private List licenseQuantityActions; - private List pricingLineActions; private List pricingOverrideActions; @@ -72,11 +64,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public ContractUpdateParams build() { return new ContractUpdateParams( - this.extraParams, - this.include, - this.licenseQuantityActions, - this.pricingLineActions, - this.pricingOverrideActions); + this.extraParams, this.include, this.pricingLineActions, this.pricingOverrideActions); } /** @@ -131,33 +119,6 @@ public Builder addAllInclude(List elements) { return this; } - /** - * Add an element to `licenseQuantityActions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link ContractUpdateParams#licenseQuantityActions} for the field documentation. - */ - public Builder addLicenseQuantityAction(ContractUpdateParams.LicenseQuantityAction element) { - if (this.licenseQuantityActions == null) { - this.licenseQuantityActions = new ArrayList<>(); - } - this.licenseQuantityActions.add(element); - return this; - } - - /** - * Add all elements to `licenseQuantityActions` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. See - * {@link ContractUpdateParams#licenseQuantityActions} for the field documentation. - */ - public Builder addAllLicenseQuantityAction( - List elements) { - if (this.licenseQuantityActions == null) { - this.licenseQuantityActions = new ArrayList<>(); - } - this.licenseQuantityActions.addAll(elements); - return this; - } - /** * Add an element to `pricingLineActions` list. A list is initialized for the first `add/addAll` * call, and subsequent calls adds additional elements to the original list. See {@link @@ -214,10 +175,10 @@ public Builder addAllPricingOverrideAction( @Getter @EqualsAndHashCode(callSuper = false) - public static class LicenseQuantityAction { - /** Required. The effective at for the license quantity action. */ - @SerializedName("effective_at") - EffectiveAt effectiveAt; + public static class PricingLineAction { + /** Parameters for adding a pricing line. */ + @SerializedName("add") + Add add; /** * Map of extra parameters for custom features not available in this client library. The content @@ -228,53 +189,25 @@ public static class LicenseQuantityAction { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The ID of the license pricing. */ - @SerializedName("license_pricing_id") - Object licensePricingId; - - /** The lookup key for the license pricing. */ - @SerializedName("license_pricing_lookup_key") - Object licensePricingLookupKey; - - /** Required. The type of the license pricing. */ - @SerializedName("license_pricing_type") - LicensePricingType licensePricingType; - - /** The pricing line ID for the license quantity action. */ - @SerializedName("pricing_line") - Object pricingLine; - - /** The pricing line lookup key for the license quantity action. */ - @SerializedName("pricing_line_lookup_key") - Object pricingLineLookupKey; - - /** The set quantity for the license quantity action. */ - @SerializedName("set") - Set set; + /** Parameters for removing a pricing line. */ + @SerializedName("remove") + Remove remove; - /** Required. The type of the license quantity action. */ + /** Required. The type of pricing line action. */ @SerializedName("type") Type type; - private LicenseQuantityAction( - EffectiveAt effectiveAt, - Map extraParams, - Object licensePricingId, - Object licensePricingLookupKey, - LicensePricingType licensePricingType, - Object pricingLine, - Object pricingLineLookupKey, - Set set, - Type type) { - this.effectiveAt = effectiveAt; + /** Parameters for updating a pricing line. */ + @SerializedName("update") + Update update; + + private PricingLineAction( + Add add, Map extraParams, Remove remove, Type type, Update update) { + this.add = add; this.extraParams = extraParams; - this.licensePricingId = licensePricingId; - this.licensePricingLookupKey = licensePricingLookupKey; - this.licensePricingType = licensePricingType; - this.pricingLine = pricingLine; - this.pricingLineLookupKey = pricingLineLookupKey; - this.set = set; + this.remove = remove; this.type = type; + this.update = update; } public static Builder builder() { @@ -282,49 +215,32 @@ public static Builder builder() { } public static class Builder { - private EffectiveAt effectiveAt; + private Add add; private Map extraParams; - private Object licensePricingId; - - private Object licensePricingLookupKey; - - private LicensePricingType licensePricingType; - - private Object pricingLine; - - private Object pricingLineLookupKey; - - private Set set; + private Remove remove; private Type type; + private Update update; + /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.LicenseQuantityAction build() { - return new ContractUpdateParams.LicenseQuantityAction( - this.effectiveAt, - this.extraParams, - this.licensePricingId, - this.licensePricingLookupKey, - this.licensePricingType, - this.pricingLine, - this.pricingLineLookupKey, - this.set, - this.type); + public ContractUpdateParams.PricingLineAction build() { + return new ContractUpdateParams.PricingLineAction( + this.add, this.extraParams, this.remove, this.type, this.update); } - /** Required. The effective at for the license quantity action. */ - public Builder setEffectiveAt( - ContractUpdateParams.LicenseQuantityAction.EffectiveAt effectiveAt) { - this.effectiveAt = effectiveAt; + /** Parameters for adding a pricing line. */ + public Builder setAdd(ContractUpdateParams.PricingLineAction.Add add) { + this.add = add; return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractUpdateParams.LicenseQuantityAction#extraParams} for the field documentation. + * ContractUpdateParams.PricingLineAction#extraParams} for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -337,8 +253,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 ContractUpdateParams.LicenseQuantityAction#extraParams} for the field - * documentation. + * See {@link ContractUpdateParams.PricingLineAction#extraParams} for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -348,77 +263,32 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The ID of the license pricing. */ - public Builder setLicensePricingId(String licensePricingId) { - this.licensePricingId = licensePricingId; - return this; - } - - /** The ID of the license pricing. */ - public Builder setLicensePricingId(EmptyParam licensePricingId) { - this.licensePricingId = licensePricingId; - return this; - } - - /** The lookup key for the license pricing. */ - public Builder setLicensePricingLookupKey(String licensePricingLookupKey) { - this.licensePricingLookupKey = licensePricingLookupKey; - return this; - } - - /** The lookup key for the license pricing. */ - public Builder setLicensePricingLookupKey(EmptyParam licensePricingLookupKey) { - this.licensePricingLookupKey = licensePricingLookupKey; - return this; - } - - /** Required. The type of the license pricing. */ - public Builder setLicensePricingType( - ContractUpdateParams.LicenseQuantityAction.LicensePricingType licensePricingType) { - this.licensePricingType = licensePricingType; - return this; - } - - /** The pricing line ID for the license quantity action. */ - public Builder setPricingLine(String pricingLine) { - this.pricingLine = pricingLine; - return this; - } - - /** The pricing line ID for the license quantity action. */ - public Builder setPricingLine(EmptyParam pricingLine) { - this.pricingLine = pricingLine; - return this; - } - - /** The pricing line lookup key for the license quantity action. */ - public Builder setPricingLineLookupKey(String pricingLineLookupKey) { - this.pricingLineLookupKey = pricingLineLookupKey; - return this; - } - - /** The pricing line lookup key for the license quantity action. */ - public Builder setPricingLineLookupKey(EmptyParam pricingLineLookupKey) { - this.pricingLineLookupKey = pricingLineLookupKey; + /** Parameters for removing a pricing line. */ + public Builder setRemove(ContractUpdateParams.PricingLineAction.Remove remove) { + this.remove = remove; return this; } - /** The set quantity for the license quantity action. */ - public Builder setSet(ContractUpdateParams.LicenseQuantityAction.Set set) { - this.set = set; + /** Required. The type of pricing line action. */ + public Builder setType(ContractUpdateParams.PricingLineAction.Type type) { + this.type = type; return this; } - /** Required. The type of the license quantity action. */ - public Builder setType(ContractUpdateParams.LicenseQuantityAction.Type type) { - this.type = type; + /** Parameters for updating a pricing line. */ + public Builder setUpdate(ContractUpdateParams.PricingLineAction.Update update) { + this.update = update; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class EffectiveAt { + public static class Add { + /** Required. The end time for the pricing line. */ + @SerializedName("ends_at") + EndsAt endsAt; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -428,18 +298,35 @@ public static class EffectiveAt { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** The timestamp for the effective at. */ - @SerializedName("timestamp") - Instant timestamp; + /** A lookup key for the pricing line. */ + @SerializedName("lookup_key") + Object lookupKey; + + /** Metadata for the pricing line. */ + @SerializedName("metadata") + Map metadata; - /** Required. The type of the effective at. */ - @SerializedName("type") - Type type; + /** Required. The pricing configuration for the pricing line. */ + @SerializedName("pricing") + Pricing pricing; + + /** Required. The start time for the pricing line. */ + @SerializedName("starts_at") + StartsAt startsAt; - private EffectiveAt(Map extraParams, Instant timestamp, Type type) { + private Add( + EndsAt endsAt, + Map extraParams, + Object lookupKey, + Map metadata, + Pricing pricing, + StartsAt startsAt) { + this.endsAt = endsAt; this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; + this.lookupKey = lookupKey; + this.metadata = metadata; + this.pricing = pricing; + this.startsAt = startsAt; } public static Builder builder() { @@ -447,23 +334,40 @@ public static Builder builder() { } public static class Builder { + private EndsAt endsAt; + private Map extraParams; - private Instant timestamp; + private Object lookupKey; - private Type type; + private Map metadata; + + private Pricing pricing; + + private StartsAt startsAt; /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.LicenseQuantityAction.EffectiveAt build() { - return new ContractUpdateParams.LicenseQuantityAction.EffectiveAt( - this.extraParams, this.timestamp, this.type); + public ContractUpdateParams.PricingLineAction.Add build() { + return new ContractUpdateParams.PricingLineAction.Add( + this.endsAt, + this.extraParams, + this.lookupKey, + this.metadata, + this.pricing, + this.startsAt); + } + + /** Required. The end time for the pricing line. */ + public Builder setEndsAt(ContractUpdateParams.PricingLineAction.Add.EndsAt endsAt) { + this.endsAt = endsAt; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.LicenseQuantityAction.EffectiveAt#extraParams} for - * the field documentation. + * map. See {@link ContractUpdateParams.PricingLineAction.Add#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -476,8 +380,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 ContractUpdateParams.LicenseQuantityAction.EffectiveAt#extraParams} for - * the field documentation. + * map. See {@link ContractUpdateParams.PricingLineAction.Add#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -487,1076 +391,3784 @@ public Builder putAllExtraParam(Map map) { return this; } - /** The timestamp for the effective at. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; + /** A lookup key for the pricing line. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; return this; } - /** Required. The type of the effective at. */ - public Builder setType(ContractUpdateParams.LicenseQuantityAction.EffectiveAt.Type type) { - this.type = type; + /** A lookup key for the pricing line. */ + public Builder setLookupKey(EmptyParam lookupKey) { + this.lookupKey = lookupKey; return this; } - } - - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("timestamp") - TIMESTAMP("timestamp"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - Type(String value) { - this.value = value; - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Set { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 quantity to set. */ - @SerializedName("quantity") - Long quantity; - - private Set(Map extraParams, Long quantity) { - this.extraParams = extraParams; - this.quantity = quantity; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Long quantity; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.LicenseQuantityAction.Set build() { - return new ContractUpdateParams.LicenseQuantityAction.Set( - this.extraParams, this.quantity); - } /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.LicenseQuantityAction.Set#extraParams} for the field - * documentation. + * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * ContractUpdateParams.PricingLineAction.Add#metadata} for the field documentation. */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); } - this.extraParams.put(key, value); + this.metadata.put(key, value); return this; } /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * Add all map key/value pairs to `metadata` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.LicenseQuantityAction.Set#extraParams} for the field + * map. See {@link ContractUpdateParams.PricingLineAction.Add#metadata} for the field * documentation. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); } - this.extraParams.putAll(map); + this.metadata.putAll(map); + return this; + } + + /** Required. The pricing configuration for the pricing line. */ + public Builder setPricing(ContractUpdateParams.PricingLineAction.Add.Pricing pricing) { + this.pricing = pricing; return this; } - /** Required. The quantity to set. */ - public Builder setQuantity(Long quantity) { - this.quantity = quantity; + /** Required. The start time for the pricing line. */ + public Builder setStartsAt(ContractUpdateParams.PricingLineAction.Add.StartsAt startsAt) { + this.startsAt = startsAt; return this; } } - } - public enum LicensePricingType implements ApiRequestParams.EnumParam { - @SerializedName("license_fee") - LICENSE_FEE("license_fee"), + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EndsAt { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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("price") - PRICE("price"); + /** The timestamp when the item ends. */ + @SerializedName("timestamp") + Instant timestamp; - @Getter(onMethod_ = {@Override}) - private final String value; + /** Required. The type of end time to apply. */ + @SerializedName("type") + Type type; - LicensePricingType(String value) { - this.value = value; - } - } + private EndsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("set") - SET("set"); + public static Builder builder() { + return new Builder(); + } - @Getter(onMethod_ = {@Override}) - private final String value; + public static class Builder { + private Map extraParams; - Type(String value) { - this.value = value; - } - } - } + private Instant timestamp; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PricingLineAction { - /** Parameters for adding a pricing line. */ - @SerializedName("add") - Add add; + private Type type; - /** - * Map of extra parameters for custom features not available in this client library. The content - * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each - * key/value pair is serialized as if the key is a root-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 ContractUpdateParams.PricingLineAction.Add.EndsAt build() { + return new ContractUpdateParams.PricingLineAction.Add.EndsAt( + this.extraParams, this.timestamp, this.type); + } - /** Parameters for removing a pricing line. */ - @SerializedName("remove") - Remove remove; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Add.EndsAt#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Required. The type of pricing line action. */ - @SerializedName("type") - Type type; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Add.EndsAt#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Parameters for updating a pricing line. */ - @SerializedName("update") - Update update; + /** The timestamp when the item ends. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } - private PricingLineAction( - Add add, Map extraParams, Remove remove, Type type, Update update) { - this.add = add; - this.extraParams = extraParams; - this.remove = remove; - this.type = type; - this.update = update; - } + /** Required. The type of end time to apply. */ + public Builder setType(ContractUpdateParams.PricingLineAction.Add.EndsAt.Type type) { + this.type = type; + return this; + } + } - public static Builder builder() { - return new Builder(); - } + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("billing_period_end") + BILLING_PERIOD_END("billing_period_end"), - public static class Builder { - private Add add; + @SerializedName("timestamp") + TIMESTAMP("timestamp"); - private Map extraParams; + @Getter(onMethod_ = {@Override}) + private final String value; - private Remove remove; + Type(String value) { + this.value = value; + } + } + } - private Type type; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Pricing { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Update update; + /** V1 price details. Required if {@code type} is {@code price}. */ + @SerializedName("price_details") + PriceDetails priceDetails; - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingLineAction build() { - return new ContractUpdateParams.PricingLineAction( - this.add, this.extraParams, this.remove, this.type, this.update); - } + /** Required. The type of pricing. */ + @SerializedName("type") + Type type; - /** Parameters for adding a pricing line. */ - public Builder setAdd(ContractUpdateParams.PricingLineAction.Add add) { - this.add = add; - return this; - } + private Pricing(Map extraParams, PriceDetails priceDetails, Type type) { + this.extraParams = extraParams; + this.priceDetails = priceDetails; + this.type = type; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractUpdateParams.PricingLineAction#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 ContractUpdateParams.PricingLineAction#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 PriceDetails priceDetails; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing( + this.extraParams, this.priceDetails, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Add.Pricing#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Add.Pricing#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** V1 price details. Required if {@code type} is {@code price}. */ + public Builder setPriceDetails( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails priceDetails) { + this.priceDetails = priceDetails; + return this; + } + + /** Required. The type of pricing. */ + public Builder setType(ContractUpdateParams.PricingLineAction.Add.Pricing.Type type) { + this.type = type; + return this; + } } - this.extraParams.putAll(map); - return this; - } - /** Parameters for removing a pricing line. */ - public Builder setRemove(ContractUpdateParams.PricingLineAction.Remove remove) { - this.remove = remove; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PriceDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The ID of the V1 price. */ + @SerializedName("price") + Object price; + + /** Pricing overrides embedded directly on this pricing line. */ + @SerializedName("pricing_overrides") + List + pricingOverrides; + + /** + * Quantity changes for the pricing line. For now, at most one entry is allowed. A + * quantity change clears all future quantity changes on this pricing line. + */ + @SerializedName("quantity_changes") + List + quantityChanges; + + private PriceDetails( + Map extraParams, + Object price, + List + pricingOverrides, + List + quantityChanges) { + this.extraParams = extraParams; + this.price = price; + this.pricingOverrides = pricingOverrides; + this.quantityChanges = quantityChanges; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object price; + + private List< + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride> + pricingOverrides; + + private List< + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange> + quantityChanges; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails( + this.extraParams, this.price, this.pricingOverrides, this.quantityChanges); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The ID of the V1 price. */ + public Builder setPrice(String price) { + this.price = price; + return this; + } + + /** Required. The ID of the V1 price. */ + public Builder setPrice(EmptyParam price) { + this.price = price; + return this; + } + + /** + * Add an element to `pricingOverrides` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#pricingOverrides} for + * the field documentation. + */ + public Builder addPricingOverride( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + element) { + if (this.pricingOverrides == null) { + this.pricingOverrides = new ArrayList<>(); + } + this.pricingOverrides.add(element); + return this; + } + + /** + * Add all elements to `pricingOverrides` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#pricingOverrides} for + * the field documentation. + */ + public Builder addAllPricingOverride( + List< + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride> + elements) { + if (this.pricingOverrides == null) { + this.pricingOverrides = new ArrayList<>(); + } + this.pricingOverrides.addAll(elements); + return this; + } + + /** + * Add an element to `quantityChanges` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#quantityChanges} for + * the field documentation. + */ + public Builder addQuantityChange( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange + element) { + if (this.quantityChanges == null) { + this.quantityChanges = new ArrayList<>(); + } + this.quantityChanges.add(element); + return this; + } + + /** + * Add all elements to `quantityChanges` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#quantityChanges} for + * the field documentation. + */ + public Builder addAllQuantityChange( + List + elements) { + if (this.quantityChanges == null) { + this.quantityChanges = new ArrayList<>(); + } + this.quantityChanges.addAll(elements); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PricingOverride { + /** When the override ends. Defaults to the pricing line's end if not specified. */ + @SerializedName("ends_at") + EndsAt endsAt; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 user-provided lookup key to reference this override. */ + @SerializedName("lookup_key") + Object lookupKey; + + /** Set of key-value pairs that you can attach to an object. */ + @SerializedName("metadata") + Map metadata; + + /** + * Parameters for the overwrite_price override. Required if {@code type} is {@code + * overwrite_price}. + */ + @SerializedName("overwrite_price") + OverwritePrice overwritePrice; + + /** + * The priority of this override relative to others. 0 is highest, 100 is lowest. + * Defaults to 50. + */ + @SerializedName("priority") + Long priority; + + /** When the override starts. Defaults to the pricing line's start if not specified. */ + @SerializedName("starts_at") + StartsAt startsAt; + + /** + * Required. The type of override. Currently only {@code + * overwrite_price} is supported. + */ + @SerializedName("type") + Type type; + + private PricingOverride( + EndsAt endsAt, + Map extraParams, + Object lookupKey, + Map metadata, + OverwritePrice overwritePrice, + Long priority, + StartsAt startsAt, + Type type) { + this.endsAt = endsAt; + this.extraParams = extraParams; + this.lookupKey = lookupKey; + this.metadata = metadata; + this.overwritePrice = overwritePrice; + this.priority = priority; + this.startsAt = startsAt; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private EndsAt endsAt; + + private Map extraParams; + + private Object lookupKey; + + private Map metadata; + + private OverwritePrice overwritePrice; + + private Long priority; + + private StartsAt startsAt; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride( + this.endsAt, + this.extraParams, + this.lookupKey, + this.metadata, + this.overwritePrice, + this.priority, + this.startsAt, + this.type); + } + + /** When the override ends. Defaults to the pricing line's end if not specified. */ + public Builder setEndsAt( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .EndsAt + endsAt) { + this.endsAt = endsAt; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride#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 user-provided lookup key to reference this override. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; + return this; + } + + /** A user-provided lookup key to reference this override. */ + public Builder setLookupKey(EmptyParam lookupKey) { + this.lookupKey = lookupKey; + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride#metadata} + * for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride#metadata} + * for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** + * Parameters for the overwrite_price override. Required if {@code type} is {@code + * overwrite_price}. + */ + public Builder setOverwritePrice( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .OverwritePrice + overwritePrice) { + this.overwritePrice = overwritePrice; + return this; + } + + /** + * The priority of this override relative to others. 0 is highest, 100 is lowest. + * Defaults to 50. + */ + public Builder setPriority(Long priority) { + this.priority = priority; + return this; + } + + /** + * When the override starts. Defaults to the pricing line's start if not specified. + */ + public Builder setStartsAt( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .StartsAt + startsAt) { + this.startsAt = startsAt; + return this; + } + + /** + * Required. The type of override. Currently only {@code + * overwrite_price} is supported. + */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .Type + type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EndsAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 timestamp when the item ends. Required if {@code type} is {@code timestamp}. + */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of the ends_at. */ + @SerializedName("type") + Type type; + + private EndsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.EndsAt + build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.EndsAt(this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.EndsAt#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.EndsAt#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 timestamp when the item ends. Required if {@code type} is {@code timestamp}. + */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of the ends_at. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .EndsAt.Type + type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("contract_end") + CONTRACT_END("contract_end"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OverwritePrice { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Defines whether the tiered price should be graduated or volume-based. */ + @SerializedName("tiering_mode") + TieringMode tieringMode; + + /** Each element represents a pricing tier. */ + @SerializedName("tiers") + List< + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice.Tier> + tiers; + + /** + * The per-unit amount to be charged, represented as a decimal string in minor + * currency units. + */ + @SerializedName("unit_amount") + Object unitAmount; + + private OverwritePrice( + Map extraParams, + TieringMode tieringMode, + List< + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice.Tier> + tiers, + Object unitAmount) { + this.extraParams = extraParams; + this.tieringMode = tieringMode; + this.tiers = tiers; + this.unitAmount = unitAmount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private TieringMode tieringMode; + + private List< + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice.Tier> + tiers; + + private Object unitAmount; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice + build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice( + this.extraParams, this.tieringMode, this.tiers, this.unitAmount); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.OverwritePrice#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.OverwritePrice#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Defines whether the tiered price should be graduated or volume-based. */ + public Builder setTieringMode( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .OverwritePrice.TieringMode + tieringMode) { + this.tieringMode = tieringMode; + return this; + } + + /** + * Add an element to `tiers` list. A list is initialized for the first `add/addAll` + * call, and subsequent calls adds additional elements to the original list. See + * {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.OverwritePrice#tiers} + * for the field documentation. + */ + public Builder addTier( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier + element) { + if (this.tiers == null) { + this.tiers = new ArrayList<>(); + } + this.tiers.add(element); + return this; + } + + /** + * Add all elements to `tiers` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.OverwritePrice#tiers} + * for the field documentation. + */ + public Builder addAllTier( + List< + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice.Tier> + elements) { + if (this.tiers == null) { + this.tiers = new ArrayList<>(); + } + this.tiers.addAll(elements); + return this; + } + + /** + * The per-unit amount to be charged, represented as a decimal string in minor + * currency units. + */ + public Builder setUnitAmount(String unitAmount) { + this.unitAmount = unitAmount; + return this; + } + + /** + * The per-unit amount to be charged, represented as a decimal string in minor + * currency units. + */ + public Builder setUnitAmount(EmptyParam unitAmount) { + this.unitAmount = unitAmount; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tier { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + @SerializedName("flat_amount") + Object flatAmount; + + /** + * Per-unit price for units included in this tier, represented as a decimal string + * in minor currency units. + */ + @SerializedName("unit_amount") + Object unitAmount; + + /** Up to and including this quantity will be contained in the tier. */ + @SerializedName("up_to_decimal") + Object upToDecimal; + + /** No upper bound to this tier. */ + @SerializedName("up_to_inf") + UpToInf upToInf; + + private Tier( + Map extraParams, + Object flatAmount, + Object unitAmount, + Object upToDecimal, + UpToInf upToInf) { + this.extraParams = extraParams; + this.flatAmount = flatAmount; + this.unitAmount = unitAmount; + this.upToDecimal = upToDecimal; + this.upToInf = upToInf; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object flatAmount; + + private Object unitAmount; + + private Object upToDecimal; + + private UpToInf upToInf; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice.Tier + build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice.Tier( + this.extraParams, + this.flatAmount, + this.unitAmount, + this.upToDecimal, + this.upToInf); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.OverwritePrice.Tier#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.OverwritePrice.Tier#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + public Builder setFlatAmount(String flatAmount) { + this.flatAmount = flatAmount; + return this; + } + + /** + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + public Builder setFlatAmount(EmptyParam flatAmount) { + this.flatAmount = flatAmount; + return this; + } + + /** + * Per-unit price for units included in this tier, represented as a decimal string + * in minor currency units. + */ + public Builder setUnitAmount(String unitAmount) { + this.unitAmount = unitAmount; + return this; + } + + /** + * Per-unit price for units included in this tier, represented as a decimal string + * in minor currency units. + */ + public Builder setUnitAmount(EmptyParam unitAmount) { + this.unitAmount = unitAmount; + return this; + } + + /** Up to and including this quantity will be contained in the tier. */ + public Builder setUpToDecimal(BigDecimal upToDecimal) { + this.upToDecimal = upToDecimal; + return this; + } + + /** Up to and including this quantity will be contained in the tier. */ + public Builder setUpToDecimal(EmptyParam upToDecimal) { + this.upToDecimal = upToDecimal; + return this; + } + + /** No upper bound to this tier. */ + public Builder setUpToInf( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.OverwritePrice.Tier.UpToInf + upToInf) { + this.upToInf = upToInf; + return this; + } + } + + public enum UpToInf implements ApiRequestParams.EnumParam { + @SerializedName("inf") + INF("inf"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + UpToInf(String value) { + this.value = value; + } + } + } + + public enum TieringMode implements ApiRequestParams.EnumParam { + @SerializedName("graduated") + GRADUATED("graduated"), + + @SerializedName("volume") + VOLUME("volume"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TieringMode(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StartsAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 timestamp when the item starts. Required if {@code type} is {@code timestamp}. + */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of the starts_at. */ + @SerializedName("type") + Type type; + + private StartsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.StartsAt + build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .PricingOverride.StartsAt(this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.StartsAt#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride.StartsAt#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 timestamp when the item starts. Required if {@code type} is {@code + * timestamp}. + */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of the starts_at. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.PricingOverride + .StartsAt.Type + type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("contract_start") + CONTRACT_START("contract_start"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("overwrite_price") + OVERWRITE_PRICE("overwrite_price"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class QuantityChange { + /** Required. When this quantity change takes effect. */ + @SerializedName("effective_at") + EffectiveAt effectiveAt; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 quantity to set. */ + @SerializedName("set") + Object set; + + private QuantityChange( + EffectiveAt effectiveAt, Map extraParams, Object set) { + this.effectiveAt = effectiveAt; + this.extraParams = extraParams; + this.set = set; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private EffectiveAt effectiveAt; + + private Map extraParams; + + private Object set; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange + build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .QuantityChange(this.effectiveAt, this.extraParams, this.set); + } + + /** Required. When this quantity change takes effect. */ + public Builder setEffectiveAt( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange + .EffectiveAt + effectiveAt) { + this.effectiveAt = effectiveAt; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange#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 quantity to set. */ + public Builder setSet(BigDecimal set) { + this.set = set; + return this; + } + + /** Required. The quantity to set. */ + public Builder setSet(EmptyParam set) { + this.set = set; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EffectiveAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 timestamp for the effective at. */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of the effective at. */ + @SerializedName("type") + Type type; + + private EffectiveAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .QuantityChange.EffectiveAt + build() { + return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails + .QuantityChange.EffectiveAt(this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange.EffectiveAt#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange.EffectiveAt#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 timestamp for the effective at. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of the effective at. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails.QuantityChange + .EffectiveAt.Type + type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("price") + PRICE("price"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StartsAt { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item starts. */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of start time to apply. */ + @SerializedName("type") + Type type; + + private StartsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Add.StartsAt build() { + return new ContractUpdateParams.PricingLineAction.Add.StartsAt( + this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Add.StartsAt#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Add.StartsAt#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 timestamp when the item starts. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of start time to apply. */ + public Builder setType(ContractUpdateParams.PricingLineAction.Add.StartsAt.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("billing_period_start") + BILLING_PERIOD_START("billing_period_start"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Remove { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The ID of the pricing line to remove. */ + @SerializedName("id") + Object id; + + private Remove(Map extraParams, Object id) { + this.extraParams = extraParams; + this.id = id; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Object id; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Remove build() { + return new ContractUpdateParams.PricingLineAction.Remove(this.extraParams, this.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 ContractUpdateParams.PricingLineAction.Remove#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Remove#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The ID of the pricing line to remove. */ + public Builder setId(String id) { + this.id = id; + return this; + } + + /** Required. The ID of the pricing line to remove. */ + public Builder setId(EmptyParam id) { + this.id = id; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Update { + /** The updated end time for the pricing line. */ + @SerializedName("ends_at") + EndsAt endsAt; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The ID of the pricing line. */ + @SerializedName("id") + Object id; + + /** Pricing updates for the pricing line (quantity changes and pricing override actions). */ + @SerializedName("pricing") + Pricing pricing; + + /** The updated start time for the pricing line. */ + @SerializedName("starts_at") + StartsAt startsAt; + + private Update( + EndsAt endsAt, + Map extraParams, + Object id, + Pricing pricing, + StartsAt startsAt) { + this.endsAt = endsAt; + this.extraParams = extraParams; + this.id = id; + this.pricing = pricing; + this.startsAt = startsAt; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private EndsAt endsAt; + + private Map extraParams; + + private Object id; + + private Pricing pricing; + + private StartsAt startsAt; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update build() { + return new ContractUpdateParams.PricingLineAction.Update( + this.endsAt, this.extraParams, this.id, this.pricing, this.startsAt); + } + + /** The updated end time for the pricing line. */ + public Builder setEndsAt(ContractUpdateParams.PricingLineAction.Update.EndsAt endsAt) { + this.endsAt = endsAt; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Update#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Update#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Required. The ID of the pricing line. */ + public Builder setId(String id) { + this.id = id; + return this; + } + + /** Required. The ID of the pricing line. */ + public Builder setId(EmptyParam id) { + this.id = id; + return this; + } + + /** Pricing updates for the pricing line (quantity changes and pricing override actions). */ + public Builder setPricing(ContractUpdateParams.PricingLineAction.Update.Pricing pricing) { + this.pricing = pricing; + return this; + } + + /** The updated start time for the pricing line. */ + public Builder setStartsAt( + ContractUpdateParams.PricingLineAction.Update.StartsAt startsAt) { + this.startsAt = startsAt; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EndsAt { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item ends. */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of end time to apply. */ + @SerializedName("type") + Type type; + + private EndsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.EndsAt build() { + return new ContractUpdateParams.PricingLineAction.Update.EndsAt( + this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Update.EndsAt#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Update.EndsAt#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 timestamp when the item ends. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of end time to apply. */ + public Builder setType(ContractUpdateParams.PricingLineAction.Update.EndsAt.Type type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("billing_period_end") + BILLING_PERIOD_END("billing_period_end"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Pricing { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** V1 price details. Present when the pricing line type is {@code price}. */ + @SerializedName("price_details") + PriceDetails priceDetails; + + private Pricing(Map extraParams, PriceDetails priceDetails) { + this.extraParams = extraParams; + this.priceDetails = priceDetails; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PriceDetails priceDetails; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing( + this.extraParams, this.priceDetails); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Update.Pricing#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link ContractUpdateParams.PricingLineAction.Update.Pricing#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** V1 price details. Present when the pricing line type is {@code price}. */ + public Builder setPriceDetails( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails priceDetails) { + this.priceDetails = priceDetails; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PriceDetails { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Pricing override actions to apply to the overrides embedded on this pricing line. */ + @SerializedName("pricing_override_actions") + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction> + pricingOverrideActions; + + /** + * Quantity changes for the pricing line. Setting this clears all future quantity changes. + */ + @SerializedName("quantity_changes") + List + quantityChanges; + + private PriceDetails( + Map extraParams, + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction> + pricingOverrideActions, + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange> + quantityChanges) { + this.extraParams = extraParams; + this.pricingOverrideActions = pricingOverrideActions; + this.quantityChanges = quantityChanges; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction> + pricingOverrideActions; + + private List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange> + quantityChanges; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails( + this.extraParams, this.pricingOverrideActions, this.quantityChanges); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails#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 `pricingOverrideActions` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails#pricingOverrideActions} + * for the field documentation. + */ + public Builder addPricingOverrideAction( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction + element) { + if (this.pricingOverrideActions == null) { + this.pricingOverrideActions = new ArrayList<>(); + } + this.pricingOverrideActions.add(element); + return this; + } + + /** + * Add all elements to `pricingOverrideActions` list. A list is initialized for the + * first `add/addAll` call, and subsequent calls adds additional elements to the + * original list. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails#pricingOverrideActions} + * for the field documentation. + */ + public Builder addAllPricingOverrideAction( + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction> + elements) { + if (this.pricingOverrideActions == null) { + this.pricingOverrideActions = new ArrayList<>(); + } + this.pricingOverrideActions.addAll(elements); + return this; + } + + /** + * Add an element to `quantityChanges` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails#quantityChanges} + * for the field documentation. + */ + public Builder addQuantityChange( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.QuantityChange + element) { + if (this.quantityChanges == null) { + this.quantityChanges = new ArrayList<>(); + } + this.quantityChanges.add(element); + return this; + } + + /** + * Add all elements to `quantityChanges` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original + * list. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails#quantityChanges} + * for the field documentation. + */ + public Builder addAllQuantityChange( + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange> + elements) { + if (this.quantityChanges == null) { + this.quantityChanges = new ArrayList<>(); + } + this.quantityChanges.addAll(elements); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PricingOverrideAction { + /** Parameters for adding a pricing line override. */ + @SerializedName("add") + Add add; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Parameters for removing a pricing line override. */ + @SerializedName("remove") + Remove remove; + + /** Required. The type of pricing line override action. */ + @SerializedName("type") + Type type; + + /** Parameters for updating a pricing line override. */ + @SerializedName("update") + InnerUpdate update; + + private PricingOverrideAction( + Add add, + Map extraParams, + Remove remove, + Type type, + InnerUpdate update) { + this.add = add; + this.extraParams = extraParams; + this.remove = remove; + this.type = type; + this.update = update; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Add add; + + private Map extraParams; + + private Remove remove; + + private Type type; + + private InnerUpdate update; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction( + this.add, this.extraParams, this.remove, this.type, this.update); + } + + /** Parameters for adding a pricing line override. */ + public Builder setAdd( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add + add) { + this.add = add; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Parameters for removing a pricing line override. */ + public Builder setRemove( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Remove + remove) { + this.remove = remove; + return this; + } + + /** Required. The type of pricing line override action. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Type + type) { + this.type = type; + return this; + } + + /** Parameters for updating a pricing line override. */ + public Builder setUpdate( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate + update) { + this.update = update; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Add { + /** Required. The end time for the override. */ + @SerializedName("ends_at") + EndsAt endsAt; + + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 lookup key for the override. */ + @SerializedName("lookup_key") + Object lookupKey; + + /** Set of key-value pairs that you can attach to an object. */ + @SerializedName("metadata") + Map metadata; + + /** + * Parameters for an overwrite_price override. Required if {@code type} is {@code + * overwrite_price}. + */ + @SerializedName("overwrite_price") + OverwritePrice overwritePrice; + + /** + * The priority of this override relative to others. 0 is highest, 100 is lowest. + * Defaults to 50. + */ + @SerializedName("priority") + Long priority; + + /** Required. The start time for the override. */ + @SerializedName("starts_at") + StartsAt startsAt; + + /** Required. The type of override to add. */ + @SerializedName("type") + Type type; + + private Add( + EndsAt endsAt, + Map extraParams, + Object lookupKey, + Map metadata, + OverwritePrice overwritePrice, + Long priority, + StartsAt startsAt, + Type type) { + this.endsAt = endsAt; + this.extraParams = extraParams; + this.lookupKey = lookupKey; + this.metadata = metadata; + this.overwritePrice = overwritePrice; + this.priority = priority; + this.startsAt = startsAt; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private EndsAt endsAt; + + private Map extraParams; + + private Object lookupKey; + + private Map metadata; + + private OverwritePrice overwritePrice; + + private Long priority; + + private StartsAt startsAt; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add( + this.endsAt, + this.extraParams, + this.lookupKey, + this.metadata, + this.overwritePrice, + this.priority, + this.startsAt, + this.type); + } + + /** Required. The end time for the override. */ + public Builder setEndsAt( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.EndsAt + endsAt) { + this.endsAt = endsAt; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add#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 lookup key for the override. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; + return this; + } + + /** A lookup key for the override. */ + public Builder setLookupKey(EmptyParam lookupKey) { + this.lookupKey = lookupKey; + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add#metadata} + * for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add#metadata} + * for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** + * Parameters for an overwrite_price override. Required if {@code type} is {@code + * overwrite_price}. + */ + public Builder setOverwritePrice( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice + overwritePrice) { + this.overwritePrice = overwritePrice; + return this; + } + + /** + * The priority of this override relative to others. 0 is highest, 100 is lowest. + * Defaults to 50. + */ + public Builder setPriority(Long priority) { + this.priority = priority; + return this; + } + + /** Required. The start time for the override. */ + public Builder setStartsAt( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.StartsAt + startsAt) { + this.startsAt = startsAt; + return this; + } + + /** Required. The type of override to add. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.Type + type) { + this.type = type; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EndsAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 timestamp when the item ends. */ + @SerializedName("timestamp") + Instant timestamp; + + /** Required. The type of end time to apply. */ + @SerializedName("type") + Type type; + + private EndsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.EndsAt + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.EndsAt( + this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.EndsAt#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.EndsAt#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 timestamp when the item ends. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of end time to apply. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.EndsAt.Type + type) { + this.type = type; + return this; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("billing_period_end") + BILLING_PERIOD_END("billing_period_end"), + + @SerializedName("timestamp") + TIMESTAMP("timestamp"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } - /** Required. The type of pricing line action. */ - public Builder setType(ContractUpdateParams.PricingLineAction.Type type) { - this.type = type; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OverwritePrice { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Parameters for updating a pricing line. */ - public Builder setUpdate(ContractUpdateParams.PricingLineAction.Update update) { - this.update = update; - return this; - } - } + /** Defines whether the tiered price should be graduated or volume-based. */ + @SerializedName("tiering_mode") + TieringMode tieringMode; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Add { - /** Required. The end time for the pricing line. */ - @SerializedName("ends_at") - EndsAt endsAt; + /** Each element represents a pricing tier. */ + @SerializedName("tiers") + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier> + tiers; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 per-unit amount to be charged, represented as a decimal string in minor + * currency units. + */ + @SerializedName("unit_amount") + Object unitAmount; + + private OverwritePrice( + Map extraParams, + TieringMode tieringMode, + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier> + tiers, + Object unitAmount) { + this.extraParams = extraParams; + this.tieringMode = tieringMode; + this.tiers = tiers; + this.unitAmount = unitAmount; + } - /** A lookup key for the pricing line. */ - @SerializedName("lookup_key") - Object lookupKey; + public static Builder builder() { + return new Builder(); + } - /** Metadata for the pricing line. */ - @SerializedName("metadata") - Map metadata; + public static class Builder { + private Map extraParams; - /** Required. The pricing configuration for the pricing line. */ - @SerializedName("pricing") - Pricing pricing; + private TieringMode tieringMode; - /** Required. The start time for the pricing line. */ - @SerializedName("starts_at") - StartsAt startsAt; + private List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier> + tiers; - private Add( - EndsAt endsAt, - Map extraParams, - Object lookupKey, - Map metadata, - Pricing pricing, - StartsAt startsAt) { - this.endsAt = endsAt; - this.extraParams = extraParams; - this.lookupKey = lookupKey; - this.metadata = metadata; - this.pricing = pricing; - this.startsAt = startsAt; - } + private Object unitAmount; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice( + this.extraParams, this.tieringMode, this.tiers, this.unitAmount); + } - public static class Builder { - private EndsAt endsAt; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.OverwritePrice#extraParams} + * for the 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 + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.OverwritePrice#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 lookupKey; + /** Defines whether the tiered price should be graduated or volume-based. */ + public Builder setTieringMode( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.TieringMode + tieringMode) { + this.tieringMode = tieringMode; + return this; + } - private Map metadata; + /** + * Add an element to `tiers` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the + * original list. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.OverwritePrice#tiers} + * for the field documentation. + */ + public Builder addTier( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier + element) { + if (this.tiers == null) { + this.tiers = new ArrayList<>(); + } + this.tiers.add(element); + return this; + } - private Pricing pricing; + /** + * Add all elements to `tiers` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the + * original list. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.OverwritePrice#tiers} + * for the field documentation. + */ + public Builder addAllTier( + List< + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier> + elements) { + if (this.tiers == null) { + this.tiers = new ArrayList<>(); + } + this.tiers.addAll(elements); + return this; + } - private StartsAt startsAt; + /** + * The per-unit amount to be charged, represented as a decimal string in minor + * currency units. + */ + public Builder setUnitAmount(String unitAmount) { + this.unitAmount = unitAmount; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingLineAction.Add build() { - return new ContractUpdateParams.PricingLineAction.Add( - this.endsAt, - this.extraParams, - this.lookupKey, - this.metadata, - this.pricing, - this.startsAt); - } + /** + * The per-unit amount to be charged, represented as a decimal string in minor + * currency units. + */ + public Builder setUnitAmount(EmptyParam unitAmount) { + this.unitAmount = unitAmount; + return this; + } + } - /** Required. The end time for the pricing line. */ - public Builder setEndsAt(ContractUpdateParams.PricingLineAction.Add.EndsAt endsAt) { - this.endsAt = endsAt; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Tier { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + @SerializedName("flat_amount") + Object flatAmount; + + /** + * Per-unit price for units included in this tier, represented as a decimal string + * in minor currency units. + */ + @SerializedName("unit_amount") + Object unitAmount; + + /** Up to and including this quantity will be contained in the tier. */ + @SerializedName("up_to_decimal") + Object upToDecimal; + + /** No upper bound to this tier. */ + @SerializedName("up_to_inf") + UpToInf upToInf; + + private Tier( + Map extraParams, + Object flatAmount, + Object unitAmount, + Object upToDecimal, + UpToInf upToInf) { + this.extraParams = extraParams; + this.flatAmount = flatAmount; + this.unitAmount = unitAmount; + this.upToDecimal = upToDecimal; + this.upToInf = upToInf; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Add#extraParams} for the 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 ContractUpdateParams.PricingLineAction.Add#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 Object flatAmount; + + private Object unitAmount; + + private Object upToDecimal; + + private UpToInf upToInf; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier( + this.extraParams, + this.flatAmount, + this.unitAmount, + this.upToDecimal, + this.upToInf); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.OverwritePrice.Tier#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.OverwritePrice.Tier#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + public Builder setFlatAmount(String flatAmount) { + this.flatAmount = flatAmount; + return this; + } + + /** + * Price for the entire tier, represented as a decimal string in minor currency + * units. + */ + public Builder setFlatAmount(EmptyParam flatAmount) { + this.flatAmount = flatAmount; + return this; + } + + /** + * Per-unit price for units included in this tier, represented as a decimal + * string in minor currency units. + */ + public Builder setUnitAmount(String unitAmount) { + this.unitAmount = unitAmount; + return this; + } + + /** + * Per-unit price for units included in this tier, represented as a decimal + * string in minor currency units. + */ + public Builder setUnitAmount(EmptyParam unitAmount) { + this.unitAmount = unitAmount; + return this; + } + + /** Up to and including this quantity will be contained in the tier. */ + public Builder setUpToDecimal(BigDecimal upToDecimal) { + this.upToDecimal = upToDecimal; + return this; + } + + /** Up to and including this quantity will be contained in the tier. */ + public Builder setUpToDecimal(EmptyParam upToDecimal) { + this.upToDecimal = upToDecimal; + return this; + } + + /** No upper bound to this tier. */ + public Builder setUpToInf( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.OverwritePrice.Tier.UpToInf + upToInf) { + this.upToInf = upToInf; + return this; + } + } - /** A lookup key for the pricing line. */ - public Builder setLookupKey(String lookupKey) { - this.lookupKey = lookupKey; - return this; - } + public enum UpToInf implements ApiRequestParams.EnumParam { + @SerializedName("inf") + INF("inf"); - /** A lookup key for the pricing line. */ - public Builder setLookupKey(EmptyParam lookupKey) { - this.lookupKey = lookupKey; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` - * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * ContractUpdateParams.PricingLineAction.Add#metadata} for the field documentation. - */ - public Builder putMetadata(String key, String value) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.put(key, value); - return this; - } + UpToInf(String value) { + this.value = value; + } + } + } - /** - * Add all map key/value pairs to `metadata` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Add#metadata} for the field - * documentation. - */ - public Builder putAllMetadata(Map map) { - if (this.metadata == null) { - this.metadata = new HashMap<>(); - } - this.metadata.putAll(map); - return this; - } + public enum TieringMode implements ApiRequestParams.EnumParam { + @SerializedName("graduated") + GRADUATED("graduated"), - /** Required. The pricing configuration for the pricing line. */ - public Builder setPricing(ContractUpdateParams.PricingLineAction.Add.Pricing pricing) { - this.pricing = pricing; - return this; - } + @SerializedName("volume") + VOLUME("volume"); - /** Required. The start time for the pricing line. */ - public Builder setStartsAt(ContractUpdateParams.PricingLineAction.Add.StartsAt startsAt) { - this.startsAt = startsAt; - return this; - } - } + @Getter(onMethod_ = {@Override}) + private final String value; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + TieringMode(String value) { + this.value = value; + } + } + } - /** The timestamp when the item ends. */ - @SerializedName("timestamp") - Instant timestamp; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StartsAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Required. The type of end time to apply. */ - @SerializedName("type") - Type type; + /** The timestamp when the item starts. */ + @SerializedName("timestamp") + Instant timestamp; - private EndsAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } + /** Required. The type of start time to apply. */ + @SerializedName("type") + Type type; - public static Builder builder() { - return new Builder(); - } + private StartsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Instant timestamp; + public static class Builder { + private Map extraParams; - private Type type; + private Instant timestamp; - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingLineAction.Add.EndsAt build() { - return new ContractUpdateParams.PricingLineAction.Add.EndsAt( - this.extraParams, this.timestamp, this.type); - } + private Type type; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Add.EndsAt#extraParams} for the - * 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 ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.StartsAt + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.StartsAt( + this.extraParams, this.timestamp, this.type); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Add.EndsAt#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 + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.StartsAt#extraParams} + * for the 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 timestamp when the item ends. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Add.StartsAt#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Required. The type of end time to apply. */ - public Builder setType(ContractUpdateParams.PricingLineAction.Add.EndsAt.Type type) { - this.type = type; - return this; - } - } + /** The timestamp when the item starts. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of start time to apply. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Add.StartsAt.Type + type) { + this.type = type; + return this; + } + } - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("billing_period_end") - BILLING_PERIOD_END("billing_period_end"), + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("billing_period_start") + BILLING_PERIOD_START("billing_period_start"), - @SerializedName("timestamp") - TIMESTAMP("timestamp"); + @SerializedName("timestamp") + TIMESTAMP("timestamp"); - @Getter(onMethod_ = {@Override}) - private final String value; + @Getter(onMethod_ = {@Override}) + private final String value; - Type(String value) { - this.value = value; - } - } - } + Type(String value) { + this.value = value; + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Pricing { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("overwrite_price") + OVERWRITE_PRICE("overwrite_price"); - /** V1 price details. Required if {@code type} is {@code price}. */ - @SerializedName("price_details") - PriceDetails priceDetails; + @Getter(onMethod_ = {@Override}) + private final String value; - /** Required. The type of pricing. */ - @SerializedName("type") - Type type; + Type(String value) { + this.value = value; + } + } + } - private Pricing(Map extraParams, PriceDetails priceDetails, Type type) { - this.extraParams = extraParams; - this.priceDetails = priceDetails; - this.type = type; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InnerUpdate { + /** The updated end time for the override. */ + @SerializedName("ends_at") + EndsAt endsAt; - public static Builder builder() { - return new Builder(); - } + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - public static class Builder { - private Map extraParams; + /** The ID of the pricing line override to update. */ + @SerializedName("id") + Object id; + + /** A lookup key for the override to update. */ + @SerializedName("lookup_key") + Object lookupKey; + + /** Set of key-value pairs that you can attach to an object. */ + @SerializedName("metadata") + Map metadata; + + /** The updated start time for the override. */ + @SerializedName("starts_at") + StartsAt startsAt; + + private InnerUpdate( + EndsAt endsAt, + Map extraParams, + Object id, + Object lookupKey, + Map metadata, + StartsAt startsAt) { + this.endsAt = endsAt; + this.extraParams = extraParams; + this.id = id; + this.lookupKey = lookupKey; + this.metadata = metadata; + this.startsAt = startsAt; + } - private PriceDetails priceDetails; + public static Builder builder() { + return new Builder(); + } - private Type type; + public static class Builder { + private EndsAt endsAt; - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingLineAction.Add.Pricing build() { - return new ContractUpdateParams.PricingLineAction.Add.Pricing( - this.extraParams, this.priceDetails, this.type); - } + 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 ContractUpdateParams.PricingLineAction.Add.Pricing#extraParams} for the - * 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 id; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Add.Pricing#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 lookupKey; - /** V1 price details. Required if {@code type} is {@code price}. */ - public Builder setPriceDetails( - ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails priceDetails) { - this.priceDetails = priceDetails; - return this; - } + private Map metadata; - /** Required. The type of pricing. */ - public Builder setType(ContractUpdateParams.PricingLineAction.Add.Pricing.Type type) { - this.type = type; - return this; - } - } + private StartsAt startsAt; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PriceDetails { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate( + this.endsAt, + this.extraParams, + this.id, + this.lookupKey, + this.metadata, + this.startsAt); + } - /** Required. The ID of the V1 price. */ - @SerializedName("price") - Object price; + /** The updated end time for the override. */ + public Builder setEndsAt( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.EndsAt + endsAt) { + this.endsAt = endsAt; + return this; + } - /** The quantity for the price. Only applicable for licensed prices. */ - @SerializedName("quantity") - Long quantity; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate#extraParams} + * for the 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 PriceDetails(Map extraParams, Object price, Long quantity) { - this.extraParams = extraParams; - this.price = price; - this.quantity = quantity; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** The ID of the pricing line override to update. */ + public Builder setId(String id) { + this.id = id; + return this; + } - public static class Builder { - private Map extraParams; + /** The ID of the pricing line override to update. */ + public Builder setId(EmptyParam id) { + this.id = id; + return this; + } - private Object price; + /** A lookup key for the override to update. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; + return this; + } - private Long quantity; + /** A lookup key for the override to update. */ + public Builder setLookupKey(EmptyParam lookupKey) { + this.lookupKey = lookupKey; + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails build() { - return new ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails( - this.extraParams, this.price, this.quantity); - } + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate#metadata} + * for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate#metadata} + * for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractUpdateParams.PricingLineAction.Add.Pricing.PriceDetails#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** The updated start time for the override. */ + public Builder setStartsAt( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.StartsAt + startsAt) { + this.startsAt = startsAt; + return this; + } } - this.extraParams.putAll(map); - return this; - } - /** Required. The ID of the V1 price. */ - public Builder setPrice(String price) { - this.price = price; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class EndsAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Required. The ID of the V1 price. */ - public Builder setPrice(EmptyParam price) { - this.price = price; - return this; - } + /** The timestamp when the item ends. */ + @SerializedName("timestamp") + Instant timestamp; - /** The quantity for the price. Only applicable for licensed prices. */ - public Builder setQuantity(Long quantity) { - this.quantity = quantity; - return this; - } - } - } + /** Required. The type of end time to apply. */ + @SerializedName("type") + Type type; - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("price") - PRICE("price"); + private EndsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } - @Getter(onMethod_ = {@Override}) - private final String value; + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.EndsAt + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.EndsAt( + this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate.EndsAt#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate.EndsAt#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Type(String value) { - this.value = value; - } - } - } + /** The timestamp when the item ends. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StartsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Required. The type of end time to apply. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.EndsAt.Type + type) { + this.type = type; + return this; + } + } - /** The timestamp when the item starts. */ - @SerializedName("timestamp") - Instant timestamp; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("billing_period_end") + BILLING_PERIOD_END("billing_period_end"), - /** Required. The type of start time to apply. */ - @SerializedName("type") - Type type; + @SerializedName("timestamp") + TIMESTAMP("timestamp"); - private StartsAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static Builder builder() { - return new Builder(); - } + Type(String value) { + this.value = value; + } + } + } - public static class Builder { - private Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class StartsAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 Instant timestamp; + /** The timestamp when the item starts. */ + @SerializedName("timestamp") + Instant timestamp; - private Type type; + /** Required. The type of start time to apply. */ + @SerializedName("type") + Type type; - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingLineAction.Add.StartsAt build() { - return new ContractUpdateParams.PricingLineAction.Add.StartsAt( - this.extraParams, this.timestamp, this.type); - } + private StartsAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Add.StartsAt#extraParams} for - * the 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 ContractUpdateParams.PricingLineAction.Add.StartsAt#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + public static class Builder { + private Map extraParams; - /** The timestamp when the item starts. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } + private Instant timestamp; - /** Required. The type of start time to apply. */ - public Builder setType(ContractUpdateParams.PricingLineAction.Add.StartsAt.Type type) { - this.type = type; - return this; - } - } + private Type type; - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("billing_period_start") - BILLING_PERIOD_START("billing_period_start"), + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.StartsAt + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.StartsAt( + this.extraParams, this.timestamp, this.type); + } - @SerializedName("timestamp") - TIMESTAMP("timestamp"); + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate.StartsAt#extraParams} + * for the 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 + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.InnerUpdate.StartsAt#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - Type(String value) { - this.value = value; - } - } - } - } + /** The timestamp when the item starts. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Remove { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Required. The type of start time to apply. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.InnerUpdate.StartsAt.Type + type) { + this.type = type; + return this; + } + } - /** Required. The ID of the pricing line to remove. */ - @SerializedName("id") - Object id; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("billing_period_start") + BILLING_PERIOD_START("billing_period_start"), - private Remove(Map extraParams, Object id) { - this.extraParams = extraParams; - this.id = id; - } + @SerializedName("timestamp") + TIMESTAMP("timestamp"); - public static Builder builder() { - return new Builder(); - } + @Getter(onMethod_ = {@Override}) + private final String value; - public static class Builder { - private Map extraParams; + Type(String value) { + this.value = value; + } + } + } + } - private Object id; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Remove { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 ContractUpdateParams.PricingLineAction.Remove build() { - return new ContractUpdateParams.PricingLineAction.Remove(this.extraParams, this.id); - } + /** The ID of the pricing line override to remove. */ + @SerializedName("id") + Object 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 ContractUpdateParams.PricingLineAction.Remove#extraParams} for the 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 lookup key for the override to remove. */ + @SerializedName("lookup_key") + Object lookupKey; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Remove#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 Remove(Map extraParams, Object id, Object lookupKey) { + this.extraParams = extraParams; + this.id = id; + this.lookupKey = lookupKey; + } - /** Required. The ID of the pricing line to remove. */ - public Builder setId(String id) { - this.id = id; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** Required. The ID of the pricing line to remove. */ - public Builder setId(EmptyParam id) { - this.id = id; - return this; - } - } - } + public static class Builder { + private Map extraParams; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Update { - /** The updated end time for the pricing line. */ - @SerializedName("ends_at") - EndsAt endsAt; + private Object id; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 lookupKey; - /** Required. The ID of the pricing line. */ - @SerializedName("id") - Object id; + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Remove + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .PricingOverrideAction.Remove(this.extraParams, this.id, this.lookupKey); + } - /** The updated start time for the pricing line. */ - @SerializedName("starts_at") - StartsAt startsAt; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Remove#extraParams} + * for the 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 Update(EndsAt endsAt, Map extraParams, Object id, StartsAt startsAt) { - this.endsAt = endsAt; - this.extraParams = extraParams; - this.id = id; - this.startsAt = startsAt; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.PricingOverrideAction.Remove#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - public static Builder builder() { - return new Builder(); - } + /** The ID of the pricing line override to remove. */ + public Builder setId(String id) { + this.id = id; + return this; + } + + /** The ID of the pricing line override to remove. */ + public Builder setId(EmptyParam id) { + this.id = id; + return this; + } - public static class Builder { - private EndsAt endsAt; + /** A lookup key for the override to remove. */ + public Builder setLookupKey(String lookupKey) { + this.lookupKey = lookupKey; + return this; + } - private Map extraParams; + /** A lookup key for the override to remove. */ + public Builder setLookupKey(EmptyParam lookupKey) { + this.lookupKey = lookupKey; + return this; + } + } + } - private Object id; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("add") + ADD("add"), - private StartsAt startsAt; + @SerializedName("remove") + REMOVE("remove"), - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingLineAction.Update build() { - return new ContractUpdateParams.PricingLineAction.Update( - this.endsAt, this.extraParams, this.id, this.startsAt); - } + @SerializedName("update") + UPDATE("update"); - /** The updated end time for the pricing line. */ - public Builder setEndsAt(ContractUpdateParams.PricingLineAction.Update.EndsAt endsAt) { - this.endsAt = endsAt; - return this; - } + @Getter(onMethod_ = {@Override}) + private final String value; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Update#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + Type(String value) { + this.value = value; + } + } } - this.extraParams.put(key, value); - return this; - } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Update#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 QuantityChange { + /** Required. When this quantity change takes effect. */ + @SerializedName("effective_at") + EffectiveAt effectiveAt; - /** Required. The ID of the pricing line. */ - public Builder setId(String id) { - this.id = id; - return this; - } + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Required. The ID of the pricing line. */ - public Builder setId(EmptyParam id) { - this.id = id; - return this; - } + /** Required. The quantity to set. */ + @SerializedName("set") + Object set; - /** The updated start time for the pricing line. */ - public Builder setStartsAt( - ContractUpdateParams.PricingLineAction.Update.StartsAt startsAt) { - this.startsAt = startsAt; - return this; - } - } + private QuantityChange( + EffectiveAt effectiveAt, Map extraParams, Object set) { + this.effectiveAt = effectiveAt; + this.extraParams = extraParams; + this.set = set; + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class EndsAt { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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 timestamp when the item ends. */ - @SerializedName("timestamp") - Instant timestamp; + public static class Builder { + private EffectiveAt effectiveAt; - /** Required. The type of end time to apply. */ - @SerializedName("type") - Type type; + private Map extraParams; - private EndsAt(Map extraParams, Instant timestamp, Type type) { - this.extraParams = extraParams; - this.timestamp = timestamp; - this.type = type; - } + private Object set; - public static Builder builder() { - return new Builder(); - } + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange(this.effectiveAt, this.extraParams, this.set); + } - public static class Builder { - private Map extraParams; + /** Required. When this quantity change takes effect. */ + public Builder setEffectiveAt( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.QuantityChange + .EffectiveAt + effectiveAt) { + this.effectiveAt = effectiveAt; + return this; + } - private Instant timestamp; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.QuantityChange#extraParams} + * for the 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 Type type; + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.QuantityChange#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 ContractUpdateParams.PricingLineAction.Update.EndsAt build() { - return new ContractUpdateParams.PricingLineAction.Update.EndsAt( - this.extraParams, this.timestamp, this.type); - } + /** Required. The quantity to set. */ + public Builder setSet(BigDecimal set) { + this.set = set; + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link ContractUpdateParams.PricingLineAction.Update.EndsAt#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. The quantity to set. */ + public Builder setSet(EmptyParam set) { + this.set = set; + 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 ContractUpdateParams.PricingLineAction.Update.EndsAt#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 EffectiveAt { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 timestamp when the item ends. */ - public Builder setTimestamp(Instant timestamp) { - this.timestamp = timestamp; - return this; - } + /** The timestamp for the effective at. */ + @SerializedName("timestamp") + Instant timestamp; - /** Required. The type of end time to apply. */ - public Builder setType(ContractUpdateParams.PricingLineAction.Update.EndsAt.Type type) { - this.type = type; - return this; - } - } + /** Required. The type of the effective at. */ + @SerializedName("type") + Type type; - public enum Type implements ApiRequestParams.EnumParam { - @SerializedName("billing_period_end") - BILLING_PERIOD_END("billing_period_end"), + private EffectiveAt(Map extraParams, Instant timestamp, Type type) { + this.extraParams = extraParams; + this.timestamp = timestamp; + this.type = type; + } - @SerializedName("timestamp") - TIMESTAMP("timestamp"); + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Instant timestamp; + + private Type type; + + /** Finalize and obtain parameter instance from this builder. */ + public ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange.EffectiveAt + build() { + return new ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange.EffectiveAt(this.extraParams, this.timestamp, this.type); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.QuantityChange.EffectiveAt#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails.QuantityChange.EffectiveAt#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 timestamp for the effective at. */ + public Builder setTimestamp(Instant timestamp) { + this.timestamp = timestamp; + return this; + } + + /** Required. The type of the effective at. */ + public Builder setType( + ContractUpdateParams.PricingLineAction.Update.Pricing.PriceDetails + .QuantityChange.EffectiveAt.Type + type) { + this.type = type; + return this; + } + } - @Getter(onMethod_ = {@Override}) - private final String value; + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("timestamp") + TIMESTAMP("timestamp"); - Type(String value) { - this.value = value; + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } + } } } } @@ -2205,19 +4817,6 @@ public Builder setFactor(EmptyParam factor) { @Getter @EqualsAndHashCode(callSuper = false) public static class Criterion { - /** Required. Filter by billable item IDs. */ - @SerializedName("billable_item_ids") - List billableItemIds; - - /** Required. Filter by billable item lookup keys. */ - @SerializedName("billable_item_lookup_keys") - List billableItemLookupKeys; - - /** Required. Filter by billable item type. */ - @SerializedName("billable_item_types") - List - billableItemTypes; - /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -2228,19 +4827,13 @@ public static class Criterion { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Filter by metadata conditions. */ - @SerializedName("metadata_conditions") - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition> - metadataConditions; + /** Filter by pricing line IDs. */ + @SerializedName("pricing_line_ids") + List pricingLineIds; - /** - * Required. Filter by rate card IDs. Only applicable for {@code - * multiplier} overrides. - */ - @SerializedName("rate_card_ids") - List rateCardIds; + /** Filter by pricing line lookup keys. */ + @SerializedName("pricing_line_lookup_keys") + List pricingLineLookupKeys; /** * Required. Whether to include or exclude items matching these criteria. @@ -2249,25 +4842,13 @@ public static class Criterion { Type type; private Criterion( - List billableItemIds, - List billableItemLookupKeys, - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .BillableItemType> - billableItemTypes, Map extraParams, - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition> - metadataConditions, - List rateCardIds, + List pricingLineIds, + List pricingLineLookupKeys, Type type) { - this.billableItemIds = billableItemIds; - this.billableItemLookupKeys = billableItemLookupKeys; - this.billableItemTypes = billableItemTypes; this.extraParams = extraParams; - this.metadataConditions = metadataConditions; - this.rateCardIds = rateCardIds; + this.pricingLineIds = pricingLineIds; + this.pricingLineLookupKeys = pricingLineLookupKeys; this.type = type; } @@ -2276,132 +4857,18 @@ public static Builder builder() { } public static class Builder { - private List billableItemIds; - - private List billableItemLookupKeys; - - private List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .BillableItemType> - billableItemTypes; - private Map extraParams; - private List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition> - metadataConditions; + private List pricingLineIds; - private List rateCardIds; + private List pricingLineLookupKeys; private Type type; /** Finalize and obtain parameter instance from this builder. */ public ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion build() { return new ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion( - this.billableItemIds, - this.billableItemLookupKeys, - this.billableItemTypes, - this.extraParams, - this.metadataConditions, - this.rateCardIds, - this.type); - } - - /** - * Add an element to `billableItemIds` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#billableItemIds} - * for the field documentation. - */ - public Builder addBillableItemId(String element) { - if (this.billableItemIds == null) { - this.billableItemIds = new ArrayList<>(); - } - this.billableItemIds.add(element); - return this; - } - - /** - * Add all elements to `billableItemIds` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#billableItemIds} - * for the field documentation. - */ - public Builder addAllBillableItemId(List elements) { - if (this.billableItemIds == null) { - this.billableItemIds = new ArrayList<>(); - } - this.billableItemIds.addAll(elements); - return this; - } - - /** - * Add an element to `billableItemLookupKeys` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#billableItemLookupKeys} - * for the field documentation. - */ - public Builder addBillableItemLookupKey(String element) { - if (this.billableItemLookupKeys == null) { - this.billableItemLookupKeys = new ArrayList<>(); - } - this.billableItemLookupKeys.add(element); - return this; - } - - /** - * Add all elements to `billableItemLookupKeys` list. A list is initialized for the - * first `add/addAll` call, and subsequent calls adds additional elements to the - * original list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#billableItemLookupKeys} - * for the field documentation. - */ - public Builder addAllBillableItemLookupKey(List elements) { - if (this.billableItemLookupKeys == null) { - this.billableItemLookupKeys = new ArrayList<>(); - } - this.billableItemLookupKeys.addAll(elements); - return this; - } - - /** - * Add an element to `billableItemTypes` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#billableItemTypes} - * for the field documentation. - */ - public Builder addBillableItemType( - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion.BillableItemType - element) { - if (this.billableItemTypes == null) { - this.billableItemTypes = new ArrayList<>(); - } - this.billableItemTypes.add(element); - return this; - } - - /** - * Add all elements to `billableItemTypes` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original - * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#billableItemTypes} - * for the field documentation. - */ - public Builder addAllBillableItemType( - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .BillableItemType> - elements) { - if (this.billableItemTypes == null) { - this.billableItemTypes = new ArrayList<>(); - } - this.billableItemTypes.addAll(elements); - return this; + this.extraParams, this.pricingLineIds, this.pricingLineLookupKeys, this.type); } /** @@ -2435,69 +4902,62 @@ public Builder putAllExtraParam(Map map) { } /** - * Add an element to `metadataConditions` list. A list is initialized for the first + * Add an element to `pricingLineIds` list. A list is initialized for the first * `add/addAll` call, and subsequent calls adds additional elements to the original * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#metadataConditions} + * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#pricingLineIds} * for the field documentation. */ - public Builder addMetadataCondition( - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition - element) { - if (this.metadataConditions == null) { - this.metadataConditions = new ArrayList<>(); + public Builder addPricingLineId(String element) { + if (this.pricingLineIds == null) { + this.pricingLineIds = new ArrayList<>(); } - this.metadataConditions.add(element); + this.pricingLineIds.add(element); return this; } /** - * Add all elements to `metadataConditions` list. A list is initialized for the first + * Add all elements to `pricingLineIds` list. A list is initialized for the first * `add/addAll` call, and subsequent calls adds additional elements to the original * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#metadataConditions} + * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#pricingLineIds} * for the field documentation. */ - public Builder addAllMetadataCondition( - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition> - elements) { - if (this.metadataConditions == null) { - this.metadataConditions = new ArrayList<>(); + public Builder addAllPricingLineId(List elements) { + if (this.pricingLineIds == null) { + this.pricingLineIds = new ArrayList<>(); } - this.metadataConditions.addAll(elements); + this.pricingLineIds.addAll(elements); return this; } /** - * Add an element to `rateCardIds` list. A list is initialized for the first + * Add an element to `pricingLineLookupKeys` list. A list is initialized for the first * `add/addAll` call, and subsequent calls adds additional elements to the original * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#rateCardIds} for - * the field documentation. + * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#pricingLineLookupKeys} + * for the field documentation. */ - public Builder addRateCardId(String element) { - if (this.rateCardIds == null) { - this.rateCardIds = new ArrayList<>(); + public Builder addPricingLineLookupKey(String element) { + if (this.pricingLineLookupKeys == null) { + this.pricingLineLookupKeys = new ArrayList<>(); } - this.rateCardIds.add(element); + this.pricingLineLookupKeys.add(element); return this; } /** - * Add all elements to `rateCardIds` list. A list is initialized for the first + * Add all elements to `pricingLineLookupKeys` list. A list is initialized for the first * `add/addAll` call, and subsequent calls adds additional elements to the original * list. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#rateCardIds} for - * the field documentation. + * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion#pricingLineLookupKeys} + * for the field documentation. */ - public Builder addAllRateCardId(List elements) { - if (this.rateCardIds == null) { - this.rateCardIds = new ArrayList<>(); + public Builder addAllPricingLineLookupKey(List elements) { + if (this.pricingLineLookupKeys == null) { + this.pricingLineLookupKeys = new ArrayList<>(); } - this.rateCardIds.addAll(elements); + this.pricingLineLookupKeys.addAll(elements); return this; } @@ -2512,242 +4972,6 @@ public Builder setType( } } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class MetadataCondition { - /** Required. All of these key-value conditions must match. */ - @SerializedName("all_of") - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition.AllOf> - allOf; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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 MetadataCondition( - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition.AllOf> - allOf, - Map extraParams) { - this.allOf = allOf; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition.AllOf> - allOf; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition - build() { - return new ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition(this.allOf, this.extraParams); - } - - /** - * Add an element to `allOf` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See - * {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion.MetadataCondition#allOf} - * for the field documentation. - */ - public Builder addAllOf( - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition.AllOf - element) { - if (this.allOf == null) { - this.allOf = new ArrayList<>(); - } - this.allOf.add(element); - return this; - } - - /** - * Add all elements to `allOf` list. A list is initialized for the first `add/addAll` - * call, and subsequent calls adds additional elements to the original list. See - * {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion.MetadataCondition#allOf} - * for the field documentation. - */ - public Builder addAllAllOf( - List< - ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition.AllOf> - elements) { - if (this.allOf == null) { - this.allOf = new ArrayList<>(); - } - this.allOf.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 - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion.MetadataCondition#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion.MetadataCondition#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 AllOf { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-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 metadata key. */ - @SerializedName("key") - Object key; - - /** Required. The metadata value. */ - @SerializedName("value") - Object value; - - private AllOf(Map extraParams, Object key, Object value) { - this.extraParams = extraParams; - this.key = key; - this.value = value; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Object key; - - private Object value; - - /** Finalize and obtain parameter instance from this builder. */ - public ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition.AllOf - build() { - return new ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion - .MetadataCondition.AllOf(this.extraParams, this.key, 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 - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion.MetadataCondition.AllOf#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * ContractUpdateParams.PricingOverrideAction.Add.Multiplier.Criterion.MetadataCondition.AllOf#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 metadata key. */ - public Builder setKey(String key) { - this.key = key; - return this; - } - - /** Required. The metadata key. */ - public Builder setKey(EmptyParam key) { - this.key = key; - return this; - } - - /** Required. The metadata value. */ - public Builder setValue(String value) { - this.value = value; - return this; - } - - /** Required. The metadata value. */ - public Builder setValue(EmptyParam value) { - this.value = value; - return this; - } - } - } - } - - public enum BillableItemType implements ApiRequestParams.EnumParam { - @SerializedName("licensed") - LICENSED("licensed"), - - @SerializedName("metered") - METERED("metered"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - BillableItemType(String value) { - this.value = value; - } - } - public enum Type implements ApiRequestParams.EnumParam { @SerializedName("exclude") EXCLUDE("exclude"), @@ -2778,10 +5002,6 @@ public static class OverwritePrice { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. The ID of the V1 price to overwrite. */ - @SerializedName("price") - Object price; - /** Defines whether the tiered price should be graduated or volume-based. */ @SerializedName("tiering_mode") TieringMode tieringMode; @@ -2799,12 +5019,10 @@ public static class OverwritePrice { private OverwritePrice( Map extraParams, - Object price, TieringMode tieringMode, List tiers, Object unitAmount) { this.extraParams = extraParams; - this.price = price; this.tieringMode = tieringMode; this.tiers = tiers; this.unitAmount = unitAmount; @@ -2817,8 +5035,6 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Object price; - private TieringMode tieringMode; private List tiers; @@ -2828,7 +5044,7 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public ContractUpdateParams.PricingOverrideAction.Add.OverwritePrice build() { return new ContractUpdateParams.PricingOverrideAction.Add.OverwritePrice( - this.extraParams, this.price, this.tieringMode, this.tiers, this.unitAmount); + this.extraParams, this.tieringMode, this.tiers, this.unitAmount); } /** @@ -2861,18 +5077,6 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. The ID of the V1 price to overwrite. */ - public Builder setPrice(String price) { - this.price = price; - return this; - } - - /** Required. The ID of the V1 price to overwrite. */ - public Builder setPrice(EmptyParam price) { - this.price = price; - return this; - } - /** Defines whether the tiered price should be graduated or volume-based. */ public Builder setTieringMode( ContractUpdateParams.PricingOverrideAction.Add.OverwritePrice.TieringMode @@ -3218,10 +5422,7 @@ public enum Type implements ApiRequestParams.EnumParam { public enum Type implements ApiRequestParams.EnumParam { @SerializedName("multiplier") - MULTIPLIER("multiplier"), - - @SerializedName("overwrite_price") - OVERWRITE_PRICE("overwrite_price"); + MULTIPLIER("multiplier"); @Getter(onMethod_ = {@Override}) private final String value; @@ -3638,11 +5839,8 @@ public enum Type implements ApiRequestParams.EnumParam { } public enum Include implements ApiRequestParams.EnumParam { - @SerializedName("contract_line_details") - CONTRACT_LINE_DETAILS("contract_line_details"), - - @SerializedName("license_quantities") - LICENSE_QUANTITIES("license_quantities"), + @SerializedName("billing_settings") + BILLING_SETTINGS("billing_settings"), @SerializedName("one_time_fees") ONE_TIME_FEES("one_time_fees"), diff --git a/src/main/java/com/stripe/param/v2/billing/MeterEventCreateParams.java b/src/main/java/com/stripe/param/v2/billing/MeterEventCreateParams.java index 3d447eef4fe..eeb059d7f17 100644 --- a/src/main/java/com/stripe/param/v2/billing/MeterEventCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/MeterEventCreateParams.java @@ -30,14 +30,14 @@ public class MeterEventCreateParams extends ApiRequestParams { /** * A unique identifier for the event. If not provided, one will be generated. We recommend using a - * globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour period. + * globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour period. */ @SerializedName("identifier") String identifier; /** * Required. The payload of the event. This must contain the fields corresponding - * to a meter’s {@code customer_mapping.event_payload_key} (default is {@code stripe_customer_id}) + * to a meter's {@code customer_mapping.event_payload_key} (default is {@code stripe_customer_id}) * and {@code value_settings.event_payload_key} (default is {@code value}). Read more about the payload. */ @@ -122,7 +122,7 @@ public Builder putAllExtraParam(Map map) { /** * A unique identifier for the event. If not provided, one will be generated. We recommend using - * a globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour + * a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour * period. */ public Builder setIdentifier(String identifier) { diff --git a/src/main/java/com/stripe/param/v2/billing/MeterEventStreamCreateParams.java b/src/main/java/com/stripe/param/v2/billing/MeterEventStreamCreateParams.java index 8712b57029c..8e4e900182d 100644 --- a/src/main/java/com/stripe/param/v2/billing/MeterEventStreamCreateParams.java +++ b/src/main/java/com/stripe/param/v2/billing/MeterEventStreamCreateParams.java @@ -124,7 +124,7 @@ public static class Event { /** * A unique identifier for the event. If not provided, one will be generated. We recommend using - * a globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 hour + * a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 hour * period. */ @SerializedName("identifier") @@ -132,7 +132,7 @@ public static class Event { /** * Required. The payload of the event. This must contain the fields - * corresponding to a meter’s {@code customer_mapping.event_payload_key} (default is {@code + * corresponding to a meter's {@code customer_mapping.event_payload_key} (default is {@code * stripe_customer_id}) and {@code value_settings.event_payload_key} (default is {@code value}). * Read more about the payload. @@ -218,7 +218,7 @@ public Builder putAllExtraParam(Map map) { /** * A unique identifier for the event. If not provided, one will be generated. We recommend - * using a globally unique identifier for this. We’ll enforce uniqueness within a rolling 24 + * using a globally unique identifier for this. We'll enforce uniqueness within a rolling 24 * hour period. */ public Builder setIdentifier(String identifier) { diff --git a/src/main/java/com/stripe/param/v2/billing/contracts/licensepricing/QuantityChangeListQuantityChangesParams.java b/src/main/java/com/stripe/param/v2/billing/contracts/pricinglines/QuantityChangeListContractPricingLineQuantityChangesParams.java similarity index 75% rename from src/main/java/com/stripe/param/v2/billing/contracts/licensepricing/QuantityChangeListQuantityChangesParams.java rename to src/main/java/com/stripe/param/v2/billing/contracts/pricinglines/QuantityChangeListContractPricingLineQuantityChangesParams.java index a398c46a88f..9b3df0b75cd 100644 --- a/src/main/java/com/stripe/param/v2/billing/contracts/licensepricing/QuantityChangeListQuantityChangesParams.java +++ b/src/main/java/com/stripe/param/v2/billing/contracts/pricinglines/QuantityChangeListContractPricingLineQuantityChangesParams.java @@ -1,5 +1,5 @@ // File generated from our OpenAPI spec -package com.stripe.param.v2.billing.contracts.licensepricing; +package com.stripe.param.v2.billing.contracts.pricinglines; import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; @@ -10,7 +10,7 @@ @Getter @EqualsAndHashCode(callSuper = false) -public class QuantityChangeListQuantityChangesParams extends ApiRequestParams { +public class QuantityChangeListContractPricingLineQuantityChangesParams extends ApiRequestParams { /** * Map of extra parameters for custom features not available in this client library. The content * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each @@ -24,7 +24,8 @@ public class QuantityChangeListQuantityChangesParams extends ApiRequestParams { @SerializedName("limit") Long limit; - private QuantityChangeListQuantityChangesParams(Map extraParams, Long limit) { + private QuantityChangeListContractPricingLineQuantityChangesParams( + Map extraParams, Long limit) { this.extraParams = extraParams; this.limit = limit; } @@ -39,14 +40,16 @@ public static class Builder { private Long limit; /** Finalize and obtain parameter instance from this builder. */ - public QuantityChangeListQuantityChangesParams build() { - return new QuantityChangeListQuantityChangesParams(this.extraParams, this.limit); + public QuantityChangeListContractPricingLineQuantityChangesParams build() { + return new QuantityChangeListContractPricingLineQuantityChangesParams( + this.extraParams, this.limit); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` * call, and subsequent calls add additional key/value pairs to the original map. See {@link - * QuantityChangeListQuantityChangesParams#extraParams} for the field documentation. + * QuantityChangeListContractPricingLineQuantityChangesParams#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -59,7 +62,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 QuantityChangeListQuantityChangesParams#extraParams} for the field documentation. + * See {@link QuantityChangeListContractPricingLineQuantityChangesParams#extraParams} for the + * field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { 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 a9ef9344658..4c04bddd336 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountCloseParams.java @@ -117,8 +117,8 @@ public enum AppliedConfiguration implements ApiRequestParams.EnumParam { @SerializedName("recipient") RECIPIENT("recipient"), - @SerializedName("storer") - STORER("storer"); + @SerializedName("money_manager") + MONEY_MANAGER("money_manager"); @Getter(onMethod_ = {@Override}) private final String value; 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 bd36712f4a0..c08ea781aed 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountCreateParams.java @@ -313,6 +313,13 @@ public static class Configuration { @SerializedName("merchant") Merchant merchant; + /** + * The Money Manager Configuration allows the Account to store and move funds using + * FinancialAccounts. + */ + @SerializedName("money_manager") + MoneyManager moneyManager; + /** * The Recipient Configuration allows the Account to receive funds. Utilize this configuration * if the Account will not be the Merchant of Record, like with Separate Charges & @@ -321,26 +328,19 @@ public static class Configuration { @SerializedName("recipient") Recipient recipient; - /** - * The Storer Configuration allows the Account to store and move funds using stored-value - * FinancialAccounts. - */ - @SerializedName("storer") - Storer storer; - private Configuration( CardCreator cardCreator, Customer customer, Map extraParams, Merchant merchant, - Recipient recipient, - Storer storer) { + MoneyManager moneyManager, + Recipient recipient) { this.cardCreator = cardCreator; this.customer = customer; this.extraParams = extraParams; this.merchant = merchant; + this.moneyManager = moneyManager; this.recipient = recipient; - this.storer = storer; } public static Builder builder() { @@ -356,9 +356,9 @@ public static class Builder { private Merchant merchant; - private Recipient recipient; + private MoneyManager moneyManager; - private Storer storer; + private Recipient recipient; /** Finalize and obtain parameter instance from this builder. */ public AccountCreateParams.Configuration build() { @@ -367,8 +367,8 @@ public AccountCreateParams.Configuration build() { this.customer, this.extraParams, this.merchant, - this.recipient, - this.storer); + this.moneyManager, + this.recipient); } /** The CardCreator Configuration allows the Account to create and issue cards to users. */ @@ -425,21 +425,21 @@ public Builder setMerchant(AccountCreateParams.Configuration.Merchant merchant) } /** - * The Recipient Configuration allows the Account to receive funds. Utilize this configuration - * if the Account will not be the Merchant of Record, like with Separate Charges & - * Transfers, or Destination Charges without on_behalf_of set. + * The Money Manager Configuration allows the Account to store and move funds using + * FinancialAccounts. */ - public Builder setRecipient(AccountCreateParams.Configuration.Recipient recipient) { - this.recipient = recipient; + public Builder setMoneyManager(AccountCreateParams.Configuration.MoneyManager moneyManager) { + this.moneyManager = moneyManager; return this; } /** - * The Storer Configuration allows the Account to store and move funds using stored-value - * FinancialAccounts. + * The Recipient Configuration allows the Account to receive funds. Utilize this configuration + * if the Account will not be the Merchant of Record, like with Separate Charges & + * Transfers, or Destination Charges without on_behalf_of set. */ - public Builder setStorer(AccountCreateParams.Configuration.Storer storer) { - this.storer = storer; + public Builder setRecipient(AccountCreateParams.Configuration.Recipient recipient) { + this.recipient = recipient; return this; } } @@ -7006,6 +7006,10 @@ public static class Capabilities { @SerializedName("sepa_debit_payments") SepaDebitPayments sepaDebitPayments; + /** Allow the merchant to process Sunbit payments. */ + @SerializedName("sunbit_payments") + SunbitPayments sunbitPayments; + /** Allow the merchant to process Swish payments. */ @SerializedName("swish_payments") SwishPayments swishPayments; @@ -7064,6 +7068,7 @@ private Capabilities( SamsungPayPayments samsungPayPayments, SepaBankTransferPayments sepaBankTransferPayments, SepaDebitPayments sepaDebitPayments, + SunbitPayments sunbitPayments, SwishPayments swishPayments, TwintPayments twintPayments, UsBankTransferPayments usBankTransferPayments, @@ -7109,6 +7114,7 @@ private Capabilities( this.samsungPayPayments = samsungPayPayments; this.sepaBankTransferPayments = sepaBankTransferPayments; this.sepaDebitPayments = sepaDebitPayments; + this.sunbitPayments = sunbitPayments; this.swishPayments = swishPayments; this.twintPayments = twintPayments; this.usBankTransferPayments = usBankTransferPayments; @@ -7202,6 +7208,8 @@ public static class Builder { private SepaDebitPayments sepaDebitPayments; + private SunbitPayments sunbitPayments; + private SwishPayments swishPayments; private TwintPayments twintPayments; @@ -7254,6 +7262,7 @@ public AccountCreateParams.Configuration.Merchant.Capabilities build() { this.samsungPayPayments, this.sepaBankTransferPayments, this.sepaDebitPayments, + this.sunbitPayments, this.swishPayments, this.twintPayments, this.usBankTransferPayments, @@ -7597,6 +7606,14 @@ public Builder setSepaDebitPayments( return this; } + /** Allow the merchant to process Sunbit payments. */ + public Builder setSunbitPayments( + AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments + sunbitPayments) { + this.sunbitPayments = sunbitPayments; + return this; + } + /** Allow the merchant to process Swish payments. */ public Builder setSwishPayments( AccountCreateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { @@ -17833,6 +17850,260 @@ public Builder setRequested(Boolean requested) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SunbitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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 SunbitPayments( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments + .Protections + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments + .Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.SunbitPayments + .Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments + .Protections.PspMigration(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SwishPayments { @@ -20232,8 +20503,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 MoneyManager { + /** Capabilities to request on the Money Manager Configuration. */ @SerializedName("capabilities") Capabilities capabilities; @@ -20246,9 +20517,71 @@ public static class Recipient { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Recipient(Capabilities capabilities, Map extraParams) { + /** List of high-risk activities the business is involved in. */ + @SerializedName("high_risk_activities") + List highRiskActivities; + + /** Description of the high-risk activities the business offers. */ + @SerializedName("high_risk_activities_description") + String highRiskActivitiesDescription; + + /** Description of the money services offered by the business. */ + @SerializedName("money_services_description") + String moneyServicesDescription; + + /** Indicates whether the business operates in any prohibited countries. */ + @SerializedName("operates_in_prohibited_countries") + Boolean operatesInProhibitedCountries; + + /** Indicates whether the business participates in any regulated activity. */ + @SerializedName("participates_in_regulated_activity") + Boolean participatesInRegulatedActivity; + + /** Primary purpose of the stored funds. */ + @SerializedName("purpose_of_funds") + PurposeOfFunds purposeOfFunds; + + /** Description of the purpose of the stored funds. */ + @SerializedName("purpose_of_funds_description") + String purposeOfFundsDescription; + + /** Details of the regulated activity if the business participates in one. */ + @SerializedName("regulated_activity") + RegulatedActivity regulatedActivity; + + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + @SerializedName("source_of_funds") + SourceOfFunds sourceOfFunds; + + /** Description of the source of funds for the business' account. */ + @SerializedName("source_of_funds_description") + String sourceOfFundsDescription; + + private MoneyManager( + Capabilities capabilities, + Map extraParams, + List highRiskActivities, + String highRiskActivitiesDescription, + String moneyServicesDescription, + Boolean operatesInProhibitedCountries, + Boolean participatesInRegulatedActivity, + PurposeOfFunds purposeOfFunds, + String purposeOfFundsDescription, + RegulatedActivity regulatedActivity, + SourceOfFunds sourceOfFunds, + String sourceOfFundsDescription) { this.capabilities = capabilities; this.extraParams = extraParams; + this.highRiskActivities = highRiskActivities; + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + this.moneyServicesDescription = moneyServicesDescription; + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + this.purposeOfFunds = purposeOfFunds; + this.purposeOfFundsDescription = purposeOfFundsDescription; + this.regulatedActivity = regulatedActivity; + this.sourceOfFunds = sourceOfFunds; + this.sourceOfFundsDescription = sourceOfFundsDescription; } public static Builder builder() { @@ -20260,15 +20593,47 @@ public static class Builder { private Map extraParams; + private List + highRiskActivities; + + private String highRiskActivitiesDescription; + + private String moneyServicesDescription; + + private Boolean operatesInProhibitedCountries; + + private Boolean participatesInRegulatedActivity; + + private PurposeOfFunds purposeOfFunds; + + private String purposeOfFundsDescription; + + private RegulatedActivity regulatedActivity; + + private SourceOfFunds sourceOfFunds; + + private String sourceOfFundsDescription; + /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient build() { - return new AccountCreateParams.Configuration.Recipient( - this.capabilities, this.extraParams); + public AccountCreateParams.Configuration.MoneyManager build() { + return new AccountCreateParams.Configuration.MoneyManager( + this.capabilities, + this.extraParams, + this.highRiskActivities, + this.highRiskActivitiesDescription, + this.moneyServicesDescription, + this.operatesInProhibitedCountries, + this.participatesInRegulatedActivity, + this.purposeOfFunds, + this.purposeOfFundsDescription, + this.regulatedActivity, + this.sourceOfFunds, + this.sourceOfFundsDescription); } - /** Capabilities to be requested on the Recipient Configuration. */ + /** Capabilities to request on the Money Manager Configuration. */ public Builder setCapabilities( - AccountCreateParams.Configuration.Recipient.Capabilities capabilities) { + AccountCreateParams.Configuration.MoneyManager.Capabilities capabilities) { this.capabilities = capabilities; return this; } @@ -20276,7 +20641,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.MoneyManager#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -20290,7 +20655,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.MoneyManager#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -20300,22 +20665,105 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** + * Add an element to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Configuration.MoneyManager#highRiskActivities} for the + * field documentation. + */ + public Builder addHighRiskActivity( + AccountCreateParams.Configuration.MoneyManager.HighRiskActivity element) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); + } + this.highRiskActivities.add(element); + return this; + } + + /** + * Add all elements to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountCreateParams.Configuration.MoneyManager#highRiskActivities} for the + * field documentation. + */ + public Builder addAllHighRiskActivity( + List elements) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); + } + this.highRiskActivities.addAll(elements); + return this; + } + + /** Description of the high-risk activities the business offers. */ + public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + return this; + } + + /** Description of the money services offered by the business. */ + public Builder setMoneyServicesDescription(String moneyServicesDescription) { + this.moneyServicesDescription = moneyServicesDescription; + return this; + } + + /** Indicates whether the business operates in any prohibited countries. */ + public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + return this; + } + + /** Indicates whether the business participates in any regulated activity. */ + public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + return this; + } + + /** Primary purpose of the stored funds. */ + public Builder setPurposeOfFunds( + AccountCreateParams.Configuration.MoneyManager.PurposeOfFunds purposeOfFunds) { + this.purposeOfFunds = purposeOfFunds; + return this; + } + + /** Description of the purpose of the stored funds. */ + public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { + this.purposeOfFundsDescription = purposeOfFundsDescription; + return this; + } + + /** Details of the regulated activity if the business participates in one. */ + public Builder setRegulatedActivity( + AccountCreateParams.Configuration.MoneyManager.RegulatedActivity regulatedActivity) { + this.regulatedActivity = regulatedActivity; + return this; + } + + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + public Builder setSourceOfFunds( + AccountCreateParams.Configuration.MoneyManager.SourceOfFunds sourceOfFunds) { + this.sourceOfFunds = sourceOfFunds; + return this; + } + + /** Description of the source of funds for the business' account. */ + public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { + this.sourceOfFundsDescription = sourceOfFundsDescription; + 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; + /** Can send or receive business storage-type funds on Stripe. */ + @SerializedName("business_storage") + BusinessStorage businessStorage; - /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; + /** Can send or receive consumer storage-type funds on Stripe. */ + @SerializedName("consumer_storage") + ConsumerStorage consumerStorage; /** * Map of extra parameters for custom features not available in this client library. The @@ -20327,27 +20775,43 @@ public static class Capabilities { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Capabilities that enable OutboundPayments via paper check. */ - @SerializedName("paper_checks") - PaperChecks paperChecks; + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + @SerializedName("inbound_transfers") + InboundTransfers inboundTransfers; - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("stripe_balance") - StripeBalance stripeBalance; + /** 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; + + /** Can receive funds into a FinancialAccount. */ + @SerializedName("received_credits") + ReceivedCredits receivedCredits; + + /** Can receive debits to a FinancialAccount. */ + @SerializedName("received_debits") + ReceivedDebits receivedDebits; private Capabilities( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, + BusinessStorage businessStorage, + ConsumerStorage consumerStorage, Map extraParams, - PaperChecks paperChecks, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers, + ReceivedCredits receivedCredits, + ReceivedDebits receivedDebits) { + this.businessStorage = businessStorage; + this.consumerStorage = consumerStorage; this.extraParams = extraParams; - this.paperChecks = paperChecks; - this.stripeBalance = stripeBalance; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; + this.receivedCredits = receivedCredits; + this.receivedDebits = receivedDebits; } public static Builder builder() { @@ -20355,58 +20819,57 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; + private BusinessStorage businessStorage; - private CryptoWallets cryptoWallets; + private ConsumerStorage consumerStorage; private Map extraParams; - private PaperChecks paperChecks; + private InboundTransfers inboundTransfers; - private StripeBalance stripeBalance; + private OutboundPayments outboundPayments; + + private OutboundTransfers outboundTransfers; + + private ReceivedCredits receivedCredits; + + private ReceivedDebits receivedDebits; /** 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.MoneyManager.Capabilities build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities( + this.businessStorage, + this.consumerStorage, this.extraParams, - this.paperChecks, - 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; + this.inboundTransfers, + this.outboundPayments, + this.outboundTransfers, + this.receivedCredits, + this.receivedDebits); } - /** Capabilities that enable OutboundPayments to a card linked to this Account. */ - public Builder setCards( - AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; + /** Can send or receive business storage-type funds on Stripe. */ + public Builder setBusinessStorage( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + businessStorage) { + this.businessStorage = businessStorage; 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; + /** Can send or receive consumer storage-type funds on Stripe. */ + public Builder setConsumerStorage( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + consumerStorage) { + this.consumerStorage = consumerStorage; return this; } /** * Add a key/value pair to `extraParams` map. A map 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.MoneyManager.Capabilities#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -20419,8 +20882,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 AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} - * for the field documentation. + * map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -20430,27 +20894,50 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Capabilities that enable OutboundPayments via paper check. */ - public Builder setPaperChecks( - AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks paperChecks) { - this.paperChecks = paperChecks; + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + public Builder setInboundTransfers( + AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + inboundTransfers) { + this.inboundTransfers = inboundTransfers; 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 send funds from a FinancialAccount to a destination owned by someone else. */ + public Builder setOutboundPayments( + AccountCreateParams.Configuration.MoneyManager.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.MoneyManager.Capabilities.OutboundTransfers + outboundTransfers) { + this.outboundTransfers = outboundTransfers; + return this; + } + + /** Can receive funds into a FinancialAccount. */ + public Builder setReceivedCredits( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + receivedCredits) { + this.receivedCredits = receivedCredits; + return this; + } + + /** Can receive debits to a FinancialAccount. */ + public Builder setReceivedDebits( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + receivedDebits) { + this.receivedDebits = receivedDebits; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class BusinessStorage { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -20461,37 +20948,19 @@ public static class BankAccounts { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real time - * rails. - */ - @SerializedName("instant") - com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant; - - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over local - * networks. - */ - @SerializedName("local") - Local local; + /** Can receive business storage-type funds on Stripe. */ + @SerializedName("inbound") + Inbound inbound; - /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - @SerializedName("wire") - Wire wire; + /** Can send business storage-type funds on Stripe. */ + @SerializedName("outbound") + Outbound outbound; - private BankAccounts( - Map extraParams, - com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant, - Local local, - Wire wire) { + private BusinessStorage( + Map extraParams, Inbound inbound, Outbound outbound) { this.extraParams = extraParams; - this.instant = instant; - this.local = local; - this.wire = wire; + this.inbound = inbound; + this.outbound = outbound; } public static Builder builder() { @@ -20501,25 +20970,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient - .Capabilities.BankAccounts.Instant - instant; - - private Local local; + private Inbound inbound; - private Wire wire; + private Outbound outbound; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts( - this.extraParams, this.instant, this.local, this.wire); + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage(this.extraParams, this.inbound, this.outbound); } /** * Add a key/value pair to `extraParams` map. A map 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.MoneyManager.Capabilities.BusinessStorage#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -20534,7 +21000,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.MoneyManager.Capabilities.BusinessStorage#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -20545,40 +21011,38 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real - * time rails. - */ - public Builder setInstant( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - instant) { - this.instant = instant; - return this; - } - - /** - * 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; + /** Can receive business storage-type funds on Stripe. */ + public Builder setInbound( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound + inbound) { + this.inbound = inbound; 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; + /** Can send business storage-type funds on Stripe. */ + public Builder setOutbound( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound + outbound) { + this.outbound = outbound; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Instant { + public static class Inbound { + /** Can receive business storage-type funds on Stripe in AUD. */ + @SerializedName("aud") + Aud aud; + + /** Can receive business storage-type funds on Stripe in CAD. */ + @SerializedName("cad") + Cad cad; + + /** Can receive business storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -20589,22 +21053,33 @@ public static class Instant { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + /** Can receive business storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Can receive business storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; - private Instant( - Map extraParams, Protections protections, Boolean requested) { + /** Can receive business storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Inbound( + Aud aud, + Cad cad, + Eur eur, + Map extraParams, + Gbp gbp, + Usd usd, + Usdc usdc) { + this.aud = aud; + this.cad = cad; + this.eur = eur; this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.gbp = gbp; + this.usd = usd; + this.usdc = usdc; } public static Builder builder() { @@ -20612,24 +21087,61 @@ public static Builder builder() { } public static class Builder { + private Aud aud; + + private Cad cad; + + private Eur eur; + private Map extraParams; - private Protections protections; + private Gbp gbp; - private Boolean requested; + private Usd usd; + + private Usdc usdc; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound( + this.aud, this.cad, this.eur, this.extraParams, this.gbp, this.usd, this.usdc); + } + + /** Can receive business storage-type funds on Stripe in AUD. */ + public Builder setAud( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud + aud) { + this.aud = aud; + return this; + } + + /** Can receive business storage-type funds on Stripe in CAD. */ + public Builder setCad( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad + cad) { + this.cad = cad; + return this; + } + + /** Can receive business storage-type funds on Stripe in EUR. */ + public Builder setEur( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur + eur) { + this.eur = eur; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -20644,7 +21156,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.Instant#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -20655,30 +21167,37 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - .Protections - protections) { - this.protections = protections; + /** Can receive business storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp + gbp) { + this.gbp = gbp; return this; } - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Can receive business storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can receive business storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc + usdc) { + this.usdc = usdc; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class Aud { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -20689,13 +21208,24 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - private Protections(Map extraParams, PspMigration pspMigration) { + /** + * 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 Aud( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -20705,21 +21235,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - .Protections + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -20734,7 +21267,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.Instant.Protections#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -20745,19 +21278,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud.Protections + protections) { + this.protections = protections; + 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 PspMigration { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -20768,13 +21312,13 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PspMigration(Map extraParams, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -20784,21 +21328,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant.Protections.PspMigration + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud.Protections build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant.Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud.Protections( + this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -20813,7 +21358,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.Instant.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -20824,119 +21369,99 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; 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; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Local( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } + private PspMigration(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 Protections protections; + private Boolean requested; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud.Protections.PspMigration( + this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local(this.extraParams, this.protections, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.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.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections - protections) { - this.protections = protections; - 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 Protections { + public static class Cad { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -20947,13 +21472,24 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - private Protections(Map extraParams, PspMigration pspMigration) { + /** + * 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 Cad( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -20963,21 +21499,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -20992,7 +21531,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.Protections#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21003,19 +21542,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad.Protections + protections) { + this.protections = protections; + 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 PspMigration { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21026,13 +21576,13 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PspMigration(Map extraParams, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -21042,21 +21592,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections.PspMigration + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad.Protections build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local.Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad.Protections( + this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21071,7 +21622,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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21082,119 +21633,99 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; 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; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Wire( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } + private PspMigration(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 Protections protections; + private Boolean requested; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad.Protections.PspMigration( + this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.protections, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections - protections) { - this.protections = protections; - 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 Protections { + public static class Eur { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21205,13 +21736,24 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - private Protections(Map extraParams, PspMigration pspMigration) { + /** + * 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 Eur( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -21221,21 +21763,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21250,7 +21795,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.Protections#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21261,19 +21806,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur.Protections + protections) { + this.protections = protections; + 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 PspMigration { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21284,13 +21840,13 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PspMigration(Map extraParams, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -21300,21 +21856,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections.PspMigration + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur.Protections build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire.Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur.Protections( + this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21329,7 +21886,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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21340,194 +21897,99 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; 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; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Cards( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Protections protections; - - 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.protections, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map 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; - } - - /** Protection types to request for this capability (e.g. "psp_migration"). */ - public Builder setProtections( - AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections - protections) { - this.protections = protections; - 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 Protections { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; - - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } + 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 PspMigration pspMigration; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur.Protections.PspMigration( + this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards - .Protections(this.extraParams, this.pspMigration); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections - .PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PspMigration { + 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 @@ -21538,12 +22000,23 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 PspMigration(Map extraParams, Boolean requested) { + private Gbp( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; + this.protections = protections; this.requested = requested; } @@ -21554,21 +22027,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Protections protections; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections - .PspMigration + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards - .Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21583,7 +22059,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.Cards.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21594,194 +22070,190 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp.Protections + protections) { + this.protections = protections; + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ public Builder setRequested(Boolean requested) { this.requested = requested; return this; } } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - private CryptoWallets( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - public static Builder builder() { - return new Builder(); - } + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Protections protections; + public static class Builder { + private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; - /** 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.protections, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp.Protections( + this.extraParams, this.pspMigration); + } - /** - * Add a key/value pair to `extraParams` map. A map 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 a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Protection types to request for this capability (e.g. "psp_migration"). */ - public Builder setProtections( - AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections - protections) { - this.protections = protections; - return this; - } + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + 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 PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 Protections { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } + 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 PspMigration pspMigration; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp.Protections.PspMigration( + this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections(this.extraParams, this.pspMigration); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections - .PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PspMigration { + public static class Usd { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21792,12 +22264,23 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 PspMigration(Map extraParams, Boolean requested) { + private Usd( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; + this.protections = protections; this.requested = requested; } @@ -21808,21 +22291,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections.PspMigration + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21837,7 +22323,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.CryptoWallets.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21848,194 +22334,190 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd.Protections + protections) { + this.protections = protections; + 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 PaperChecks { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * Required. To request a new Capability for an account, pass true. There - * can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 PaperChecks( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - public static Builder builder() { - return new Builder(); - } + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Protections protections; + public static class Builder { + private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks( - this.extraParams, this.protections, this.requested); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd.Protections( + this.extraParams, this.pspMigration); + } - /** - * Add a key/value pair to `extraParams` map. A map 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.PaperChecks#extraParams} for - * the field 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.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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.PaperChecks#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.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Protection types to request for this capability (e.g. "psp_migration"). */ - public Builder setProtections( - AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections - protections) { - this.protections = protections; - return this; - } + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + 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 PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 Protections { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } + 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 PspMigration pspMigration; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections - build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections(this.extraParams, this.pspMigration); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections - .PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PspMigration { + public static class Usdc { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -22046,12 +22528,23 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 PspMigration(Map extraParams, Boolean requested) { + private Usdc( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; + this.protections = protections; this.requested = requested; } @@ -22062,21 +22555,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Protections protections; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections.PspMigration + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22091,7 +22587,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.PaperChecks.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22102,101 +22598,7843 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc.Protections + protections) { + this.protections = protections; + 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; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 /v1/transfers into their Stripe Balance (/v1/balance). - */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { - this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; - } + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } - 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 StripeTransfers stripeTransfers; + private PspMigration pspMigration; - /** 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); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Outbound { + /** Can send business storage-type funds on Stripe in AUD. */ + @SerializedName("aud") + Aud aud; + + /** Can send business storage-type funds on Stripe in CAD. */ + @SerializedName("cad") + Cad cad; + + /** Can send business storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 business storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; + + /** Can send business storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can send business storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Outbound( + Aud aud, + Cad cad, + Eur eur, + Map extraParams, + Gbp gbp, + Usd usd, + Usdc usdc) { + this.aud = aud; + this.cad = cad; + this.eur = eur; + this.extraParams = extraParams; + this.gbp = gbp; + this.usd = usd; + this.usdc = usdc; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Aud aud; + + private Cad cad; + + private Eur eur; + + private Map extraParams; + + private Gbp gbp; + + private Usd usd; + + private Usdc usdc; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound( + this.aud, this.cad, this.eur, this.extraParams, this.gbp, this.usd, this.usdc); + } + + /** Can send business storage-type funds on Stripe in AUD. */ + public Builder setAud( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud + aud) { + this.aud = aud; + return this; + } + + /** Can send business storage-type funds on Stripe in CAD. */ + public Builder setCad( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad + cad) { + this.cad = cad; + return this; + } + + /** Can send business storage-type funds on Stripe in EUR. */ + public Builder setEur( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur + eur) { + this.eur = eur; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound#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 business storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp + gbp) { + this.gbp = gbp; + return this; + } + + /** Can send business storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can send business storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc + usdc) { + this.usdc = usdc; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Aud { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 Aud( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cad { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 Cad( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Eur { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 Eur( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + 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; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Gbp( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 Usdc( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ConsumerStorage { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 receive consumer storage-type funds on Stripe. */ + @SerializedName("inbound") + Inbound inbound; + + /** Can send consumer storage-type funds on Stripe. */ + @SerializedName("outbound") + Outbound outbound; + + private ConsumerStorage( + Map extraParams, Inbound inbound, Outbound outbound) { + this.extraParams = extraParams; + this.inbound = inbound; + this.outbound = outbound; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Inbound inbound; + + private Outbound outbound; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage(this.extraParams, this.inbound, this.outbound); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage#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 receive consumer storage-type funds on Stripe. */ + public Builder setInbound( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound + inbound) { + this.inbound = inbound; + return this; + } + + /** Can send consumer storage-type funds on Stripe. */ + public Builder setOutbound( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound + outbound) { + this.outbound = outbound; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Inbound { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 receive consumer storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can receive consumer storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Inbound(Map extraParams, Usd usd, Usdc usdc) { + this.extraParams = extraParams; + this.usd = usd; + this.usdc = usdc; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Usd usd; + + private Usdc usdc; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound(this.extraParams, this.usd, this.usdc); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound#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 receive consumer storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can receive consumer storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc + usdc) { + this.usdc = usdc; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 Usdc( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Outbound { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 consumer storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can send consumer storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Outbound(Map extraParams, Usd usd, Usdc usdc) { + this.extraParams = extraParams; + this.usd = usd; + this.usdc = usdc; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Usd usd; + + private Usdc usdc; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound(this.extraParams, this.usd, this.usdc); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound#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 consumer storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can send consumer storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc + usdc) { + this.usdc = usdc; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * 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 Usdc( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InboundTransfers { + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + build() { + return new AccountCreateParams.Configuration.MoneyManager.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.MoneyManager.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.MoneyManager.Capabilities.InboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .InboundTransfers.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .InboundTransfers.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .InboundTransfers.BankAccounts.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .InboundTransfers.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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; + + /** Can send funds from a FinancialAccount to someone else via paper check. */ + @SerializedName("paper_checks") + PaperChecks paperChecks; + + private OutboundPayments( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + FinancialAccounts financialAccounts, + PaperChecks paperChecks) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; + this.paperChecks = paperChecks; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private FinancialAccounts financialAccounts; + + private PaperChecks paperChecks; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.financialAccounts, + this.paperChecks); + } + + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ + public Builder setCards( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards + cards) { + this.cards = cards; + return this; + } + + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + public Builder setFinancialAccounts( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + + /** Can send funds from a FinancialAccount to someone else via paper check. */ + public Builder setPaperChecks( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks + paperChecks) { + this.paperChecks = paperChecks; + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.BankAccounts.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .Cards + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.Cards(this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards + .Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .Cards.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.Cards.Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .Cards.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.Cards.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.Cards.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private FinancialAccounts( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaperChecks { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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 PaperChecks( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.PaperChecks( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.PaperChecks.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.PaperChecks.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.PaperChecks.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; + + private OutboundTransfers( + BankAccounts bankAccounts, + CryptoWallets cryptoWallets, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private FinancialAccounts financialAccounts; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers( + this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); + } + + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .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.MoneyManager.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.MoneyManager.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.MoneyManager.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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.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.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private FinancialAccounts( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.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.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ReceivedCredits { + /** + * Can receive funds on a bank-account-like financial address (VBAN) to credit a + * FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Can receive funds on a crypto wallet like financial address to credit a + * FinancialAccount. + */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private ReceivedCredits( + BankAccounts bankAccounts, + CryptoWallets cryptoWallets, + Map extraParams) { + this.bankAccounts = bankAccounts; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits(this.bankAccounts, this.cryptoWallets, this.extraParams); + } + + /** + * Can receive funds on a bank-account-like financial address (VBAN) to credit a + * FinancialAccount. + */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** + * Can receive funds on a crypto wallet like financial address to credit a + * FinancialAccount. + */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .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.MoneyManager.Capabilities.ReceivedCredits#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.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.MoneyManager.Capabilities.ReceivedCredits.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.CryptoWallets( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.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.MoneyManager.Capabilities.ReceivedCredits.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.CryptoWallets.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.CryptoWallets.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ReceivedDebits { + /** Can receive debits to a FinancialAccount from a bank account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private ReceivedDebits(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits( + this.bankAccounts, this.extraParams); + } + + /** Can receive debits to a FinancialAccount from a bank account. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .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.MoneyManager.Capabilities.ReceivedDebits#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedDebits.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.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.MoneyManager.Capabilities.ReceivedDebits.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedDebits.BankAccounts.Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.MoneyManager.Capabilities + .ReceivedDebits.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegulatedActivity { + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + @SerializedName("description") + String description; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The license number or registration number assigned by the business's primary regulator. + */ + @SerializedName("license_number") + String licenseNumber; + + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_country") + String primaryRegulatoryAuthorityCountry; + + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_name") + String primaryRegulatoryAuthorityName; + + private RegulatedActivity( + String description, + Map extraParams, + String licenseNumber, + String primaryRegulatoryAuthorityCountry, + String primaryRegulatoryAuthorityName) { + this.description = description; + this.extraParams = extraParams; + this.licenseNumber = licenseNumber; + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String description; + + private Map extraParams; + + private String licenseNumber; + + private String primaryRegulatoryAuthorityCountry; + + private String primaryRegulatoryAuthorityName; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.MoneyManager.RegulatedActivity build() { + return new AccountCreateParams.Configuration.MoneyManager.RegulatedActivity( + this.description, + this.extraParams, + this.licenseNumber, + this.primaryRegulatoryAuthorityCountry, + this.primaryRegulatoryAuthorityName); + } + + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.MoneyManager.RegulatedActivity#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountCreateParams.Configuration.MoneyManager.RegulatedActivity#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The license number or registration number assigned by the business's primary regulator. + */ + public Builder setLicenseNumber(String licenseNumber) { + this.licenseNumber = licenseNumber; + return this; + } + + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityCountry( + String primaryRegulatoryAuthorityCountry) { + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + return this; + } + + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + return this; + } + } + } + + public enum HighRiskActivity implements ApiRequestParams.EnumParam { + @SerializedName("adult_entertainment") + ADULT_ENTERTAINMENT("adult_entertainment"), + + @SerializedName("gambling") + GAMBLING("gambling"), + + @SerializedName("hold_client_funds") + HOLD_CLIENT_FUNDS("hold_client_funds"), + + @SerializedName("investment_services") + INVESTMENT_SERVICES("investment_services"), + + @SerializedName("lending_banking") + LENDING_BANKING("lending_banking"), + + @SerializedName("marijuana_or_related_services") + MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), + + @SerializedName("money_services") + MONEY_SERVICES("money_services"), + + @SerializedName("nicotine_tobacco_or_related_services") + NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), + + @SerializedName("none") + NONE("none"), + + @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") + OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( + "operate_foreign_exchange_virtual_currencies_brokerage_otc"), + + @SerializedName("pharmaceuticals") + PHARMACEUTICALS("pharmaceuticals"), + + @SerializedName("precious_metals_precious_stones_jewelry") + PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), + + @SerializedName("safe_deposit_box_rentals") + SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), + + @SerializedName("third_party_payment_processing") + THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), + + @SerializedName("weapons_firearms_and_explosives") + WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + HighRiskActivity(String value) { + this.value = value; + } + } + + public enum PurposeOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("charitable_donations") + CHARITABLE_DONATIONS("charitable_donations"), + + @SerializedName("ecommerce_retail_payments") + ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), + + @SerializedName("investment_purposes") + INVESTMENT_PURPOSES("investment_purposes"), + + @SerializedName("other") + OTHER("other"), + + @SerializedName("payments_to_friends_or_family_abroad") + PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), + + @SerializedName("payroll") + PAYROLL("payroll"), + + @SerializedName("personal_or_living_expenses") + PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), + + @SerializedName("protect_wealth") + PROTECT_WEALTH("protect_wealth"), + + @SerializedName("purchase_goods_and_services") + PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), + + @SerializedName("receive_payments_for_goods_and_services") + RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), + + @SerializedName("tax_optimization") + TAX_OPTIMIZATION("tax_optimization"), + + @SerializedName("third_party_money_transmission") + THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), + + @SerializedName("treasury_management") + TREASURY_MANAGEMENT("treasury_management"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PurposeOfFunds(String value) { + this.value = value; + } + } + + public enum SourceOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("business_loans") + BUSINESS_LOANS("business_loans"), + + @SerializedName("grants") + GRANTS("grants"), + + @SerializedName("inter_company_funds") + INTER_COMPANY_FUNDS("inter_company_funds"), + + @SerializedName("investment_proceeds") + INVESTMENT_PROCEEDS("investment_proceeds"), + + @SerializedName("legal_settlement") + LEGAL_SETTLEMENT("legal_settlement"), + + @SerializedName("owners_capital") + OWNERS_CAPITAL("owners_capital"), + + @SerializedName("pension_retirement") + PENSION_RETIREMENT("pension_retirement"), + + @SerializedName("sales_of_assets") + SALES_OF_ASSETS("sales_of_assets"), + + @SerializedName("sales_of_goods_and_services") + SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), + + @SerializedName("tax_refund") + TAX_REFUND("tax_refund"), + + @SerializedName("third_party_funds") + THIRD_PARTY_FUNDS("third_party_funds"), + + @SerializedName("treasury_reserves") + TREASURY_RESERVES("treasury_reserves"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SourceOfFunds(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Recipient { + /** Capabilities to be requested on the Recipient Configuration. */ + @SerializedName("capabilities") + Capabilities capabilities; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) + * name in this param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private Recipient(Capabilities capabilities, Map extraParams) { + this.capabilities = capabilities; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Capabilities capabilities; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient build() { + return new AccountCreateParams.Configuration.Recipient( + this.capabilities, this.extraParams); + } + + /** Capabilities to be requested on the Recipient Configuration. */ + public Builder setCapabilities( + AccountCreateParams.Configuration.Recipient.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + @SerializedName("cards") + Cards cards; + + /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Capabilities that enable OutboundPayments via paper check. */ + @SerializedName("paper_checks") + PaperChecks paperChecks; + + /** 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, + PaperChecks paperChecks, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.paperChecks = paperChecks; + this.stripeBalance = stripeBalance; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private PaperChecks paperChecks; + + private StripeBalance stripeBalance; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.paperChecks, + this.stripeBalance); + } + + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + public Builder setBankAccounts( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Capabilities that enable OutboundPayments to a card linked to this Account. */ + public Builder setCards( + AccountCreateParams.Configuration.Recipient.Capabilities.Cards cards) { + this.cards = cards; + return this; + } + + /** + * Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. + */ + public Builder setCryptoWallets( + AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountCreateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Capabilities that enable OutboundPayments via paper check. */ + public Builder setPaperChecks( + AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks paperChecks) { + this.paperChecks = paperChecks; + return this; + } + + /** + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + */ + public Builder setStripeBalance( + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + stripeBalance) { + this.stripeBalance = stripeBalance; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over ACH + * rails. + */ + @SerializedName("ach") + Ach ach; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over BECS + * rails. + */ + @SerializedName("becs") + Becs becs; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over EFT + * rails. + */ + @SerializedName("eft") + Eft eft; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 Fedwire + * or CHIPS. + */ + @SerializedName("fedwire") + Fedwire fedwire; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over FPS + * rails. + */ + @SerializedName("fps") + Fps fps; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real time + * rails. + */ + @SerializedName("instant") + com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant; + + /** + * 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 NPP (real + * time) rails. + */ + @SerializedName("npp") + Npp npp; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over RTP + * rails. + */ + @SerializedName("rtp") + Rtp rtp; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * credit rails. + */ + @SerializedName("sepa_credit") + SepaCredit sepaCredit; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * instant (real time) rails. + */ + @SerializedName("sepa_instant") + SepaInstant sepaInstant; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. + */ + @SerializedName("swift") + Swift swift; + + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; + + private BankAccounts( + Ach ach, + Becs becs, + Eft eft, + Map extraParams, + Fedwire fedwire, + Fps fps, + com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant, + Local local, + Npp npp, + Rtp rtp, + SepaCredit sepaCredit, + SepaInstant sepaInstant, + Swift swift, + Wire wire) { + this.ach = ach; + this.becs = becs; + this.eft = eft; + this.extraParams = extraParams; + this.fedwire = fedwire; + this.fps = fps; + this.instant = instant; + this.local = local; + this.npp = npp; + this.rtp = rtp; + this.sepaCredit = sepaCredit; + this.sepaInstant = sepaInstant; + this.swift = swift; + this.wire = wire; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Ach ach; + + private Becs becs; + + private Eft eft; + + private Map extraParams; + + private Fedwire fedwire; + + private Fps fps; + + private com.stripe.param.v2.core.AccountCreateParams.Configuration.Recipient + .Capabilities.BankAccounts.Instant + instant; + + private Local local; + + private Npp npp; + + private Rtp rtp; + + private SepaCredit sepaCredit; + + private SepaInstant sepaInstant; + + private Swift swift; + + private Wire wire; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts( + this.ach, + this.becs, + this.eft, + this.extraParams, + this.fedwire, + this.fps, + this.instant, + this.local, + this.npp, + this.rtp, + this.sepaCredit, + this.sepaInstant, + this.swift, + this.wire); + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over ACH + * rails. + */ + public Builder setAch( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach ach) { + this.ach = ach; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over BECS + * rails. + */ + public Builder setBecs( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs becs) { + this.becs = becs; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over EFT + * rails. + */ + public Builder setEft( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft eft) { + this.eft = eft; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map 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 Fedwire + * or CHIPS. + */ + public Builder setFedwire( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + fedwire) { + this.fedwire = fedwire; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over FPS + * rails. + */ + public Builder setFps( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps fps) { + this.fps = fps; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real + * time rails. + */ + public Builder setInstant( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + instant) { + this.instant = instant; + return this; + } + + /** + * 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 NPP + * (real time) rails. + */ + public Builder setNpp( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp npp) { + this.npp = npp; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over RTP + * rails. + */ + public Builder setRtp( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp rtp) { + this.rtp = rtp; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * credit rails. + */ + public Builder setSepaCredit( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit + sepaCredit) { + this.sepaCredit = sepaCredit; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * instant (real time) rails. + */ + public Builder setSepaInstant( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant + sepaInstant) { + this.sepaInstant = sepaInstant; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); + public Builder setSwift( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift swift) { + this.swift = swift; return this; } /** - * Enables this Account to receive /v1/transfers into their Stripe Balance - * (/v1/balance). + * Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ - public Builder setStripeTransfers( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - stripeTransfers) { - this.stripeTransfers = stripeTransfers; + public Builder setWire( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { + this.wire = wire; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers { + public static class Ach { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -22218,7 +30456,7 @@ public static class StripeTransfers { @SerializedName("requested") Boolean requested; - private StripeTransfers( + private Ach( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -22237,18 +30475,17 @@ 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.Recipient.Capabilities.BankAccounts.Ach build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Ach(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Recipient.Capabilities.BankAccounts.Ach#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22263,7 +30500,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.Recipient.Capabilities.BankAccounts.Ach#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22278,8 +30515,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections protections) { this.protections = protections; return this; @@ -22327,18 +30564,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Ach.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22353,7 +30590,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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22366,8 +30603,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -22406,19 +30643,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Recipient.Capabilities - .StripeBalance.StripeTransfers.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Ach.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22433,7 +30669,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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22453,502 +30689,268 @@ public Builder setRequested(Boolean requested) { } } } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** Capabilities to request on the Storer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** List of high-risk activities the business is involved in. */ - @SerializedName("high_risk_activities") - List highRiskActivities; - - /** Description of the high-risk activities the business offers. */ - @SerializedName("high_risk_activities_description") - String highRiskActivitiesDescription; - - /** Description of the money services offered by the business. */ - @SerializedName("money_services_description") - String moneyServicesDescription; - - /** Indicates whether the business operates in any prohibited countries. */ - @SerializedName("operates_in_prohibited_countries") - Boolean operatesInProhibitedCountries; - - /** Indicates whether the business participates in any regulated activity. */ - @SerializedName("participates_in_regulated_activity") - Boolean participatesInRegulatedActivity; - - /** Primary purpose of the stored funds. */ - @SerializedName("purpose_of_funds") - PurposeOfFunds purposeOfFunds; - - /** Description of the purpose of the stored funds. */ - @SerializedName("purpose_of_funds_description") - String purposeOfFundsDescription; - - /** Details of the regulated activity if the business participates in one. */ - @SerializedName("regulated_activity") - RegulatedActivity regulatedActivity; - - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - @SerializedName("source_of_funds") - SourceOfFunds sourceOfFunds; - - /** Description of the source of funds for the business' account. */ - @SerializedName("source_of_funds_description") - String sourceOfFundsDescription; - - private Storer( - Capabilities capabilities, - Map extraParams, - List highRiskActivities, - String highRiskActivitiesDescription, - String moneyServicesDescription, - Boolean operatesInProhibitedCountries, - Boolean participatesInRegulatedActivity, - PurposeOfFunds purposeOfFunds, - String purposeOfFundsDescription, - RegulatedActivity regulatedActivity, - SourceOfFunds sourceOfFunds, - String sourceOfFundsDescription) { - this.capabilities = capabilities; - this.extraParams = extraParams; - this.highRiskActivities = highRiskActivities; - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - this.moneyServicesDescription = moneyServicesDescription; - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - this.purposeOfFunds = purposeOfFunds; - this.purposeOfFundsDescription = purposeOfFundsDescription; - this.regulatedActivity = regulatedActivity; - this.sourceOfFunds = sourceOfFunds; - this.sourceOfFundsDescription = sourceOfFundsDescription; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Capabilities capabilities; - - private Map extraParams; - - private List highRiskActivities; - - private String highRiskActivitiesDescription; - - private String moneyServicesDescription; - - private Boolean operatesInProhibitedCountries; - - private Boolean participatesInRegulatedActivity; - - private PurposeOfFunds purposeOfFunds; - - private String purposeOfFundsDescription; - - private RegulatedActivity regulatedActivity; - - private SourceOfFunds sourceOfFunds; - - private String sourceOfFundsDescription; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer build() { - return new AccountCreateParams.Configuration.Storer( - this.capabilities, - this.extraParams, - this.highRiskActivities, - this.highRiskActivitiesDescription, - this.moneyServicesDescription, - this.operatesInProhibitedCountries, - this.participatesInRegulatedActivity, - this.purposeOfFunds, - this.purposeOfFundsDescription, - this.regulatedActivity, - this.sourceOfFunds, - this.sourceOfFundsDescription); - } - - /** Capabilities to request on the Storer Configuration. */ - public Builder setCapabilities( - AccountCreateParams.Configuration.Storer.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Add an element to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. - */ - public Builder addHighRiskActivity( - AccountCreateParams.Configuration.Storer.HighRiskActivity element) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.add(element); - return this; - } - - /** - * Add all elements to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountCreateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. - */ - public Builder addAllHighRiskActivity( - List elements) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.addAll(elements); - return this; - } - - /** Description of the high-risk activities the business offers. */ - public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - return this; - } - - /** Description of the money services offered by the business. */ - public Builder setMoneyServicesDescription(String moneyServicesDescription) { - this.moneyServicesDescription = moneyServicesDescription; - return this; - } - - /** Indicates whether the business operates in any prohibited countries. */ - public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - return this; - } - - /** Indicates whether the business participates in any regulated activity. */ - public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - return this; - } - - /** Primary purpose of the stored funds. */ - public Builder setPurposeOfFunds( - AccountCreateParams.Configuration.Storer.PurposeOfFunds purposeOfFunds) { - this.purposeOfFunds = purposeOfFunds; - return this; - } - - /** Description of the purpose of the stored funds. */ - public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { - this.purposeOfFundsDescription = purposeOfFundsDescription; - return this; - } - - /** Details of the regulated activity if the business participates in one. */ - public Builder setRegulatedActivity( - AccountCreateParams.Configuration.Storer.RegulatedActivity regulatedActivity) { - this.regulatedActivity = regulatedActivity; - return this; - } - - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - public Builder setSourceOfFunds( - AccountCreateParams.Configuration.Storer.SourceOfFunds sourceOfFunds) { - this.sourceOfFunds = sourceOfFunds; - return this; - } - - /** Description of the source of funds for the business' account. */ - public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { - this.sourceOfFundsDescription = sourceOfFundsDescription; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Can provision a consumer financial account on Stripe. */ - @SerializedName("consumer") - Consumer consumer; - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Becs { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; - /** Can hold storage-type funds on Stripe. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - @SerializedName("inbound_transfers") - InboundTransfers inboundTransfers; + private Becs( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - @SerializedName("outbound_payments") - OutboundPayments outboundPayments; + public static Builder builder() { + return new Builder(); + } - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - @SerializedName("outbound_transfers") - OutboundTransfers outboundTransfers; + public static class Builder { + private Map extraParams; - private Capabilities( - Consumer consumer, - Map extraParams, - FinancialAddresses financialAddresses, - HoldsCurrencies holdsCurrencies, - InboundTransfers inboundTransfers, - OutboundPayments outboundPayments, - OutboundTransfers outboundTransfers) { - this.consumer = consumer; - this.extraParams = extraParams; - this.financialAddresses = financialAddresses; - this.holdsCurrencies = holdsCurrencies; - this.inboundTransfers = inboundTransfers; - this.outboundPayments = outboundPayments; - this.outboundTransfers = outboundTransfers; - } + private Protections protections; - public static Builder builder() { - return new Builder(); - } + private Boolean requested; - public static class Builder { - private Consumer consumer; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Becs(this.extraParams, this.protections, this.requested); + } - private Map extraParams; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs#extraParams} + * for the 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 FinancialAddresses financialAddresses; + /** + * Add all map key/value pairs to `extraParams` map. A map 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.Becs#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 HoldsCurrencies holdsCurrencies; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections + protections) { + this.protections = protections; + return this; + } - private InboundTransfers inboundTransfers; + /** + * 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 OutboundPayments outboundPayments; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 OutboundTransfers outboundTransfers; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities build() { - return new AccountCreateParams.Configuration.Storer.Capabilities( - this.consumer, - this.extraParams, - this.financialAddresses, - this.holdsCurrencies, - this.inboundTransfers, - this.outboundPayments, - this.outboundTransfers); - } + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } - /** Can provision a consumer financial account on Stripe. */ - public Builder setConsumer( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer consumer) { - this.consumer = consumer; - return this; - } + public static Builder builder() { + return new Builder(); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + public static class Builder { + private Map extraParams; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + private PspMigration pspMigration; - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Becs.Protections(this.extraParams, this.pspMigration); + } - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - public Builder setInboundTransfers( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - inboundTransfers) { - this.inboundTransfers = inboundTransfers; - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs.Protections#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - public Builder setOutboundPayments( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - outboundPayments) { - this.outboundPayments = outboundPayments; - return this; - } + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + 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 PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 Consumer { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Consumer(Map extraParams, HoldsCurrencies holdsCurrencies) { - this.extraParams = extraParams; - this.holdsCurrencies = holdsCurrencies; - } + 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 HoldsCurrencies holdsCurrencies; + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections.PspMigration + build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Becs.Protections.PspMigration(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer( - this.extraParams, this.holdsCurrencies); - } + /** + * Add a key/value pair to `extraParams` map. A map 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.Becs.Protections.PspMigration#extraParams} + * for the field 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.Consumer#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - public Builder setHoldsCurrencies( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { + public static class Eft { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -22959,13 +30961,22 @@ public static class HoldsCurrencies { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - @SerializedName("usd") - Usd usd; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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 HoldsCurrencies(Map extraParams, Usd usd) { + private Eft( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.usd = usd; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -22975,20 +30986,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Usd usd; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies(this.extraParams, this.usd); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Eft(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23003,7 +31016,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23014,18 +31027,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - public Builder setUsd( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd - usd) { - this.usd = usd; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections + protections) { + this.protections = protections; + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Usd { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -23036,24 +31061,13 @@ public static class Usd { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - @SerializedName("protections") - Protections protections; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private Usd( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -23063,23 +31077,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Eft.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23094,7 +31106,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23105,30 +31117,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - .Usd.Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -23139,13 +31140,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -23155,21 +31156,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Eft.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23184,7 +31185,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23195,206 +31196,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - .Usd.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client - * library. The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; - - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; + public Builder setRequested(Boolean requested) { this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd.Protections.PspMigration - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd.Protections.PspMigration( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for - * the first `put/putAll` call, and subsequent calls add additional key/value - * pairs to the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections.PspMigration#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 protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + return this; } } } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private FinancialAddresses( - BankAccounts bankAccounts, - CryptoWallets cryptoWallets, - Map extraParams) { - this.bankAccounts = bankAccounts; - this.cryptoWallets = cryptoWallets; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private CryptoWallets cryptoWallets; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses( - this.bankAccounts, this.cryptoWallets, this.extraParams); - } - - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Can provision a crypto wallet like financial address to credit a FinancialAccount. - */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Fedwire { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -23416,7 +31230,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts( + private Fedwire( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -23435,18 +31249,17 @@ 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.Recipient.Capabilities.BankAccounts.Fedwire build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23461,7 +31274,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23476,8 +31289,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + .Protections protections) { this.protections = protections; return this; @@ -23525,19 +31338,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .FinancialAddresses.BankAccounts.Protections( - this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23552,7 +31364,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23565,8 +31377,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -23605,19 +31417,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire.Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .FinancialAddresses.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23632,7 +31443,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23655,7 +31466,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { + public static class Fps { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -23677,7 +31488,7 @@ public static class CryptoWallets { @SerializedName("requested") Boolean requested; - private CryptoWallets( + private Fps( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -23696,18 +31507,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fps(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23722,7 +31532,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23737,8 +31547,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections protections) { this.protections = protections; return this; @@ -23786,19 +31596,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .FinancialAddresses.CryptoWallets.Protections( - this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fps.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23813,7 +31622,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23826,8 +31635,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -23866,19 +31675,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .FinancialAddresses.CryptoWallets.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fps.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23893,7 +31701,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23913,129 +31721,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { - /** Can hold storage-type funds on Stripe in EUR. */ - @SerializedName("eur") - Eur eur; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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; - - /** Can hold storage-type funds on Stripe in USD. */ - @SerializedName("usd") - Usd usd; - - /** Can hold storage-type funds on Stripe in USDC. */ - @SerializedName("usdc") - Usdc usdc; - - private HoldsCurrencies( - Eur eur, Map extraParams, Gbp gbp, Usd usd, Usdc usdc) { - this.eur = eur; - this.extraParams = extraParams; - this.gbp = gbp; - this.usd = usd; - this.usdc = usdc; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Eur eur; - - private Map extraParams; - - private Gbp gbp; - - private Usd usd; - - private Usdc usdc; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies( - this.eur, this.extraParams, this.gbp, this.usd, this.usdc); - } - - /** Can hold storage-type funds on Stripe in EUR. */ - public Builder setEur( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur eur) { - this.eur = eur; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.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; - } - - /** Can hold storage-type funds on Stripe in USD. */ - public Builder setUsd( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd usd) { - this.usd = usd; - return this; - } - - /** Can hold storage-type funds on Stripe in USDC. */ - public Builder setUsdc( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc usdc) { - this.usdc = usdc; - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class Eur { + public static class Instant { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -24057,265 +31746,7 @@ public static class Eur { @SerializedName("requested") Boolean requested; - private Eur( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Protections protections; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur(this.extraParams, this.protections, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections - protections) { - this.protections = protections; - 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 Protections { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-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. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; - - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private PspMigration pspMigration; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur.Protections(this.extraParams, this.pspMigration); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections#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. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; - - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections.PspMigration - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur.Protections.PspMigration(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections.PspMigration#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 protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - 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; - - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Gbp( + private Instant( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -24334,17 +31765,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24359,7 +31790,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24374,7 +31805,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant .Protections protections) { this.protections = protections; @@ -24423,18 +31854,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24449,7 +31880,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24462,7 +31893,7 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; @@ -24502,18 +31933,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp - .Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant.Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp.Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24528,7 +31959,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24551,7 +31982,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Usd { + 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} @@ -24573,7 +32004,7 @@ public static class Usd { @SerializedName("requested") Boolean requested; - private Usd( + private Local( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -24592,17 +32023,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24617,7 +32048,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24632,7 +32063,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections protections) { this.protections = protections; @@ -24681,18 +32112,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24707,7 +32138,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24720,7 +32151,7 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; @@ -24760,18 +32191,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd.Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24786,7 +32217,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24809,7 +32240,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Usdc { + public static class Npp { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -24831,7 +32262,7 @@ public static class Usdc { @SerializedName("requested") Boolean requested; - private Usdc( + private Npp( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -24850,17 +32281,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Npp(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24875,7 +32306,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24890,7 +32321,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections protections) { this.protections = protections; @@ -24939,18 +32370,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Npp.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24965,7 +32396,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24978,7 +32409,7 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; @@ -25018,18 +32449,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc.Protections.PspMigration(this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Npp.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25044,7 +32475,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25064,91 +32495,10 @@ 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. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers( - this.bankAccounts, this.extraParams); - } - - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Rtp { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -25170,7 +32520,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts( + private Rtp( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -25189,18 +32539,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Rtp(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25215,7 +32564,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25230,8 +32579,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections protections) { this.protections = protections; return this; @@ -25279,18 +32628,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Rtp.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25305,7 +32654,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25318,8 +32667,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -25358,19 +32707,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .InboundTransfers.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Rtp.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25385,7 +32733,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25405,165 +32753,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @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; - - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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; - - /** Can send funds from a FinancialAccount to someone else via paper check. */ - @SerializedName("paper_checks") - PaperChecks paperChecks; - - private OutboundPayments( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts, - PaperChecks paperChecks) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - this.paperChecks = paperChecks; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; - - private CryptoWallets cryptoWallets; - - private Map extraParams; - - private FinancialAccounts financialAccounts; - - private PaperChecks paperChecks; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments( - this.bankAccounts, - this.cards, - this.cryptoWallets, - this.extraParams, - this.financialAccounts, - this.paperChecks); - } - - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - public Builder setBankAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - public Builder setCards( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - cards) { - this.cards = cards; - return this; - } - - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - public Builder setFinancialAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } - - /** Can send funds from a FinancialAccount to someone else via paper check. */ - public Builder setPaperChecks( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.PaperChecks - paperChecks) { - this.paperChecks = paperChecks; - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class SepaCredit { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -25585,7 +32778,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts( + private SepaCredit( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -25604,18 +32797,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25630,7 +32823,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25645,8 +32838,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit + .Protections protections) { this.protections = protections; return this; @@ -25694,18 +32887,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25720,7 +32913,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25733,8 +32926,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -25773,19 +32966,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundPayments.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25800,7 +32992,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25823,7 +33015,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Cards { + public static class SepaInstant { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -25845,7 +33037,7 @@ public static class Cards { @SerializedName("requested") Boolean requested; - private Cards( + private SepaInstant( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -25864,17 +33056,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25889,7 +33082,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25904,7 +33097,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant .Protections protections) { this.protections = protections; @@ -25953,18 +33146,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - .Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25979,7 +33172,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25992,8 +33185,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - .Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -26032,19 +33225,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundPayments.Cards.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26059,7 +33251,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26082,7 +33274,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { + public static class Swift { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -26104,7 +33296,7 @@ public static class CryptoWallets { @SerializedName("requested") Boolean requested; - private CryptoWallets( + private Swift( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -26123,18 +33315,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Swift(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26149,7 +33340,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26164,8 +33355,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections protections) { this.protections = protections; return this; @@ -26213,18 +33404,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Swift.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26239,7 +33430,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26252,8 +33443,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -26292,19 +33483,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundPayments.CryptoWallets.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Swift.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26319,7 +33509,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26342,7 +33532,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { + 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} @@ -26364,7 +33554,7 @@ public static class FinancialAccounts { @SerializedName("requested") Boolean requested; - private FinancialAccounts( + private Wire( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -26383,18 +33573,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26409,7 +33598,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26424,8 +33613,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections protections) { this.protections = protections; return this; @@ -26473,18 +33662,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26499,7 +33688,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26512,8 +33701,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -26552,19 +33741,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundPayments.FinancialAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26579,7 +33767,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.FinancialAccounts.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26599,10 +33787,107 @@ 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + 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.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map 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; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections + protections) { + this.protections = protections; + 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 PaperChecks { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -26613,22 +33898,13 @@ public static class PaperChecks { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PaperChecks( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -26638,23 +33914,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks + public AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards + .Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26669,7 +33942,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.PaperChecks#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26680,30 +33953,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.PaperChecks - .Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -26714,13 +33976,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -26730,21 +33992,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections + .PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.Cards + .Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26759,7 +34021,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments.PaperChecks.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.Cards.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26770,91 +34032,10 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; - - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; + public Builder setRequested(Boolean requested) { this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks.Protections.PspMigration - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundPayments.PaperChecks.Protections.PspMigration( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map 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.PaperChecks.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map 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.PaperChecks.Protections.PspMigration#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 protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + return this; } } } @@ -26863,15 +34044,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers { - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - + 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. @@ -26882,21 +34055,22 @@ public static class OutboundTransfers { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + @SerializedName("requested") + Boolean requested; - private OutboundTransfers( - BankAccounts bankAccounts, - CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cryptoWallets = cryptoWallets; + private CryptoWallets( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.financialAccounts = financialAccounts; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -26904,42 +34078,23 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; - - private CryptoWallets cryptoWallets; - private Map extraParams; - private FinancialAccounts financialAccounts; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers( - this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); - } + private Protections protections; - /** 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; - } + private Boolean requested; - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ - public Builder setCryptoWallets( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; + /** 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.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26954,7 +34109,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26965,21 +34120,27 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections + protections) { + this.protections = protections; + return this; + } + /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. */ - public Builder setFinancialAccounts( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -26990,22 +34151,13 @@ public static class BankAccounts { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private BankAccounts( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -27015,23 +34167,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts + public AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27046,7 +34196,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27057,30 +34207,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -27091,13 +34230,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -27107,21 +34246,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27136,7 +34275,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27147,99 +34286,115 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 PaperChecks { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Required. To request a new Capability for an account, pass true. There + * can be a delay before the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - public static Builder builder() { - return new Builder(); - } + private PaperChecks( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Boolean requested; + public static class Builder { + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections.PspMigration - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundTransfers.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); - } + private Protections protections; - /** - * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Boolean requested; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts.Protections.PspMigration#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.Recipient.Capabilities.PaperChecks build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks( + this.extraParams, this.protections, this.requested); + } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map 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.PaperChecks#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections + protections) { + this.protections = protections; + return this; + } + + /** + * Required. To request a new Capability for an account, pass true. + * There can be a delay before the requested Capability becomes active. + */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -27250,22 +34405,13 @@ public static class CryptoWallets { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * Required. To request a new Capability for an account, pass true. - * There can be a delay before the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private CryptoWallets( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -27275,23 +34421,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets + public AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27306,7 +34450,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27317,30 +34461,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -27351,13 +34484,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -27367,21 +34500,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27396,7 +34529,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27407,99 +34540,101 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; + @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; - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). + */ + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; - public static Builder builder() { - return new Builder(); - } + private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { + this.extraParams = extraParams; + this.stripeTransfers = stripeTransfers; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Boolean requested; + public static class Builder { + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections.PspMigration - build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundTransfers.CryptoWallets.Protections.PspMigration( - this.extraParams, this.requested); - } + private StripeTransfers 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.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance build() { + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance( + this.extraParams, this.stripeTransfers); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#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.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Required. To request a protection, pass true. */ - 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.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Enables this Account to receive /v1/transfers into their Stripe Balance + * (/v1/balance). + */ + public Builder setStripeTransfers( + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + stripeTransfers) { + this.stripeTransfers = stripeTransfers; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { + 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} @@ -27521,7 +34656,7 @@ public static class FinancialAccounts { @SerializedName("requested") Boolean requested; - private FinancialAccounts( + private StripeTransfers( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -27540,18 +34675,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts(this.extraParams, this.protections, this.requested); + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27566,7 +34701,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27581,8 +34716,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections protections) { this.protections = protections; return this; @@ -27630,18 +34765,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections build() { - return new AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27656,7 +34791,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts.Protections#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27669,8 +34804,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections.PspMigration + AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -27709,11 +34844,11 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections.PspMigration + public AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections.PspMigration build() { - return new AccountCreateParams.Configuration.Storer.Capabilities - .OutboundTransfers.FinancialAccounts.Protections.PspMigration( + return new AccountCreateParams.Configuration.Recipient.Capabilities + .StripeBalance.StripeTransfers.Protections.PspMigration( this.extraParams, this.requested); } @@ -27721,7 +34856,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27736,7 +34871,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountCreateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#extraParams} + * AccountCreateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27758,296 +34893,6 @@ public Builder setRequested(Boolean requested) { } } } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RegulatedActivity { - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - @SerializedName("description") - String description; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * The license number or registration number assigned by the business's primary regulator. - */ - @SerializedName("license_number") - String licenseNumber; - - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_country") - String primaryRegulatoryAuthorityCountry; - - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_name") - String primaryRegulatoryAuthorityName; - - private RegulatedActivity( - String description, - Map extraParams, - String licenseNumber, - String primaryRegulatoryAuthorityCountry, - String primaryRegulatoryAuthorityName) { - this.description = description; - this.extraParams = extraParams; - this.licenseNumber = licenseNumber; - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private String description; - - private Map extraParams; - - private String licenseNumber; - - private String primaryRegulatoryAuthorityCountry; - - private String primaryRegulatoryAuthorityName; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Configuration.Storer.RegulatedActivity build() { - return new AccountCreateParams.Configuration.Storer.RegulatedActivity( - this.description, - this.extraParams, - this.licenseNumber, - this.primaryRegulatoryAuthorityCountry, - this.primaryRegulatoryAuthorityName); - } - - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - public Builder setDescription(String description) { - this.description = description; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.RegulatedActivity#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountCreateParams.Configuration.Storer.RegulatedActivity#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * The license number or registration number assigned by the business's primary regulator. - */ - public Builder setLicenseNumber(String licenseNumber) { - this.licenseNumber = licenseNumber; - return this; - } - - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityCountry( - String primaryRegulatoryAuthorityCountry) { - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - return this; - } - - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - return this; - } - } - } - - public enum HighRiskActivity implements ApiRequestParams.EnumParam { - @SerializedName("adult_entertainment") - ADULT_ENTERTAINMENT("adult_entertainment"), - - @SerializedName("gambling") - GAMBLING("gambling"), - - @SerializedName("hold_client_funds") - HOLD_CLIENT_FUNDS("hold_client_funds"), - - @SerializedName("investment_services") - INVESTMENT_SERVICES("investment_services"), - - @SerializedName("lending_banking") - LENDING_BANKING("lending_banking"), - - @SerializedName("marijuana_or_related_services") - MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), - - @SerializedName("money_services") - MONEY_SERVICES("money_services"), - - @SerializedName("nicotine_tobacco_or_related_services") - NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), - - @SerializedName("none") - NONE("none"), - - @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") - OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( - "operate_foreign_exchange_virtual_currencies_brokerage_otc"), - - @SerializedName("pharmaceuticals") - PHARMACEUTICALS("pharmaceuticals"), - - @SerializedName("precious_metals_precious_stones_jewelry") - PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), - - @SerializedName("safe_deposit_box_rentals") - SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), - - @SerializedName("third_party_payment_processing") - THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), - - @SerializedName("weapons_firearms_and_explosives") - WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - HighRiskActivity(String value) { - this.value = value; - } - } - - public enum PurposeOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("charitable_donations") - CHARITABLE_DONATIONS("charitable_donations"), - - @SerializedName("ecommerce_retail_payments") - ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), - - @SerializedName("investment_purposes") - INVESTMENT_PURPOSES("investment_purposes"), - - @SerializedName("other") - OTHER("other"), - - @SerializedName("payments_to_friends_or_family_abroad") - PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), - - @SerializedName("payroll") - PAYROLL("payroll"), - - @SerializedName("personal_or_living_expenses") - PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), - - @SerializedName("protect_wealth") - PROTECT_WEALTH("protect_wealth"), - - @SerializedName("purchase_goods_and_services") - PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), - - @SerializedName("receive_payments_for_goods_and_services") - RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), - - @SerializedName("tax_optimization") - TAX_OPTIMIZATION("tax_optimization"), - - @SerializedName("third_party_money_transmission") - THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), - - @SerializedName("treasury_management") - TREASURY_MANAGEMENT("treasury_management"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - PurposeOfFunds(String value) { - this.value = value; - } - } - - public enum SourceOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("business_loans") - BUSINESS_LOANS("business_loans"), - - @SerializedName("grants") - GRANTS("grants"), - - @SerializedName("inter_company_funds") - INTER_COMPANY_FUNDS("inter_company_funds"), - - @SerializedName("investment_proceeds") - INVESTMENT_PROCEEDS("investment_proceeds"), - - @SerializedName("legal_settlement") - LEGAL_SETTLEMENT("legal_settlement"), - - @SerializedName("owners_capital") - OWNERS_CAPITAL("owners_capital"), - - @SerializedName("pension_retirement") - PENSION_RETIREMENT("pension_retirement"), - - @SerializedName("sales_of_assets") - SALES_OF_ASSETS("sales_of_assets"), - - @SerializedName("sales_of_goods_and_services") - SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), - - @SerializedName("tax_refund") - TAX_REFUND("tax_refund"), - - @SerializedName("third_party_funds") - THIRD_PARTY_FUNDS("third_party_funds"), - - @SerializedName("treasury_reserves") - TREASURY_RESERVES("treasury_reserves"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - SourceOfFunds(String value) { - this.value = value; - } - } } } @@ -29581,6 +36426,10 @@ public static class TermsOfService { @SerializedName("card_creator") CardCreator cardCreator; + /** Details on the Account's acceptance of Consumer-specific terms of service. */ + @SerializedName("consumer_money_manager") + ConsumerMoneyManager consumerMoneyManager; + /** * Details on the Account's acceptance of Consumer-privacy-disclosures-specific terms of * service. @@ -29588,13 +36437,9 @@ public static class TermsOfService { @SerializedName("consumer_privacy_disclosures") ConsumerPrivacyDisclosures consumerPrivacyDisclosures; - /** Details on the Account's acceptance of Consumer-storer-specific terms of service. */ - @SerializedName("consumer_storer") - ConsumerStorer consumerStorer; - - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - @SerializedName("crypto_storer") - CryptoStorer cryptoStorer; + /** Details on the Account's acceptance of Crypto-specific terms of service. */ + @SerializedName("crypto_money_manager") + CryptoMoneyManager cryptoMoneyManager; /** * Map of extra parameters for custom features not available in this client library. The @@ -29607,24 +36452,24 @@ public static class TermsOfService { Map extraParams; /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; + @SerializedName("money_manager") + MoneyManager moneyManager; private TermsOfService( Account account, CardCreator cardCreator, + ConsumerMoneyManager consumerMoneyManager, ConsumerPrivacyDisclosures consumerPrivacyDisclosures, - ConsumerStorer consumerStorer, - CryptoStorer cryptoStorer, + CryptoMoneyManager cryptoMoneyManager, Map extraParams, - Storer storer) { + MoneyManager moneyManager) { this.account = account; this.cardCreator = cardCreator; + this.consumerMoneyManager = consumerMoneyManager; this.consumerPrivacyDisclosures = consumerPrivacyDisclosures; - this.consumerStorer = consumerStorer; - this.cryptoStorer = cryptoStorer; + this.cryptoMoneyManager = cryptoMoneyManager; this.extraParams = extraParams; - this.storer = storer; + this.moneyManager = moneyManager; } public static Builder builder() { @@ -29636,26 +36481,26 @@ public static class Builder { private CardCreator cardCreator; - private ConsumerPrivacyDisclosures consumerPrivacyDisclosures; + private ConsumerMoneyManager consumerMoneyManager; - private ConsumerStorer consumerStorer; + private ConsumerPrivacyDisclosures consumerPrivacyDisclosures; - private CryptoStorer cryptoStorer; + private CryptoMoneyManager cryptoMoneyManager; private Map extraParams; - private Storer storer; + private MoneyManager moneyManager; /** 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.consumerMoneyManager, this.consumerPrivacyDisclosures, - this.consumerStorer, - this.cryptoStorer, + this.cryptoMoneyManager, this.extraParams, - this.storer); + this.moneyManager); } /** @@ -29676,6 +36521,14 @@ public Builder setCardCreator( return this; } + /** Details on the Account's acceptance of Consumer-specific terms of service. */ + public Builder setConsumerMoneyManager( + AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager + consumerMoneyManager) { + this.consumerMoneyManager = consumerMoneyManager; + return this; + } + /** * Details on the Account's acceptance of Consumer-privacy-disclosures-specific terms of * service. @@ -29687,18 +36540,11 @@ public Builder setConsumerPrivacyDisclosures( return this; } - /** Details on the Account's acceptance of Consumer-storer-specific terms of service. */ - public Builder setConsumerStorer( - AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerStorer - consumerStorer) { - this.consumerStorer = consumerStorer; - return this; - } - - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - public Builder setCryptoStorer( - AccountCreateParams.Identity.Attestations.TermsOfService.CryptoStorer cryptoStorer) { - this.cryptoStorer = cryptoStorer; + /** Details on the Account's acceptance of Crypto-specific terms of service. */ + public Builder setCryptoMoneyManager( + AccountCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager + cryptoMoneyManager) { + this.cryptoMoneyManager = cryptoMoneyManager; return this; } @@ -29731,9 +36577,9 @@ public Builder putAllExtraParam(Map map) { } /** Details on the Account's acceptance of Treasury-specific terms of service. */ - public Builder setStorer( - AccountCreateParams.Identity.Attestations.TermsOfService.Storer storer) { - this.storer = storer; + public Builder setMoneyManager( + AccountCreateParams.Identity.Attestations.TermsOfService.MoneyManager moneyManager) { + this.moneyManager = moneyManager; return this; } } @@ -37389,7 +44235,7 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class ConsumerPrivacyDisclosures { + public static class ConsumerMoneyManager { /** * Required. The time when the Account's representative accepted the * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond @@ -37422,7 +44268,7 @@ public static class ConsumerPrivacyDisclosures { @SerializedName("user_agent") String userAgent; - private ConsumerPrivacyDisclosures( + private ConsumerMoneyManager( java.time.Instant date, Map extraParams, String ip, @@ -37447,11 +44293,10 @@ public static class Builder { private String userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService - .ConsumerPrivacyDisclosures + public AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager build() { return new AccountCreateParams.Identity.Attestations.TermsOfService - .ConsumerPrivacyDisclosures(this.date, this.extraParams, this.ip, this.userAgent); + .ConsumerMoneyManager(this.date, this.extraParams, this.ip, this.userAgent); } /** @@ -37468,7 +44313,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -37483,7 +44328,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -37516,7 +44361,7 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class ConsumerStorer { + public static class ConsumerPrivacyDisclosures { /** * Required. The time when the Account's representative accepted the * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond @@ -37549,7 +44394,7 @@ public static class ConsumerStorer { @SerializedName("user_agent") String userAgent; - private ConsumerStorer( + private ConsumerPrivacyDisclosures( java.time.Instant date, Map extraParams, String ip, @@ -37574,9 +44419,11 @@ public static class Builder { private String userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerStorer build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerStorer( - this.date, this.extraParams, this.ip, this.userAgent); + public AccountCreateParams.Identity.Attestations.TermsOfService + .ConsumerPrivacyDisclosures + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .ConsumerPrivacyDisclosures(this.date, this.extraParams, this.ip, this.userAgent); } /** @@ -37593,7 +44440,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerStorer#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -37608,7 +44455,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerStorer#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -37641,7 +44488,7 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoStorer { + public static class CryptoMoneyManager { /** * Required. The time when the Account's representative accepted the * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond @@ -37674,7 +44521,7 @@ public static class CryptoStorer { @SerializedName("user_agent") String userAgent; - private CryptoStorer( + private CryptoMoneyManager( java.time.Instant date, Map extraParams, String ip, @@ -37699,9 +44546,10 @@ public static class Builder { private String userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.CryptoStorer build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.CryptoStorer( - this.date, this.extraParams, this.ip, this.userAgent); + public AccountCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager + build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService + .CryptoMoneyManager(this.date, this.extraParams, this.ip, this.userAgent); } /** @@ -37718,7 +44566,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CryptoStorer#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -37733,7 +44581,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.CryptoStorer#extraParams} + * AccountCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -37766,7 +44614,7 @@ public Builder setUserAgent(String userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Storer { + public static class MoneyManager { /** * Required. The time when the Account's representative accepted the * terms of service. Represented as a RFC 3339 date & time UTC value in millisecond @@ -37799,7 +44647,7 @@ public static class Storer { @SerializedName("user_agent") String userAgent; - private Storer( + private MoneyManager( java.time.Instant date, Map extraParams, String ip, @@ -37824,8 +44672,8 @@ public static class Builder { private String userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountCreateParams.Identity.Attestations.TermsOfService.Storer build() { - return new AccountCreateParams.Identity.Attestations.TermsOfService.Storer( + public AccountCreateParams.Identity.Attestations.TermsOfService.MoneyManager build() { + return new AccountCreateParams.Identity.Attestations.TermsOfService.MoneyManager( this.date, this.extraParams, this.ip, this.userAgent); } @@ -37843,8 +44691,8 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. + * AccountCreateParams.Identity.Attestations.TermsOfService.MoneyManager#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -37858,8 +44706,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. + * AccountCreateParams.Identity.Attestations.TermsOfService.MoneyManager#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -45236,8 +52084,8 @@ public enum Include implements ApiRequestParams.EnumParam { @SerializedName("configuration.recipient") CONFIGURATION__RECIPIENT("configuration.recipient"), - @SerializedName("configuration.storer") - CONFIGURATION__STORER("configuration.storer"), + @SerializedName("configuration.money_manager") + CONFIGURATION__MONEY_MANAGER("configuration.money_manager"), @SerializedName("defaults") DEFAULTS("defaults"), diff --git a/src/main/java/com/stripe/param/v2/core/AccountLinkCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountLinkCreateParams.java index 3c7461da147..802f5030d0e 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountLinkCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountLinkCreateParams.java @@ -563,6 +563,9 @@ public enum Configuration implements ApiRequestParams.EnumParam { @SerializedName("merchant") MERCHANT("merchant"), + @SerializedName("money_manager") + MONEY_MANAGER("money_manager"), + @SerializedName("recipient") RECIPIENT("recipient"), @@ -891,6 +894,9 @@ public enum Configuration implements ApiRequestParams.EnumParam { @SerializedName("merchant") MERCHANT("merchant"), + @SerializedName("money_manager") + MONEY_MANAGER("money_manager"), + @SerializedName("recipient") RECIPIENT("recipient"), diff --git a/src/main/java/com/stripe/param/v2/core/AccountListParams.java b/src/main/java/com/stripe/param/v2/core/AccountListParams.java index e74a576fcc0..5e65a030b29 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountListParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountListParams.java @@ -151,8 +151,8 @@ public enum AppliedConfiguration implements ApiRequestParams.EnumParam { @SerializedName("recipient") RECIPIENT("recipient"), - @SerializedName("storer") - STORER("storer"); + @SerializedName("money_manager") + MONEY_MANAGER("money_manager"); @Getter(onMethod_ = {@Override}) private final String value; 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 eb6ab020790..f4e04522614 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountRetrieveParams.java @@ -112,8 +112,8 @@ public enum Include implements ApiRequestParams.EnumParam { @SerializedName("configuration.recipient") CONFIGURATION__RECIPIENT("configuration.recipient"), - @SerializedName("configuration.storer") - CONFIGURATION__STORER("configuration.storer"), + @SerializedName("configuration.money_manager") + CONFIGURATION__MONEY_MANAGER("configuration.money_manager"), @SerializedName("defaults") DEFAULTS("defaults"), diff --git a/src/main/java/com/stripe/param/v2/core/AccountTokenCreateParams.java b/src/main/java/com/stripe/param/v2/core/AccountTokenCreateParams.java index 33080ae4cc0..b440dcb18ea 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountTokenCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountTokenCreateParams.java @@ -828,11 +828,11 @@ public static class TermsOfService { CardCreator cardCreator; /** - * Details on the Account's acceptance of Crypto-storer-specific terms of service; IP, date, - * and User Agent are expanded by Stripe. + * Details on the Account's acceptance of Crypto-specific terms of service; IP, date, and + * User Agent are expanded by Stripe. */ - @SerializedName("crypto_storer") - CryptoStorer cryptoStorer; + @SerializedName("crypto_money_manager") + CryptoMoneyManager cryptoMoneyManager; /** * Map of extra parameters for custom features not available in this client library. The @@ -848,20 +848,20 @@ public static class TermsOfService { * Details on the Account's acceptance of Treasury-specific terms of service; IP, date, and * User Agent are expanded by Stripe. */ - @SerializedName("storer") - Storer storer; + @SerializedName("money_manager") + MoneyManager moneyManager; private TermsOfService( Account account, CardCreator cardCreator, - CryptoStorer cryptoStorer, + CryptoMoneyManager cryptoMoneyManager, Map extraParams, - Storer storer) { + MoneyManager moneyManager) { this.account = account; this.cardCreator = cardCreator; - this.cryptoStorer = cryptoStorer; + this.cryptoMoneyManager = cryptoMoneyManager; this.extraParams = extraParams; - this.storer = storer; + this.moneyManager = moneyManager; } public static Builder builder() { @@ -873,16 +873,20 @@ public static class Builder { private CardCreator cardCreator; - private CryptoStorer cryptoStorer; + private CryptoMoneyManager cryptoMoneyManager; private Map extraParams; - private Storer storer; + private MoneyManager moneyManager; /** Finalize and obtain parameter instance from this builder. */ public AccountTokenCreateParams.Identity.Attestations.TermsOfService build() { return new AccountTokenCreateParams.Identity.Attestations.TermsOfService( - this.account, this.cardCreator, this.cryptoStorer, this.extraParams, this.storer); + this.account, + this.cardCreator, + this.cryptoMoneyManager, + this.extraParams, + this.moneyManager); } /** @@ -904,13 +908,13 @@ public Builder setCardCreator( } /** - * Details on the Account's acceptance of Crypto-storer-specific terms of service; IP, - * date, and User Agent are expanded by Stripe. + * Details on the Account's acceptance of Crypto-specific terms of service; IP, date, and + * User Agent are expanded by Stripe. */ - public Builder setCryptoStorer( - AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoStorer - cryptoStorer) { - this.cryptoStorer = cryptoStorer; + public Builder setCryptoMoneyManager( + AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager + cryptoMoneyManager) { + this.cryptoMoneyManager = cryptoMoneyManager; return this; } @@ -948,9 +952,10 @@ public Builder putAllExtraParam(Map map) { * Details on the Account's acceptance of Treasury-specific terms of service; IP, date, * and User Agent are expanded by Stripe. */ - public Builder setStorer( - AccountTokenCreateParams.Identity.Attestations.TermsOfService.Storer storer) { - this.storer = storer; + public Builder setMoneyManager( + AccountTokenCreateParams.Identity.Attestations.TermsOfService.MoneyManager + moneyManager) { + this.moneyManager = moneyManager; return this; } } @@ -3017,7 +3022,7 @@ public Builder setShownAndAccepted(Boolean shownAndAccepted) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoStorer { + public static class CryptoMoneyManager { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -3032,7 +3037,7 @@ public static class CryptoStorer { @SerializedName("shown_and_accepted") Boolean shownAndAccepted; - private CryptoStorer(Map extraParams, Boolean shownAndAccepted) { + private CryptoMoneyManager(Map extraParams, Boolean shownAndAccepted) { this.extraParams = extraParams; this.shownAndAccepted = shownAndAccepted; } @@ -3047,17 +3052,17 @@ public static class Builder { private Boolean shownAndAccepted; /** Finalize and obtain parameter instance from this builder. */ - public AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoStorer + public AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager build() { - return new AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoStorer( - this.extraParams, this.shownAndAccepted); + return new AccountTokenCreateParams.Identity.Attestations.TermsOfService + .CryptoMoneyManager(this.extraParams, this.shownAndAccepted); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoStorer#extraParams} + * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -3072,7 +3077,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 - * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoStorer#extraParams} + * AccountTokenCreateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -3093,7 +3098,7 @@ public Builder setShownAndAccepted(Boolean shownAndAccepted) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Storer { + public static class MoneyManager { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -3108,7 +3113,7 @@ public static class Storer { @SerializedName("shown_and_accepted") Boolean shownAndAccepted; - private Storer(Map extraParams, Boolean shownAndAccepted) { + private MoneyManager(Map extraParams, Boolean shownAndAccepted) { this.extraParams = extraParams; this.shownAndAccepted = shownAndAccepted; } @@ -3123,8 +3128,9 @@ public static class Builder { private Boolean shownAndAccepted; /** Finalize and obtain parameter instance from this builder. */ - public AccountTokenCreateParams.Identity.Attestations.TermsOfService.Storer build() { - return new AccountTokenCreateParams.Identity.Attestations.TermsOfService.Storer( + public AccountTokenCreateParams.Identity.Attestations.TermsOfService.MoneyManager + build() { + return new AccountTokenCreateParams.Identity.Attestations.TermsOfService.MoneyManager( this.extraParams, this.shownAndAccepted); } @@ -3132,8 +3138,8 @@ public AccountTokenCreateParams.Identity.Attestations.TermsOfService.Storer 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 - * AccountTokenCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for - * the field documentation. + * AccountTokenCreateParams.Identity.Attestations.TermsOfService.MoneyManager#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -3147,8 +3153,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 - * AccountTokenCreateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for - * the field documentation. + * AccountTokenCreateParams.Identity.Attestations.TermsOfService.MoneyManager#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { 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 8b126df900e..120966c33ec 100644 --- a/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java +++ b/src/main/java/com/stripe/param/v2/core/AccountUpdateParams.java @@ -356,6 +356,13 @@ public static class Configuration { @SerializedName("merchant") Merchant merchant; + /** + * The Money Manager Configuration allows the Account to store and move funds using + * FinancialAccounts. + */ + @SerializedName("money_manager") + MoneyManager moneyManager; + /** * The Recipient Configuration allows the Account to receive funds. Utilize this configuration * if the Account will not be the Merchant of Record, like with Separate Charges & @@ -364,26 +371,19 @@ public static class Configuration { @SerializedName("recipient") Recipient recipient; - /** - * The Storer Configuration allows the Account to store and move funds using stored-value - * FinancialAccounts. - */ - @SerializedName("storer") - Storer storer; - private Configuration( CardCreator cardCreator, Customer customer, Map extraParams, Merchant merchant, - Recipient recipient, - Storer storer) { + MoneyManager moneyManager, + Recipient recipient) { this.cardCreator = cardCreator; this.customer = customer; this.extraParams = extraParams; this.merchant = merchant; + this.moneyManager = moneyManager; this.recipient = recipient; - this.storer = storer; } public static Builder builder() { @@ -399,9 +399,9 @@ public static class Builder { private Merchant merchant; - private Recipient recipient; + private MoneyManager moneyManager; - private Storer storer; + private Recipient recipient; /** Finalize and obtain parameter instance from this builder. */ public AccountUpdateParams.Configuration build() { @@ -410,8 +410,8 @@ public AccountUpdateParams.Configuration build() { this.customer, this.extraParams, this.merchant, - this.recipient, - this.storer); + this.moneyManager, + this.recipient); } /** The CardCreator Configuration allows the Account to create and issue cards to users. */ @@ -465,21 +465,21 @@ public Builder setMerchant(AccountUpdateParams.Configuration.Merchant merchant) } /** - * The Recipient Configuration allows the Account to receive funds. Utilize this configuration - * if the Account will not be the Merchant of Record, like with Separate Charges & - * Transfers, or Destination Charges without on_behalf_of set. + * The Money Manager Configuration allows the Account to store and move funds using + * FinancialAccounts. */ - public Builder setRecipient(AccountUpdateParams.Configuration.Recipient recipient) { - this.recipient = recipient; + public Builder setMoneyManager(AccountUpdateParams.Configuration.MoneyManager moneyManager) { + this.moneyManager = moneyManager; return this; } /** - * The Storer Configuration allows the Account to store and move funds using stored-value - * FinancialAccounts. + * The Recipient Configuration allows the Account to receive funds. Utilize this configuration + * if the Account will not be the Merchant of Record, like with Separate Charges & + * Transfers, or Destination Charges without on_behalf_of set. */ - public Builder setStorer(AccountUpdateParams.Configuration.Storer storer) { - this.storer = storer; + public Builder setRecipient(AccountUpdateParams.Configuration.Recipient recipient) { + this.recipient = recipient; return this; } } @@ -7339,6 +7339,10 @@ public static class Capabilities { @SerializedName("sepa_debit_payments") SepaDebitPayments sepaDebitPayments; + /** Allow the merchant to process Sunbit payments. */ + @SerializedName("sunbit_payments") + SunbitPayments sunbitPayments; + /** Allow the merchant to process Swish payments. */ @SerializedName("swish_payments") SwishPayments swishPayments; @@ -7397,6 +7401,7 @@ private Capabilities( SamsungPayPayments samsungPayPayments, SepaBankTransferPayments sepaBankTransferPayments, SepaDebitPayments sepaDebitPayments, + SunbitPayments sunbitPayments, SwishPayments swishPayments, TwintPayments twintPayments, UsBankTransferPayments usBankTransferPayments, @@ -7442,6 +7447,7 @@ private Capabilities( this.samsungPayPayments = samsungPayPayments; this.sepaBankTransferPayments = sepaBankTransferPayments; this.sepaDebitPayments = sepaDebitPayments; + this.sunbitPayments = sunbitPayments; this.swishPayments = swishPayments; this.twintPayments = twintPayments; this.usBankTransferPayments = usBankTransferPayments; @@ -7535,6 +7541,8 @@ public static class Builder { private SepaDebitPayments sepaDebitPayments; + private SunbitPayments sunbitPayments; + private SwishPayments swishPayments; private TwintPayments twintPayments; @@ -7587,6 +7595,7 @@ public AccountUpdateParams.Configuration.Merchant.Capabilities build() { this.samsungPayPayments, this.sepaBankTransferPayments, this.sepaDebitPayments, + this.sunbitPayments, this.swishPayments, this.twintPayments, this.usBankTransferPayments, @@ -7930,6 +7939,14 @@ public Builder setSepaDebitPayments( return this; } + /** Allow the merchant to process Sunbit payments. */ + public Builder setSunbitPayments( + AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments + sunbitPayments) { + this.sunbitPayments = sunbitPayments; + return this; + } + /** Allow the merchant to process Swish payments. */ public Builder setSwishPayments( AccountUpdateParams.Configuration.Merchant.Capabilities.SwishPayments swishPayments) { @@ -18166,6 +18183,260 @@ public Builder setRequested(Boolean requested) { } } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class SunbitPayments { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 SunbitPayments( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments + .Protections + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments + .Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.SunbitPayments + .Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments + .Protections.PspMigration(this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.Merchant.Capabilities.SunbitPayments.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + @Getter @EqualsAndHashCode(callSuper = false) public static class SwishPayments { @@ -20733,7 +21004,7 @@ public Builder setTown(EmptyParam town) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Recipient { + public static class MoneyManager { /** * Represents the state of the configuration, and can be updated to deactivate or re-apply a * configuration. @@ -20741,21 +21012,10 @@ public static class Recipient { @SerializedName("applied") Boolean applied; - /** Capabilities to request on the Recipient Configuration. */ + /** Capabilities to request on the Money Manager 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. @@ -20765,15 +21025,73 @@ public static class Recipient { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - private Recipient( + /** List of high-risk activities the business is involved in. */ + @SerializedName("high_risk_activities") + List highRiskActivities; + + /** Description of the high-risk activities the business offers. */ + @SerializedName("high_risk_activities_description") + Object highRiskActivitiesDescription; + + /** Description of the money services offered by the business. */ + @SerializedName("money_services_description") + Object moneyServicesDescription; + + /** Does the business operate in any prohibited countries. */ + @SerializedName("operates_in_prohibited_countries") + Boolean operatesInProhibitedCountries; + + /** Indicates whether the business participates in any regulated activity. */ + @SerializedName("participates_in_regulated_activity") + Boolean participatesInRegulatedActivity; + + /** Primary purpose of the stored funds. */ + @SerializedName("purpose_of_funds") + PurposeOfFunds purposeOfFunds; + + /** Description of the purpose of the stored funds. */ + @SerializedName("purpose_of_funds_description") + Object purposeOfFundsDescription; + + /** Details of the regulated activity if the business participates in one. */ + @SerializedName("regulated_activity") + RegulatedActivity regulatedActivity; + + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + @SerializedName("source_of_funds") + SourceOfFunds sourceOfFunds; + + /** Description of the source of funds for the business' account. */ + @SerializedName("source_of_funds_description") + Object sourceOfFundsDescription; + + private MoneyManager( Boolean applied, Capabilities capabilities, - Object defaultOutboundDestination, - Map extraParams) { + Map extraParams, + List highRiskActivities, + Object highRiskActivitiesDescription, + Object moneyServicesDescription, + Boolean operatesInProhibitedCountries, + Boolean participatesInRegulatedActivity, + PurposeOfFunds purposeOfFunds, + Object purposeOfFundsDescription, + RegulatedActivity regulatedActivity, + SourceOfFunds sourceOfFunds, + Object sourceOfFundsDescription) { this.applied = applied; this.capabilities = capabilities; - this.defaultOutboundDestination = defaultOutboundDestination; this.extraParams = extraParams; + this.highRiskActivities = highRiskActivities; + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + this.moneyServicesDescription = moneyServicesDescription; + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + this.purposeOfFunds = purposeOfFunds; + this.purposeOfFundsDescription = purposeOfFundsDescription; + this.regulatedActivity = regulatedActivity; + this.sourceOfFunds = sourceOfFunds; + this.sourceOfFundsDescription = sourceOfFundsDescription; } public static Builder builder() { @@ -20785,14 +21103,45 @@ public static class Builder { private Capabilities capabilities; - private Object defaultOutboundDestination; - private Map extraParams; + private List + highRiskActivities; + + private Object highRiskActivitiesDescription; + + private Object moneyServicesDescription; + + private Boolean operatesInProhibitedCountries; + + private Boolean participatesInRegulatedActivity; + + private PurposeOfFunds purposeOfFunds; + + private Object purposeOfFundsDescription; + + private RegulatedActivity regulatedActivity; + + private SourceOfFunds sourceOfFunds; + + private Object sourceOfFundsDescription; + /** 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.MoneyManager build() { + return new AccountUpdateParams.Configuration.MoneyManager( + this.applied, + this.capabilities, + this.extraParams, + this.highRiskActivities, + this.highRiskActivitiesDescription, + this.moneyServicesDescription, + this.operatesInProhibitedCountries, + this.participatesInRegulatedActivity, + this.purposeOfFunds, + this.purposeOfFundsDescription, + this.regulatedActivity, + this.sourceOfFunds, + this.sourceOfFundsDescription); } /** @@ -20804,43 +21153,17 @@ public Builder setApplied(Boolean applied) { return this; } - /** Capabilities to request on the Recipient Configuration. */ + /** Capabilities to request on the Money Manager Configuration. */ public Builder setCapabilities( - AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { + AccountUpdateParams.Configuration.MoneyManager.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.MoneyManager#extraParams} for the field * documentation. */ public Builder putExtraParam(String key, Object value) { @@ -20854,7 +21177,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.MoneyManager#extraParams} for the field * documentation. */ public Builder putAllExtraParam(Map map) { @@ -20864,22 +21187,129 @@ public Builder putAllExtraParam(Map map) { this.extraParams.putAll(map); return this; } + + /** + * Add an element to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Configuration.MoneyManager#highRiskActivities} for the + * field documentation. + */ + public Builder addHighRiskActivity( + AccountUpdateParams.Configuration.MoneyManager.HighRiskActivity element) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); + } + this.highRiskActivities.add(element); + return this; + } + + /** + * Add all elements to `highRiskActivities` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link AccountUpdateParams.Configuration.MoneyManager#highRiskActivities} for the + * field documentation. + */ + public Builder addAllHighRiskActivity( + List elements) { + if (this.highRiskActivities == null) { + this.highRiskActivities = new ArrayList<>(); + } + this.highRiskActivities.addAll(elements); + return this; + } + + /** Description of the high-risk activities the business offers. */ + public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + return this; + } + + /** Description of the high-risk activities the business offers. */ + public Builder setHighRiskActivitiesDescription(EmptyParam highRiskActivitiesDescription) { + this.highRiskActivitiesDescription = highRiskActivitiesDescription; + return this; + } + + /** Description of the money services offered by the business. */ + public Builder setMoneyServicesDescription(String moneyServicesDescription) { + this.moneyServicesDescription = moneyServicesDescription; + return this; + } + + /** Description of the money services offered by the business. */ + public Builder setMoneyServicesDescription(EmptyParam moneyServicesDescription) { + this.moneyServicesDescription = moneyServicesDescription; + return this; + } + + /** Does the business operate in any prohibited countries. */ + public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { + this.operatesInProhibitedCountries = operatesInProhibitedCountries; + return this; + } + + /** Indicates whether the business participates in any regulated activity. */ + public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { + this.participatesInRegulatedActivity = participatesInRegulatedActivity; + return this; + } + + /** Primary purpose of the stored funds. */ + public Builder setPurposeOfFunds( + AccountUpdateParams.Configuration.MoneyManager.PurposeOfFunds purposeOfFunds) { + this.purposeOfFunds = purposeOfFunds; + return this; + } + + /** Description of the purpose of the stored funds. */ + public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { + this.purposeOfFundsDescription = purposeOfFundsDescription; + return this; + } + + /** Description of the purpose of the stored funds. */ + public Builder setPurposeOfFundsDescription(EmptyParam purposeOfFundsDescription) { + this.purposeOfFundsDescription = purposeOfFundsDescription; + return this; + } + + /** Details of the regulated activity if the business participates in one. */ + public Builder setRegulatedActivity( + AccountUpdateParams.Configuration.MoneyManager.RegulatedActivity regulatedActivity) { + this.regulatedActivity = regulatedActivity; + return this; + } + + /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ + public Builder setSourceOfFunds( + AccountUpdateParams.Configuration.MoneyManager.SourceOfFunds sourceOfFunds) { + this.sourceOfFunds = sourceOfFunds; + return this; + } + + /** Description of the source of funds for the business' account. */ + public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { + this.sourceOfFundsDescription = sourceOfFundsDescription; + return this; + } + + /** Description of the source of funds for the business' account. */ + public Builder setSourceOfFundsDescription(EmptyParam sourceOfFundsDescription) { + this.sourceOfFundsDescription = sourceOfFundsDescription; + return this; + } } @Getter @EqualsAndHashCode(callSuper = false) public static class Capabilities { - /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; + /** Can send or receive business storage-type funds on Stripe. */ + @SerializedName("business_storage") + BusinessStorage businessStorage; - /** 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; + /** Can send or receive consumer storage-type funds on Stripe. */ + @SerializedName("consumer_storage") + ConsumerStorage consumerStorage; /** * Map of extra parameters for custom features not available in this client library. The @@ -20891,27 +21321,43 @@ public static class Capabilities { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Capabilities that enable OutboundPayments via paper check. */ - @SerializedName("paper_checks") - PaperChecks paperChecks; + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + @SerializedName("inbound_transfers") + InboundTransfers inboundTransfers; - /** Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). */ - @SerializedName("stripe_balance") - StripeBalance stripeBalance; + /** 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; + + /** Can receive funds on a financial address to credit a FinancialAccount. */ + @SerializedName("received_credits") + ReceivedCredits receivedCredits; + + /** Can receive debits to a FinancialAccount. */ + @SerializedName("received_debits") + ReceivedDebits receivedDebits; private Capabilities( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, + BusinessStorage businessStorage, + ConsumerStorage consumerStorage, Map extraParams, - PaperChecks paperChecks, - StripeBalance stripeBalance) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; + InboundTransfers inboundTransfers, + OutboundPayments outboundPayments, + OutboundTransfers outboundTransfers, + ReceivedCredits receivedCredits, + ReceivedDebits receivedDebits) { + this.businessStorage = businessStorage; + this.consumerStorage = consumerStorage; this.extraParams = extraParams; - this.paperChecks = paperChecks; - this.stripeBalance = stripeBalance; + this.inboundTransfers = inboundTransfers; + this.outboundPayments = outboundPayments; + this.outboundTransfers = outboundTransfers; + this.receivedCredits = receivedCredits; + this.receivedDebits = receivedDebits; } public static Builder builder() { @@ -20919,58 +21365,57 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; + private BusinessStorage businessStorage; - private CryptoWallets cryptoWallets; + private ConsumerStorage consumerStorage; private Map extraParams; - private PaperChecks paperChecks; + private InboundTransfers inboundTransfers; - private StripeBalance stripeBalance; + private OutboundPayments outboundPayments; + + private OutboundTransfers outboundTransfers; + + private ReceivedCredits receivedCredits; + + private ReceivedDebits receivedDebits; /** 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.MoneyManager.Capabilities build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities( + this.businessStorage, + this.consumerStorage, this.extraParams, - this.paperChecks, - 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; + this.inboundTransfers, + this.outboundPayments, + this.outboundTransfers, + this.receivedCredits, + this.receivedDebits); } - /** Capability that enable OutboundPayments to a debit card linked to this Account. */ - public Builder setCards( - AccountUpdateParams.Configuration.Recipient.Capabilities.Cards cards) { - this.cards = cards; + /** Can send or receive business storage-type funds on Stripe. */ + public Builder setBusinessStorage( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + businessStorage) { + this.businessStorage = businessStorage; 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; + /** Can send or receive consumer storage-type funds on Stripe. */ + public Builder setConsumerStorage( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + consumerStorage) { + this.consumerStorage = consumerStorage; return this; } /** * Add a key/value pair to `extraParams` map. A map 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.MoneyManager.Capabilities#extraParams} for the field + * documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -20983,8 +21428,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.Recipient.Capabilities#extraParams} - * for the field documentation. + * map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities#extraParams} for the field + * documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -20994,27 +21440,50 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Capabilities that enable OutboundPayments via paper check. */ - public Builder setPaperChecks( - AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks paperChecks) { - this.paperChecks = paperChecks; + /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ + public Builder setInboundTransfers( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + inboundTransfers) { + this.inboundTransfers = inboundTransfers; 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 send funds from a FinancialAccount to a destination owned by someone else. */ + public Builder setOutboundPayments( + AccountUpdateParams.Configuration.MoneyManager.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.MoneyManager.Capabilities.OutboundTransfers + outboundTransfers) { + this.outboundTransfers = outboundTransfers; + return this; + } + + /** Can receive funds on a financial address to credit a FinancialAccount. */ + public Builder setReceivedCredits( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + receivedCredits) { + this.receivedCredits = receivedCredits; + return this; + } + + /** Can receive debits to a FinancialAccount. */ + public Builder setReceivedDebits( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + receivedDebits) { + this.receivedDebits = receivedDebits; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class BusinessStorage { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -21025,37 +21494,19 @@ public static class BankAccounts { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real time - * rails. - */ - @SerializedName("instant") - com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant; + /** Can receive business storage-type funds on Stripe. */ + @SerializedName("inbound") + Inbound inbound; - /** - * 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; + /** Can send business storage-type funds on Stripe. */ + @SerializedName("outbound") + Outbound outbound; - private BankAccounts( - Map extraParams, - com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities - .BankAccounts.Instant - instant, - Local local, - Wire wire) { + private BusinessStorage( + Map extraParams, Inbound inbound, Outbound outbound) { this.extraParams = extraParams; - this.instant = instant; - this.local = local; - this.wire = wire; + this.inbound = inbound; + this.outbound = outbound; } public static Builder builder() { @@ -21065,25 +21516,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient - .Capabilities.BankAccounts.Instant - instant; - - private Local local; + private Inbound inbound; - private Wire wire; + private Outbound outbound; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts( - this.extraParams, this.instant, this.local, this.wire); + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage(this.extraParams, this.inbound, this.outbound); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21098,7 +21546,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#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21109,40 +21557,38 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over real - * time rails. - */ - public Builder setInstant( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - instant) { - this.instant = instant; - 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; + /** Can receive business storage-type funds on Stripe. */ + public Builder setInbound( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound + inbound) { + this.inbound = inbound; return this; } - /** - * Enables this Account to receive OutboundPayments to linked bank accounts over wire. - */ - public Builder setWire( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { - this.wire = wire; + /** Can send business storage-type funds on Stripe. */ + public Builder setOutbound( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound + outbound) { + this.outbound = outbound; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Instant { + public static class Inbound { + /** Can receive business storage-type funds on Stripe in AUD. */ + @SerializedName("aud") + Aud aud; + + /** Can receive business storage-type funds on Stripe in CAD. */ + @SerializedName("cad") + Cad cad; + + /** Can receive business storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -21153,22 +21599,33 @@ public static class Instant { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + /** Can receive business storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Can receive business storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; - private Instant( - Map extraParams, Protections protections, Boolean requested) { + /** Can receive business storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Inbound( + Aud aud, + Cad cad, + Eur eur, + Map extraParams, + Gbp gbp, + Usd usd, + Usdc usdc) { + this.aud = aud; + this.cad = cad; + this.eur = eur; this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.gbp = gbp; + this.usd = usd; + this.usdc = usdc; } public static Builder builder() { @@ -21176,24 +21633,61 @@ public static Builder builder() { } public static class Builder { + private Aud aud; + + private Cad cad; + + private Eur eur; + private Map extraParams; - private Protections protections; + private Gbp gbp; - private Boolean requested; + private Usd usd; + + private Usdc usdc; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound( + this.aud, this.cad, this.eur, this.extraParams, this.gbp, this.usd, this.usdc); + } + + /** Can receive business storage-type funds on Stripe in AUD. */ + public Builder setAud( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud + aud) { + this.aud = aud; + return this; + } + + /** Can receive business storage-type funds on Stripe in CAD. */ + public Builder setCad( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad + cad) { + this.cad = cad; + return this; + } + + /** Can receive business storage-type funds on Stripe in EUR. */ + public Builder setEur( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur + eur) { + this.eur = eur; + return this; } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21208,7 +21702,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21219,30 +21713,37 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - .Protections - protections) { - this.protections = protections; + /** Can receive business storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp + gbp) { + this.gbp = gbp; return this; } - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Can receive business storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can receive business storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc + usdc) { + this.usdc = usdc; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class Aud { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21253,37 +21754,51 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; - - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - public static Builder builder() { + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Aud( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { return new Builder(); } public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - .Protections + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21298,7 +21813,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21309,19 +21824,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud.Protections + protections) { + this.protections = protections; + 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 PspMigration { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21332,13 +21858,13 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PspMigration(Map extraParams, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -21348,21 +21874,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant.Protections.PspMigration + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud.Protections build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Instant.Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud.Protections( + this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21377,7 +21904,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21388,119 +21915,99 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Aud.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; 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; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Local( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } + private PspMigration(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 Protections protections; + private Boolean requested; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Aud.Protections.PspMigration( + this.extraParams, this.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.protections, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections.PspMigration#extraParams} + * for the field 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.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.MoneyManager.Capabilities.BusinessStorage.Inbound.Aud.Protections.PspMigration#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.Recipient.Capabilities.BankAccounts.Local#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections - protections) { - this.protections = protections; - 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 Protections { + public static class Cad { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21511,13 +22018,24 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - private Protections(Map extraParams, PspMigration pspMigration) { + /** + * To 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 Cad( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -21527,21 +22045,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21556,7 +22077,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.Local.Protections#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21567,19 +22088,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad.Protections + protections) { + this.protections = protections; + 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 PspMigration { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21590,13 +22122,13 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PspMigration(Map extraParams, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -21606,21 +22138,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local - .Protections.PspMigration + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad.Protections build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Local.Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad.Protections( + this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21635,7 +22168,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.Local.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21646,119 +22179,99 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Cad.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; 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; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Wire( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } + private PspMigration(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 Protections protections; + private Boolean requested; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Cad.Protections.PspMigration( + this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire(this.extraParams, this.protections, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections.PspMigration#extraParams} + * for the field 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.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Cad.Protections.PspMigration#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.Recipient.Capabilities.BankAccounts.Wire#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections - protections) { - this.protections = protections; - 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 Protections { + public static class Eur { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21769,13 +22282,24 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; - private Protections(Map extraParams, PspMigration pspMigration) { + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Eur( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -21785,21 +22309,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21814,7 +22341,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.Protections#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21825,19 +22352,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur.Protections + protections) { + this.protections = protections; + 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 PspMigration { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -21848,13 +22386,13 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PspMigration(Map extraParams, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -21864,21 +22402,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire - .Protections.PspMigration + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur.Protections build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts - .Wire.Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur.Protections( + this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -21893,7 +22432,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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -21904,194 +22443,99 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Eur.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; 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; - - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * To 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, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Protections protections; - - 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.protections, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map 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; - } - - /** Protection types to request for this capability (e.g. "psp_migration"). */ - public Builder setProtections( - AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections - protections) { - this.protections = protections; - 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 PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 Protections { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } + 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 PspMigration pspMigration; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Eur.Protections.PspMigration( + this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards - .Protections(this.extraParams, this.pspMigration); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections.PspMigration#extraParams} + * for the field 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.Recipient.Capabilities.Cards.Protections#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Eur.Protections.PspMigration#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.Recipient.Capabilities.Cards.Protections#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections - .PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PspMigration { + 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 @@ -22102,12 +22546,23 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 PspMigration(Map extraParams, Boolean requested) { + private Gbp( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; + this.protections = protections; this.requested = requested; } @@ -22118,21 +22573,24 @@ public static Builder builder() { public static class Builder { private Map extraParams; + private Protections protections; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections - .PspMigration + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards - .Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp( + this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22147,7 +22605,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.Cards.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22158,194 +22616,454 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp.Protections + protections) { + this.protections = protections; + 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; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private CryptoWallets( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } - 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 Protections protections; + private PspMigration pspMigration; - private Boolean requested; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp.Protections( + this.extraParams, this.pspMigration); + } - /** 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.protections, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections#extraParams} + * for the field 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.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.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections#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.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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Gbp.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } - /** Protection types to request for this capability (e.g. "psp_migration"). */ - public Builder setProtections( - AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections - protections) { - this.protections = protections; - return this; - } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-level field (serialized) name in this param object. + * Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Protections { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} - * value. Instead, each key/value pair is serialized as if the key is a root-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 PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + public static Builder builder() { + return new Builder(); + } - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } + public static class Builder { + private Map extraParams; - public static Builder builder() { - return new Builder(); - } + private Boolean requested; - public static class Builder { - private Map extraParams; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Gbp.Protections.PspMigration( + this.extraParams, this.requested); + } - private PspMigration pspMigration; + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections(this.extraParams, this.pspMigration); + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Gbp.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } } + } + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections#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.Recipient.Capabilities.CryptoWallets.Protections#extraParams} - * for the field documentation. + * Protection types to request for this capability (e.g. "psp_migration"). */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd.Protections + protections) { + this.protections = protections; + 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; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections - .PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usd.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PspMigration { + public static class Usdc { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -22356,75 +23074,7681 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 PspMigration(Map extraParams, Boolean requested) { + private Usdc( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; + this.protections = protections; this.requested = requested; } - public static Builder builder() { - return new Builder(); - } + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Inbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Inbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Inbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Outbound { + /** Can send business storage-type funds on Stripe in AUD. */ + @SerializedName("aud") + Aud aud; + + /** Can send business storage-type funds on Stripe in CAD. */ + @SerializedName("cad") + Cad cad; + + /** Can send business storage-type funds on Stripe in EUR. */ + @SerializedName("eur") + Eur eur; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 business storage-type funds on Stripe in GBP. */ + @SerializedName("gbp") + Gbp gbp; + + /** Can send business storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can send business storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Outbound( + Aud aud, + Cad cad, + Eur eur, + Map extraParams, + Gbp gbp, + Usd usd, + Usdc usdc) { + this.aud = aud; + this.cad = cad; + this.eur = eur; + this.extraParams = extraParams; + this.gbp = gbp; + this.usd = usd; + this.usdc = usdc; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Aud aud; + + private Cad cad; + + private Eur eur; + + private Map extraParams; + + private Gbp gbp; + + private Usd usd; + + private Usdc usdc; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound( + this.aud, this.cad, this.eur, this.extraParams, this.gbp, this.usd, this.usdc); + } + + /** Can send business storage-type funds on Stripe in AUD. */ + public Builder setAud( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud + aud) { + this.aud = aud; + return this; + } + + /** Can send business storage-type funds on Stripe in CAD. */ + public Builder setCad( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad + cad) { + this.cad = cad; + return this; + } + + /** Can send business storage-type funds on Stripe in EUR. */ + public Builder setEur( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur + eur) { + this.eur = eur; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound#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 business storage-type funds on Stripe in GBP. */ + public Builder setGbp( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp + gbp) { + this.gbp = gbp; + return this; + } + + /** Can send business storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can send business storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc + usdc) { + this.usdc = usdc; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Aud { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 Aud( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Aud.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Aud.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Aud.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Cad { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 Cad( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Cad.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Cad.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Cad.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Eur { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Eur( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Eur.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Eur.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Eur.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + 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; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Gbp( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Gbp.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Gbp.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Gbp.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usd.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 Usdc( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage + .Outbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .BusinessStorage.Outbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.BusinessStorage.Outbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ConsumerStorage { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 receive consumer storage-type funds on Stripe. */ + @SerializedName("inbound") + Inbound inbound; + + /** Can send consumer storage-type funds on Stripe. */ + @SerializedName("outbound") + Outbound outbound; + + private ConsumerStorage( + Map extraParams, Inbound inbound, Outbound outbound) { + this.extraParams = extraParams; + this.inbound = inbound; + this.outbound = outbound; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Inbound inbound; + + private Outbound outbound; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage(this.extraParams, this.inbound, this.outbound); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage#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 receive consumer storage-type funds on Stripe. */ + public Builder setInbound( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound + inbound) { + this.inbound = inbound; + return this; + } + + /** Can send consumer storage-type funds on Stripe. */ + public Builder setOutbound( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound + outbound) { + this.outbound = outbound; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Inbound { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 receive consumer storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can receive consumer storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Inbound(Map extraParams, Usd usd, Usdc usdc) { + this.extraParams = extraParams; + this.usd = usd; + this.usdc = usdc; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Usd usd; + + private Usdc usdc; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound(this.extraParams, this.usd, this.usdc); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound#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 receive consumer storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can receive consumer storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc + usdc) { + this.usdc = usdc; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usd.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 Usdc( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Inbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Inbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Inbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Outbound { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-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 consumer storage-type funds on Stripe in USD. */ + @SerializedName("usd") + Usd usd; + + /** Can send consumer storage-type funds on Stripe in USDC. */ + @SerializedName("usdc") + Usdc usdc; + + private Outbound(Map extraParams, Usd usd, Usdc usdc) { + this.extraParams = extraParams; + this.usd = usd; + this.usdc = usdc; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Usd usd; + + private Usdc usdc; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound(this.extraParams, this.usd, this.usdc); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound#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 consumer storage-type funds on Stripe in USD. */ + public Builder setUsd( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd + usd) { + this.usd = usd; + return this; + } + + /** Can send consumer storage-type funds on Stripe in USDC. */ + public Builder setUsdc( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc + usdc) { + this.usdc = usdc; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usd { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private Usd( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usd.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usd.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usd.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Usdc { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-level field (serialized) name in this param object. Effectively, this + * map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 Usdc( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage + .Outbound.Usdc.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client + * library. The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ConsumerStorage.Outbound.Usdc.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for + * the first `put/putAll` call, and subsequent calls add additional key/value + * pairs to the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ConsumerStorage.Outbound.Usdc.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class InboundTransfers { + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .InboundTransfers(this.bankAccounts, this.extraParams); + } + + /** + * Can pull funds from an external bank account owned by yourself to a FinancialAccount. + */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .InboundTransfers.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .InboundTransfers.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .InboundTransfers.BankAccounts.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .InboundTransfers.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.InboundTransfers.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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; + + /** Can send funds from a FinancialAccount to someone else via paper check. */ + @SerializedName("paper_checks") + PaperChecks paperChecks; + + private OutboundPayments( + BankAccounts bankAccounts, + Cards cards, + CryptoWallets cryptoWallets, + Map extraParams, + FinancialAccounts financialAccounts, + PaperChecks paperChecks) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; + this.paperChecks = paperChecks; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private FinancialAccounts financialAccounts; + + private PaperChecks paperChecks; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.financialAccounts, + this.paperChecks); + } + + /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.MoneyManager.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.MoneyManager.Capabilities.OutboundPayments.Cards + cards) { + this.cards = cards; + return this; + } + + /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ + public Builder setCryptoWallets( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets + cryptoWallets) { + this.cryptoWallets = cryptoWallets; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by someone + * else. + */ + public Builder setFinancialAccounts( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts + financialAccounts) { + this.financialAccounts = financialAccounts; + return this; + } + + /** Can send funds from a FinancialAccount to someone else via paper check. */ + public Builder setPaperChecks( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks + paperChecks) { + this.paperChecks = paperChecks; + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.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.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.BankAccounts.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .Cards + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.Cards(this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards + .Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .Cards.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.Cards.Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .Cards.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.Cards.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.Cards.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.Cards.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .CryptoWallets.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.CryptoWallets.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.CryptoWallets.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private FinancialAccounts( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .FinancialAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.FinancialAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.FinancialAccounts.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PaperChecks { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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 PaperChecks( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.PaperChecks( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.PaperChecks.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments + .PaperChecks.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundPayments.PaperChecks.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundPayments.PaperChecks.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundPayments.PaperChecks.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class OutboundTransfers { + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + @SerializedName("financial_accounts") + FinancialAccounts financialAccounts; + + private OutboundTransfers( + BankAccounts bankAccounts, + CryptoWallets cryptoWallets, + Map extraParams, + FinancialAccounts financialAccounts) { + this.bankAccounts = bankAccounts; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.financialAccounts = financialAccounts; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private FinancialAccounts financialAccounts; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers( + this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); + } + + /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ + public Builder setCryptoWallets( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .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.MoneyManager.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + */ + public Builder setFinancialAccounts( + AccountUpdateParams.Configuration.MoneyManager.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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .CryptoWallets.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.CryptoWallets.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class FinancialAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; + + private FinancialAccounts( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers + .FinancialAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .OutboundTransfers.FinancialAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ReceivedCredits { + /** + * Can receive funds on a bank-account-like financial address (VBAN) to credit a + * FinancialAccount. + */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Can receive funds on a crypto wallet like financial address to credit a + * FinancialAccount. + */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private ReceivedCredits( + BankAccounts bankAccounts, + CryptoWallets cryptoWallets, + Map extraParams) { + this.bankAccounts = bankAccounts; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits(this.bankAccounts, this.cryptoWallets, this.extraParams); + } + + /** + * Can receive funds on a bank-account-like financial address (VBAN) to credit a + * FinancialAccount. + */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** + * Can receive funds on a crypto wallet like financial address to credit a + * FinancialAccount. + */ + public Builder setCryptoWallets( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .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.MoneyManager.Capabilities.ReceivedCredits#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.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.MoneyManager.Capabilities.ReceivedCredits.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.BankAccounts.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities.ReceivedCredits + .BankAccounts.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.CryptoWallets( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.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.MoneyManager.Capabilities.ReceivedCredits.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.CryptoWallets.Protections( + this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities.ReceivedCredits + .CryptoWallets.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedCredits.CryptoWallets.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedCredits.CryptoWallets.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ReceivedDebits { + /** Can receive debits to a FinancialAccount from a bank account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + private ReceivedDebits(BankAccounts bankAccounts, Map extraParams) { + this.bankAccounts = bankAccounts; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits( + this.bankAccounts, this.extraParams); + } + + /** Can receive debits to a FinancialAccount from a bank account. */ + public Builder setBankAccounts( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts + bankAccounts) { + this.bankAccounts = bankAccounts; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class BankAccounts { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + private Boolean requested; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedDebits.BankAccounts( + this.extraParams, this.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.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.MoneyManager.Capabilities.ReceivedDebits.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; + } + + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections + protections) { + this.protections = protections; + 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 Protections { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the + * key is a root-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. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; + + private Protections(Map extraParams, PspMigration pspMigration) { + this.extraParams = extraParams; + this.pspMigration = pspMigration; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PspMigration pspMigration; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedDebits.BankAccounts.Protections(this.extraParams, this.pspMigration); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections#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. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 protection, pass true. */ + @SerializedName("requested") + Boolean requested; + + private PspMigration(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.MoneyManager.Capabilities.ReceivedDebits + .BankAccounts.Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.MoneyManager.Capabilities + .ReceivedDebits.BankAccounts.Protections.PspMigration( + this.extraParams, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.Capabilities.ReceivedDebits.BankAccounts.Protections.PspMigration#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 protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } + } + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RegulatedActivity { + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + @SerializedName("description") + Object description; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * The license number or registration number assigned by the business's primary regulator. + */ + @SerializedName("license_number") + Object licenseNumber; + + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_country") + Object primaryRegulatoryAuthorityCountry; + + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + @SerializedName("primary_regulatory_authority_name") + Object primaryRegulatoryAuthorityName; + + private RegulatedActivity( + Object description, + Map extraParams, + Object licenseNumber, + Object primaryRegulatoryAuthorityCountry, + Object primaryRegulatoryAuthorityName) { + this.description = description; + this.extraParams = extraParams; + this.licenseNumber = licenseNumber; + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object description; + + private Map extraParams; + + private Object licenseNumber; + + private Object primaryRegulatoryAuthorityCountry; + + private Object primaryRegulatoryAuthorityName; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.MoneyManager.RegulatedActivity build() { + return new AccountUpdateParams.Configuration.MoneyManager.RegulatedActivity( + this.description, + this.extraParams, + this.licenseNumber, + this.primaryRegulatoryAuthorityCountry, + this.primaryRegulatoryAuthorityName); + } + + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** + * A detailed description of the regulated activities the business is licensed to conduct. + */ + public Builder setDescription(EmptyParam description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.RegulatedActivity#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * AccountUpdateParams.Configuration.MoneyManager.RegulatedActivity#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** + * The license number or registration number assigned by the business's primary regulator. + */ + public Builder setLicenseNumber(String licenseNumber) { + this.licenseNumber = licenseNumber; + return this; + } + + /** + * The license number or registration number assigned by the business's primary regulator. + */ + public Builder setLicenseNumber(EmptyParam licenseNumber) { + this.licenseNumber = licenseNumber; + return this; + } + + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityCountry( + String primaryRegulatoryAuthorityCountry) { + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + return this; + } + + /** + * The country of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityCountry( + EmptyParam primaryRegulatoryAuthorityCountry) { + this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; + return this; + } + + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + return this; + } + + /** + * The name of the primary regulatory authority that oversees the business's regulated + * activities. + */ + public Builder setPrimaryRegulatoryAuthorityName( + EmptyParam primaryRegulatoryAuthorityName) { + this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; + return this; + } + } + } + + public enum HighRiskActivity implements ApiRequestParams.EnumParam { + @SerializedName("adult_entertainment") + ADULT_ENTERTAINMENT("adult_entertainment"), + + @SerializedName("gambling") + GAMBLING("gambling"), + + @SerializedName("hold_client_funds") + HOLD_CLIENT_FUNDS("hold_client_funds"), + + @SerializedName("investment_services") + INVESTMENT_SERVICES("investment_services"), + + @SerializedName("lending_banking") + LENDING_BANKING("lending_banking"), + + @SerializedName("marijuana_or_related_services") + MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), + + @SerializedName("money_services") + MONEY_SERVICES("money_services"), + + @SerializedName("nicotine_tobacco_or_related_services") + NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), + + @SerializedName("none") + NONE("none"), + + @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") + OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( + "operate_foreign_exchange_virtual_currencies_brokerage_otc"), + + @SerializedName("pharmaceuticals") + PHARMACEUTICALS("pharmaceuticals"), + + @SerializedName("precious_metals_precious_stones_jewelry") + PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), + + @SerializedName("safe_deposit_box_rentals") + SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), + + @SerializedName("third_party_payment_processing") + THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), + + @SerializedName("weapons_firearms_and_explosives") + WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + HighRiskActivity(String value) { + this.value = value; + } + } + + public enum PurposeOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("charitable_donations") + CHARITABLE_DONATIONS("charitable_donations"), + + @SerializedName("ecommerce_retail_payments") + ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), + + @SerializedName("investment_purposes") + INVESTMENT_PURPOSES("investment_purposes"), + + @SerializedName("other") + OTHER("other"), + + @SerializedName("payments_to_friends_or_family_abroad") + PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), + + @SerializedName("payroll") + PAYROLL("payroll"), + + @SerializedName("personal_or_living_expenses") + PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), + + @SerializedName("protect_wealth") + PROTECT_WEALTH("protect_wealth"), + + @SerializedName("purchase_goods_and_services") + PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), + + @SerializedName("receive_payments_for_goods_and_services") + RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), + + @SerializedName("tax_optimization") + TAX_OPTIMIZATION("tax_optimization"), + + @SerializedName("third_party_money_transmission") + THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), + + @SerializedName("treasury_management") + TREASURY_MANAGEMENT("treasury_management"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PurposeOfFunds(String value) { + this.value = value; + } + } + + public enum SourceOfFunds implements ApiRequestParams.EnumParam { + @SerializedName("business_loans") + BUSINESS_LOANS("business_loans"), + + @SerializedName("grants") + GRANTS("grants"), + + @SerializedName("inter_company_funds") + INTER_COMPANY_FUNDS("inter_company_funds"), + + @SerializedName("investment_proceeds") + INVESTMENT_PROCEEDS("investment_proceeds"), + + @SerializedName("legal_settlement") + LEGAL_SETTLEMENT("legal_settlement"), + + @SerializedName("owners_capital") + OWNERS_CAPITAL("owners_capital"), + + @SerializedName("pension_retirement") + PENSION_RETIREMENT("pension_retirement"), + + @SerializedName("sales_of_assets") + SALES_OF_ASSETS("sales_of_assets"), + + @SerializedName("sales_of_goods_and_services") + SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), + + @SerializedName("tax_refund") + TAX_REFUND("tax_refund"), + + @SerializedName("third_party_funds") + THIRD_PARTY_FUNDS("third_party_funds"), + + @SerializedName("treasury_reserves") + TREASURY_RESERVES("treasury_reserves"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + SourceOfFunds(String value) { + this.value = value; + } + } + } + + @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); + } + + /** + * Represents the state of the configuration, and can be updated to deactivate or re-apply a + * configuration. + */ + public Builder setApplied(Boolean applied) { + this.applied = applied; + return this; + } + + /** Capabilities to request on the Recipient Configuration. */ + public Builder setCapabilities( + AccountUpdateParams.Configuration.Recipient.Capabilities capabilities) { + this.capabilities = capabilities; + return this; + } + + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + public Builder setDefaultOutboundDestination(String defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + return this; + } + + /** + * The payout method id to be used as a default outbound destination. This will allow the + * PayoutMethod to be omitted on OutboundPayments made through API or sending payouts via + * dashboard. Can also be explicitly set to {@code null} to clear the existing default + * outbound destination. For further details about creating an Outbound Destination, see Collect + * recipient's payment details. + */ + public Builder setDefaultOutboundDestination(EmptyParam defaultOutboundDestination) { + this.defaultOutboundDestination = defaultOutboundDestination; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class Capabilities { + /** Capabilities that enable OutboundPayments to a bank account linked to this Account. */ + @SerializedName("bank_accounts") + BankAccounts bankAccounts; + + /** Capability that enable OutboundPayments to a debit card linked to this Account. */ + @SerializedName("cards") + Cards cards; + + /** Capabilities that enable OutboundPayments to a crypto wallet linked to this Account. */ + @SerializedName("crypto_wallets") + CryptoWallets cryptoWallets; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Capabilities that enable OutboundPayments via paper check. */ + @SerializedName("paper_checks") + PaperChecks paperChecks; + + /** 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, + PaperChecks paperChecks, + StripeBalance stripeBalance) { + this.bankAccounts = bankAccounts; + this.cards = cards; + this.cryptoWallets = cryptoWallets; + this.extraParams = extraParams; + this.paperChecks = paperChecks; + this.stripeBalance = stripeBalance; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccounts bankAccounts; + + private Cards cards; + + private CryptoWallets cryptoWallets; + + private Map extraParams; + + private PaperChecks paperChecks; + + private StripeBalance stripeBalance; + + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities( + this.bankAccounts, + this.cards, + this.cryptoWallets, + this.extraParams, + this.paperChecks, + 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; + } - public static class Builder { - private Map extraParams; + /** 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; + } - private Boolean requested; + /** + * 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; + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections.PspMigration - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets - .Protections.PspMigration(this.extraParams, this.requested); - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link AccountUpdateParams.Configuration.Recipient.Capabilities#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map 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.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Capabilities that enable OutboundPayments via paper check. */ + public Builder setPaperChecks( + AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks paperChecks) { + this.paperChecks = paperChecks; + return this; + } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } + /** + * Capabilities that enable the recipient to manage their Stripe Balance (/v1/balance). + */ + public Builder setStripeBalance( + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + stripeBalance) { + this.stripeBalance = stripeBalance; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class PaperChecks { + public static class BankAccounts { + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over ACH + * rails. + */ + @SerializedName("ach") + Ach ach; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over BECS + * rails. + */ + @SerializedName("becs") + Becs becs; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over EFT + * rails. + */ + @SerializedName("eft") + Eft eft; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -22435,22 +30759,105 @@ public static class PaperChecks { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over Fedwire + * or CHIPS. + */ + @SerializedName("fedwire") + Fedwire fedwire; /** - * To request a new Capability for an account, pass true. There can be a delay before the - * requested Capability becomes active. + * Enables this Account to receive OutboundPayments to linked bank accounts over FPS + * rails. */ - @SerializedName("requested") - Boolean requested; + @SerializedName("fps") + Fps fps; - private PaperChecks( - Map extraParams, Protections protections, Boolean requested) { + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real time + * rails. + */ + @SerializedName("instant") + com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant; + + /** + * 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 NPP (real + * time) rails. + */ + @SerializedName("npp") + Npp npp; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over RTP + * rails. + */ + @SerializedName("rtp") + Rtp rtp; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * credit rails. + */ + @SerializedName("sepa_credit") + SepaCredit sepaCredit; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * instant (real time) rails. + */ + @SerializedName("sepa_instant") + SepaInstant sepaInstant; + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. + */ + @SerializedName("swift") + Swift swift; + + /** Enables this Account to receive OutboundPayments to linked bank accounts over wire. */ + @SerializedName("wire") + Wire wire; + + private BankAccounts( + Ach ach, + Becs becs, + Eft eft, + Map extraParams, + Fedwire fedwire, + Fps fps, + com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient.Capabilities + .BankAccounts.Instant + instant, + Local local, + Npp npp, + Rtp rtp, + SepaCredit sepaCredit, + SepaInstant sepaInstant, + Swift swift, + Wire wire) { + this.ach = ach; + this.becs = becs; + this.eft = eft; this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.fedwire = fedwire; + this.fps = fps; + this.instant = instant; + this.local = local; + this.npp = npp; + this.rtp = rtp; + this.sepaCredit = sepaCredit; + this.sepaInstant = sepaInstant; + this.swift = swift; + this.wire = wire; } public static Builder builder() { @@ -22458,24 +30865,91 @@ public static Builder builder() { } public static class Builder { + private Ach ach; + + private Becs becs; + + private Eft eft; + private Map extraParams; - private Protections protections; + private Fedwire fedwire; - private Boolean requested; + private Fps fps; + + private com.stripe.param.v2.core.AccountUpdateParams.Configuration.Recipient + .Capabilities.BankAccounts.Instant + instant; + + private Local local; + + private Npp npp; + + private Rtp rtp; + + private SepaCredit sepaCredit; + + private SepaInstant sepaInstant; + + private Swift swift; + + private Wire wire; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks( - this.extraParams, this.protections, this.requested); + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts( + this.ach, + this.becs, + this.eft, + this.extraParams, + this.fedwire, + this.fps, + this.instant, + this.local, + this.npp, + this.rtp, + this.sepaCredit, + this.sepaInstant, + this.swift, + this.wire); + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over ACH + * rails. + */ + public Builder setAch( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach ach) { + this.ach = ach; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over BECS + * rails. + */ + public Builder setBecs( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs becs) { + this.becs = becs; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over EFT + * rails. + */ + public Builder setEft( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft eft) { + this.eft = eft; + return this; } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks#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) { @@ -22489,8 +30963,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.PaperChecks#extraParams} for - * the field documentation. + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -22500,27 +30974,112 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Protection types to request for this capability (e.g. "psp_migration"). */ - public Builder setProtections( - AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections - protections) { - this.protections = protections; + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over Fedwire + * or CHIPS. + */ + public Builder setFedwire( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + fedwire) { + this.fedwire = fedwire; return this; } /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. + * Enables this Account to receive OutboundPayments to linked bank accounts over FPS + * rails. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + public Builder setFps( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps fps) { + this.fps = fps; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over real + * time rails. + */ + public Builder setInstant( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant + instant) { + this.instant = instant; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over local + * networks. + */ + public Builder setLocal( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local local) { + this.local = local; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over NPP + * (real time) rails. + */ + public Builder setNpp( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp npp) { + this.npp = npp; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over RTP + * rails. + */ + public Builder setRtp( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp rtp) { + this.rtp = rtp; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * credit rails. + */ + public Builder setSepaCredit( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit + sepaCredit) { + this.sepaCredit = sepaCredit; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SEPA + * instant (real time) rails. + */ + public Builder setSepaInstant( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant + sepaInstant) { + this.sepaInstant = sepaInstant; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over SWIFT. + */ + public Builder setSwift( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift swift) { + this.swift = swift; + return this; + } + + /** + * Enables this Account to receive OutboundPayments to linked bank accounts over wire. + */ + public Builder setWire( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire wire) { + this.wire = wire; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class Ach { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -22531,13 +31090,22 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; - private Protections(Map extraParams, PspMigration pspMigration) { + /** + * To 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 Ach( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -22547,21 +31115,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Ach(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22576,7 +31145,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.PaperChecks.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22587,19 +31156,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections - .PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections + protections) { + this.protections = protections; + 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 PspMigration { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -22610,13 +31190,13 @@ public static class PspMigration { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. To request a protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PspMigration(Map extraParams, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -22626,21 +31206,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks - .Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Ach.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22655,7 +31235,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.PaperChecks.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22666,101 +31246,98 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } - } - } - } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class StripeBalance { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 /v1/transfers into their Stripe Balance (/v1/balance). - */ - @SerializedName("stripe_transfers") - StripeTransfers stripeTransfers; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { - this.extraParams = extraParams; - this.stripeTransfers = stripeTransfers; - } + private PspMigration(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 StripeTransfers stripeTransfers; + private Boolean requested; - /** 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); - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Ach + .Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Ach.Protections.PspMigration(this.extraParams, this.requested); + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add a key/value pair to `extraParams` map. A map 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.Ach.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map 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.Ach.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } - /** - * Enables this Account to receive /v1/transfers into their Stripe Balance - * (/v1/balance). - */ - public Builder setStripeTransfers( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers - stripeTransfers) { - this.stripeTransfers = stripeTransfers; - return this; + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } + } } } @Getter @EqualsAndHashCode(callSuper = false) - public static class StripeTransfers { + public static class Becs { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -22782,7 +31359,7 @@ public static class StripeTransfers { @SerializedName("requested") Boolean requested; - private StripeTransfers( + private Becs( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -22801,18 +31378,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.Recipient.Capabilities.BankAccounts.Becs build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Becs(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Recipient.Capabilities.BankAccounts.Becs#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22827,7 +31403,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.Recipient.Capabilities.BankAccounts.Becs#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22842,8 +31418,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections protections) { this.protections = protections; return this; @@ -22891,18 +31467,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Becs.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -22917,7 +31493,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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -22928,636 +31504,98 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; - - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance - .StripeTransfers.Protections.PspMigration - build() { - return new AccountUpdateParams.Configuration.Recipient.Capabilities - .StripeBalance.StripeTransfers.Protections.PspMigration( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map 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.Protections.PspMigration#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 protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } - } - } - } - } - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Storer { - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - @SerializedName("applied") - Boolean applied; - - /** Capabilities to request on the Storer Configuration. */ - @SerializedName("capabilities") - Capabilities capabilities; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field (serialized) - * name in this param object. Effectively, this map is flattened to its parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** List of high-risk activities the business is involved in. */ - @SerializedName("high_risk_activities") - List highRiskActivities; - - /** Description of the high-risk activities the business offers. */ - @SerializedName("high_risk_activities_description") - Object highRiskActivitiesDescription; - - /** Description of the money services offered by the business. */ - @SerializedName("money_services_description") - Object moneyServicesDescription; - - /** Does the business operate in any prohibited countries. */ - @SerializedName("operates_in_prohibited_countries") - Boolean operatesInProhibitedCountries; - - /** Indicates whether the business participates in any regulated activity. */ - @SerializedName("participates_in_regulated_activity") - Boolean participatesInRegulatedActivity; - - /** Primary purpose of the stored funds. */ - @SerializedName("purpose_of_funds") - PurposeOfFunds purposeOfFunds; - - /** Description of the purpose of the stored funds. */ - @SerializedName("purpose_of_funds_description") - Object purposeOfFundsDescription; - - /** Details of the regulated activity if the business participates in one. */ - @SerializedName("regulated_activity") - RegulatedActivity regulatedActivity; - - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - @SerializedName("source_of_funds") - SourceOfFunds sourceOfFunds; - - /** Description of the source of funds for the business' account. */ - @SerializedName("source_of_funds_description") - Object sourceOfFundsDescription; - - private Storer( - Boolean applied, - Capabilities capabilities, - Map extraParams, - List highRiskActivities, - Object highRiskActivitiesDescription, - Object moneyServicesDescription, - Boolean operatesInProhibitedCountries, - Boolean participatesInRegulatedActivity, - PurposeOfFunds purposeOfFunds, - Object purposeOfFundsDescription, - RegulatedActivity regulatedActivity, - SourceOfFunds sourceOfFunds, - Object sourceOfFundsDescription) { - this.applied = applied; - this.capabilities = capabilities; - this.extraParams = extraParams; - this.highRiskActivities = highRiskActivities; - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - this.moneyServicesDescription = moneyServicesDescription; - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - this.purposeOfFunds = purposeOfFunds; - this.purposeOfFundsDescription = purposeOfFundsDescription; - this.regulatedActivity = regulatedActivity; - this.sourceOfFunds = sourceOfFunds; - this.sourceOfFundsDescription = sourceOfFundsDescription; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Boolean applied; - - private Capabilities capabilities; - - private Map extraParams; - - private List highRiskActivities; - - private Object highRiskActivitiesDescription; - - private Object moneyServicesDescription; - - private Boolean operatesInProhibitedCountries; - - private Boolean participatesInRegulatedActivity; - - private PurposeOfFunds purposeOfFunds; - - private Object purposeOfFundsDescription; - - private RegulatedActivity regulatedActivity; - - private SourceOfFunds sourceOfFunds; - - private Object sourceOfFundsDescription; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer build() { - return new AccountUpdateParams.Configuration.Storer( - this.applied, - this.capabilities, - this.extraParams, - this.highRiskActivities, - this.highRiskActivitiesDescription, - this.moneyServicesDescription, - this.operatesInProhibitedCountries, - this.participatesInRegulatedActivity, - this.purposeOfFunds, - this.purposeOfFundsDescription, - this.regulatedActivity, - this.sourceOfFunds, - this.sourceOfFundsDescription); - } - - /** - * Represents the state of the configuration, and can be updated to deactivate or re-apply a - * configuration. - */ - public Builder setApplied(Boolean applied) { - this.applied = applied; - return this; - } - - /** Capabilities to request on the Storer Configuration. */ - public Builder setCapabilities( - AccountUpdateParams.Configuration.Storer.Capabilities capabilities) { - this.capabilities = capabilities; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer#extraParams} for the field - * documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Add an element to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. - */ - public Builder addHighRiskActivity( - AccountUpdateParams.Configuration.Storer.HighRiskActivity element) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.add(element); - return this; - } - - /** - * Add all elements to `highRiskActivities` list. A list is initialized for the first - * `add/addAll` call, and subsequent calls adds additional elements to the original list. - * See {@link AccountUpdateParams.Configuration.Storer#highRiskActivities} for the field - * documentation. - */ - public Builder addAllHighRiskActivity( - List elements) { - if (this.highRiskActivities == null) { - this.highRiskActivities = new ArrayList<>(); - } - this.highRiskActivities.addAll(elements); - return this; - } - - /** Description of the high-risk activities the business offers. */ - public Builder setHighRiskActivitiesDescription(String highRiskActivitiesDescription) { - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - return this; - } - - /** Description of the high-risk activities the business offers. */ - public Builder setHighRiskActivitiesDescription(EmptyParam highRiskActivitiesDescription) { - this.highRiskActivitiesDescription = highRiskActivitiesDescription; - return this; - } - - /** Description of the money services offered by the business. */ - public Builder setMoneyServicesDescription(String moneyServicesDescription) { - this.moneyServicesDescription = moneyServicesDescription; - return this; - } - - /** Description of the money services offered by the business. */ - public Builder setMoneyServicesDescription(EmptyParam moneyServicesDescription) { - this.moneyServicesDescription = moneyServicesDescription; - return this; - } - - /** Does the business operate in any prohibited countries. */ - public Builder setOperatesInProhibitedCountries(Boolean operatesInProhibitedCountries) { - this.operatesInProhibitedCountries = operatesInProhibitedCountries; - return this; - } - - /** Indicates whether the business participates in any regulated activity. */ - public Builder setParticipatesInRegulatedActivity(Boolean participatesInRegulatedActivity) { - this.participatesInRegulatedActivity = participatesInRegulatedActivity; - return this; - } - - /** Primary purpose of the stored funds. */ - public Builder setPurposeOfFunds( - AccountUpdateParams.Configuration.Storer.PurposeOfFunds purposeOfFunds) { - this.purposeOfFunds = purposeOfFunds; - return this; - } - - /** Description of the purpose of the stored funds. */ - public Builder setPurposeOfFundsDescription(String purposeOfFundsDescription) { - this.purposeOfFundsDescription = purposeOfFundsDescription; - return this; - } - - /** Description of the purpose of the stored funds. */ - public Builder setPurposeOfFundsDescription(EmptyParam purposeOfFundsDescription) { - this.purposeOfFundsDescription = purposeOfFundsDescription; - return this; - } - - /** Details of the regulated activity if the business participates in one. */ - public Builder setRegulatedActivity( - AccountUpdateParams.Configuration.Storer.RegulatedActivity regulatedActivity) { - this.regulatedActivity = regulatedActivity; - return this; - } - - /** The source of funds for the business, e.g. profits, income, venture capital, etc. */ - public Builder setSourceOfFunds( - AccountUpdateParams.Configuration.Storer.SourceOfFunds sourceOfFunds) { - this.sourceOfFunds = sourceOfFunds; - return this; - } - - /** Description of the source of funds for the business' account. */ - public Builder setSourceOfFundsDescription(String sourceOfFundsDescription) { - this.sourceOfFundsDescription = sourceOfFundsDescription; - return this; - } - - /** Description of the source of funds for the business' account. */ - public Builder setSourceOfFundsDescription(EmptyParam sourceOfFundsDescription) { - this.sourceOfFundsDescription = sourceOfFundsDescription; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class Capabilities { - /** Can provision a consumer financial account. */ - @SerializedName("consumer") - Consumer consumer; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** Can provision a financial address to credit/debit a FinancialAccount. */ - @SerializedName("financial_addresses") - FinancialAddresses financialAddresses; - - /** Can hold storage-type funds on Stripe. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; - - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - @SerializedName("inbound_transfers") - InboundTransfers inboundTransfers; - - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - @SerializedName("outbound_payments") - OutboundPayments outboundPayments; - - /** Can send funds from a FinancialAccount to a destination owned by yourself. */ - @SerializedName("outbound_transfers") - OutboundTransfers outboundTransfers; - - private Capabilities( - Consumer consumer, - Map extraParams, - FinancialAddresses financialAddresses, - HoldsCurrencies holdsCurrencies, - InboundTransfers inboundTransfers, - OutboundPayments outboundPayments, - OutboundTransfers outboundTransfers) { - this.consumer = consumer; - this.extraParams = extraParams; - this.financialAddresses = financialAddresses; - this.holdsCurrencies = holdsCurrencies; - this.inboundTransfers = inboundTransfers; - this.outboundPayments = outboundPayments; - this.outboundTransfers = outboundTransfers; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Consumer consumer; - - private Map extraParams; - - private FinancialAddresses financialAddresses; - - private HoldsCurrencies holdsCurrencies; - - private InboundTransfers inboundTransfers; - - private OutboundPayments outboundPayments; - - private OutboundTransfers outboundTransfers; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities( - this.consumer, - this.extraParams, - this.financialAddresses, - this.holdsCurrencies, - this.inboundTransfers, - this.outboundPayments, - this.outboundTransfers); - } - - /** Can provision a consumer financial account. */ - public Builder setConsumer( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer consumer) { - this.consumer = consumer; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.Capabilities#extraParams} for - * the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can provision a financial address to credit/debit a FinancialAccount. */ - public Builder setFinancialAddresses( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - financialAddresses) { - this.financialAddresses = financialAddresses; - return this; - } - - /** Can hold storage-type funds on Stripe. */ - public Builder setHoldsCurrencies( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; - } - - /** Can pull funds from an external source, owned by yourself, to a FinancialAccount. */ - public Builder setInboundTransfers( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - inboundTransfers) { - this.inboundTransfers = inboundTransfers; - return this; - } - - /** Can send funds from a FinancialAccount to a destination owned by someone else. */ - public Builder setOutboundPayments( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - outboundPayments) { - this.outboundPayments = outboundPayments; - return this; - } + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; + 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 PspMigration { + /** + * Map of extra parameters for custom features not available in this client library. + * The content in this map is not serialized under this field's + * {@code @SerializedName} value. Instead, each key/value pair is serialized as if + * the key is a root-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 Consumer { - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - @SerializedName("holds_currencies") - HoldsCurrencies holdsCurrencies; + private PspMigration(Map extraParams, Boolean requested) { + this.extraParams = extraParams; + this.requested = requested; + } - private Consumer(Map extraParams, HoldsCurrencies holdsCurrencies) { - this.extraParams = extraParams; - this.holdsCurrencies = holdsCurrencies; - } + 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 HoldsCurrencies holdsCurrencies; + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs + .Protections.PspMigration + build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Becs.Protections.PspMigration(this.extraParams, this.requested); + } - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer( - this.extraParams, this.holdsCurrencies); - } + /** + * Add a key/value pair to `extraParams` map. A map 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.Becs.Protections.PspMigration#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer#extraParams} for the - * field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to + * the original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Becs.Protections.PspMigration#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.Storer.Capabilities.Consumer#extraParams} for the - * field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; + return this; + } + } } - this.extraParams.putAll(map); - return this; - } - - /** Can hold storage-type funds on Stripe in a consumer financial account. */ - public Builder setHoldsCurrencies( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - holdsCurrencies) { - this.holdsCurrencies = holdsCurrencies; - return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { + public static class Eft { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -23568,13 +31606,22 @@ public static class HoldsCurrencies { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - @SerializedName("usd") - Usd usd; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. + */ + @SerializedName("requested") + Boolean requested; - private HoldsCurrencies(Map extraParams, Usd usd) { + private Eft( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.usd = usd; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -23584,20 +31631,22 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Usd usd; + private Protections protections; + + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies(this.extraParams, this.usd); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Eft(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23612,7 +31661,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23623,18 +31672,30 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Can hold storage-type funds on Stripe in USD in a consumer financial account. */ - public Builder setUsd( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd - usd) { - this.usd = usd; + /** + * Protection types to request for this capability (e.g. "psp_migration"). + */ + public Builder setProtections( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections + protections) { + this.protections = protections; + 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 Usd { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -23645,24 +31706,13 @@ public static class Usd { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - @SerializedName("protections") - Protections protections; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private Usd( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -23672,23 +31722,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Eft.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23703,7 +31751,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23714,30 +31762,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - .Usd.Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections.PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -23748,13 +31785,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -23764,21 +31801,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft + .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Eft.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -23793,7 +31830,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Eft.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -23804,206 +31841,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies - .Usd.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client - * library. The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; - - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; + public Builder setRequested(Boolean requested) { 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.Consumer - .HoldsCurrencies.Usd.Protections.PspMigration - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.Consumer - .HoldsCurrencies.Usd.Protections.PspMigration( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for - * the first `put/putAll` call, and subsequent calls add additional key/value - * pairs to the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.Consumer.HoldsCurrencies.Usd.Protections.PspMigration#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 protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + return this; } } } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class FinancialAddresses { - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Can provision a crypto wallet like financial address to credit a FinancialAccount. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private FinancialAddresses( - BankAccounts bankAccounts, - CryptoWallets cryptoWallets, - Map extraParams) { - this.bankAccounts = bankAccounts; - this.cryptoWallets = cryptoWallets; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private CryptoWallets cryptoWallets; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses( - this.bankAccounts, this.cryptoWallets, this.extraParams); - } - - /** - * Can provision a bank-account-like financial address (VBAN) to credit/debit a - * FinancialAccount. - */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Can provision a crypto wallet like financial address to credit a FinancialAccount. - */ - public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Fedwire { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -24025,7 +31875,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts( + private Fedwire( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -24044,18 +31894,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24070,7 +31919,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24085,8 +31934,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + .Protections protections) { this.protections = protections; return this; @@ -24134,19 +31983,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .FinancialAddresses.BankAccounts.Protections( - this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24161,7 +32009,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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24174,8 +32022,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -24214,19 +32062,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .BankAccounts.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire.Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .FinancialAddresses.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fedwire.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24241,7 +32088,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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fedwire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24264,7 +32111,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { + public static class Fps { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -24286,7 +32133,7 @@ public static class CryptoWallets { @SerializedName("requested") Boolean requested; - private CryptoWallets( + private Fps( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -24305,18 +32152,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fps(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24331,7 +32177,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.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24346,8 +32192,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections protections) { this.protections = protections; return this; @@ -24395,19 +32241,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .FinancialAddresses.CryptoWallets.Protections( - this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fps.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24422,7 +32267,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.CryptoWallets.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24435,8 +32280,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -24475,19 +32320,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses - .CryptoWallets.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps + .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .FinancialAddresses.CryptoWallets.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Fps.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.FinancialAddresses.CryptoWallets.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24502,7 +32346,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.CryptoWallets.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Fps.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24522,129 +32366,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class HoldsCurrencies { - /** Can hold storage-type funds on Stripe in EUR. */ - @SerializedName("eur") - Eur eur; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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; - - /** Can hold storage-type funds on Stripe in USD. */ - @SerializedName("usd") - Usd usd; - - /** Can hold storage-type funds on Stripe in USDC. */ - @SerializedName("usdc") - Usdc usdc; - - private HoldsCurrencies( - Eur eur, Map extraParams, Gbp gbp, Usd usd, Usdc usdc) { - this.eur = eur; - this.extraParams = extraParams; - this.gbp = gbp; - this.usd = usd; - this.usdc = usdc; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Eur eur; - - private Map extraParams; - - private Gbp gbp; - - private Usd usd; - - private Usdc usdc; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies( - this.eur, this.extraParams, this.gbp, this.usd, this.usdc); - } - - /** Can hold storage-type funds on Stripe in EUR. */ - public Builder setEur( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur eur) { - this.eur = eur; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** Can hold storage-type funds on Stripe in GBP. */ - public Builder setGbp( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp gbp) { - this.gbp = gbp; - return this; - } - - /** Can hold storage-type funds on Stripe in USD. */ - public Builder setUsd( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd usd) { - this.usd = usd; - return this; - } - - /** Can hold storage-type funds on Stripe in USDC. */ - public Builder setUsdc( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc usdc) { - this.usdc = usdc; - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class Eur { + public static class Instant { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -24666,265 +32391,7 @@ public static class Eur { @SerializedName("requested") Boolean requested; - private Eur( - Map extraParams, Protections protections, Boolean requested) { - this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Protections protections; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur(this.extraParams, this.protections, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections - protections) { - this.protections = protections; - 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 Protections { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if the - * key is a root-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. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; - - private Protections(Map extraParams, PspMigration pspMigration) { - this.extraParams = extraParams; - this.pspMigration = pspMigration; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private PspMigration pspMigration; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur.Protections(this.extraParams, this.pspMigration); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections#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. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; - - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Map extraParams; - - private Boolean requested; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur - .Protections.PspMigration - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Eur.Protections.PspMigration(this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Eur.Protections.PspMigration#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 protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - 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; - - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; - - private Gbp( + private Instant( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -24943,17 +32410,17 @@ 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.Recipient.Capabilities.BankAccounts.Instant build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Recipient.Capabilities.BankAccounts.Instant#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -24968,7 +32435,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.Recipient.Capabilities.BankAccounts.Instant#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -24983,7 +32450,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant .Protections protections) { this.protections = protections; @@ -25032,18 +32499,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25058,7 +32525,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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25071,7 +32538,7 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; @@ -25111,18 +32578,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Gbp - .Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant.Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Gbp.Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Instant.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25137,7 +32604,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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Instant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25160,7 +32627,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Usd { + 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} @@ -25182,7 +32649,7 @@ public static class Usd { @SerializedName("requested") Boolean requested; - private Usd( + private Local( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -25201,17 +32668,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25226,7 +32693,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.Usd#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25241,7 +32708,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections protections) { this.protections = protections; @@ -25290,18 +32757,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25316,7 +32783,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.Usd.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25329,7 +32796,7 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; @@ -25369,18 +32836,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usd.Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Local.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usd.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25395,7 +32862,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.Usd.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Local.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25418,7 +32885,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Usdc { + public static class Npp { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -25440,7 +32907,7 @@ public static class Usdc { @SerializedName("requested") Boolean requested; - private Usdc( + private Npp( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -25459,17 +32926,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Npp(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25484,7 +32951,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.Usdc#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25499,7 +32966,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections protections) { this.protections = protections; @@ -25548,18 +33015,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Npp.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25574,7 +33041,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.Usdc.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25587,7 +33054,7 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; @@ -25627,18 +33094,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies - .Usdc.Protections.PspMigration(this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Npp.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.HoldsCurrencies.Usdc.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25653,7 +33120,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.Usdc.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Npp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25673,91 +33140,10 @@ 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. - */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its - * parent instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - private InboundTransfers(BankAccounts bankAccounts, Map extraParams) { - this.bankAccounts = bankAccounts; - this.extraParams = extraParams; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Map extraParams; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers( - this.bankAccounts, this.extraParams); - } - - /** - * Can pull funds from an external bank account owned by yourself to a FinancialAccount. - */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Rtp { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -25779,7 +33165,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts( + private Rtp( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -25798,18 +33184,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Rtp(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Recipient.Capabilities.BankAccounts.Rtp#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25824,7 +33209,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.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25839,8 +33224,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections protections) { this.protections = protections; return this; @@ -25888,18 +33273,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Rtp.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25914,7 +33299,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.BankAccounts.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -25927,8 +33312,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -25967,19 +33352,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.InboundTransfers - .BankAccounts.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp + .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .InboundTransfers.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Rtp.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -25994,7 +33378,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.BankAccounts.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Rtp.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26014,165 +33398,10 @@ public Builder setRequested(Boolean requested) { } } } - } - - @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; - - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-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; - - /** Can send funds from a FinancialAccount to someone else via paper check. */ - @SerializedName("paper_checks") - PaperChecks paperChecks; - - private OutboundPayments( - BankAccounts bankAccounts, - Cards cards, - CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts, - PaperChecks paperChecks) { - this.bankAccounts = bankAccounts; - this.cards = cards; - this.cryptoWallets = cryptoWallets; - this.extraParams = extraParams; - this.financialAccounts = financialAccounts; - this.paperChecks = paperChecks; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private BankAccounts bankAccounts; - - private Cards cards; - - private CryptoWallets cryptoWallets; - - private Map extraParams; - - private FinancialAccounts financialAccounts; - - private PaperChecks paperChecks; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments( - this.bankAccounts, - this.cards, - this.cryptoWallets, - this.extraParams, - this.financialAccounts, - this.paperChecks); - } - - /** Can send funds from a FinancialAccount to a bank account owned by someone else. */ - public Builder setBankAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.BankAccounts - bankAccounts) { - this.bankAccounts = bankAccounts; - return this; - } - - /** Can send funds from a FinancialAccount to a debit card owned by someone else. */ - public Builder setCards( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - cards) { - this.cards = cards; - return this; - } - - /** Can send funds from a FinancialAccount to a crypto wallet owned by someone else. */ - public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by someone - * else. - */ - public Builder setFinancialAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; - return this; - } - - /** Can send funds from a FinancialAccount to someone else via paper check. */ - public Builder setPaperChecks( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.PaperChecks - paperChecks) { - this.paperChecks = paperChecks; - return this; - } - } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class SepaCredit { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -26194,7 +33423,7 @@ public static class BankAccounts { @SerializedName("requested") Boolean requested; - private BankAccounts( + private SepaCredit( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -26213,18 +33442,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.Recipient.Capabilities.BankAccounts + .SepaCredit build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Recipient.Capabilities.BankAccounts.SepaCredit#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26239,7 +33468,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.Recipient.Capabilities.BankAccounts.SepaCredit#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26254,8 +33483,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit + .Protections protections) { this.protections = protections; return this; @@ -26303,18 +33532,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26329,7 +33558,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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26342,8 +33571,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -26382,19 +33611,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .BankAccounts.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundPayments.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaCredit.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26409,7 +33637,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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaCredit.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26432,7 +33660,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Cards { + public static class SepaInstant { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -26454,7 +33682,7 @@ public static class Cards { @SerializedName("requested") Boolean requested; - private Cards( + private SepaInstant( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -26473,17 +33701,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26498,7 +33727,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.Cards#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26513,7 +33742,7 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant .Protections protections) { this.protections = protections; @@ -26562,18 +33791,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - .Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26588,7 +33817,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.Cards.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26601,8 +33830,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.Cards - .Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -26641,19 +33870,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .Cards.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundPayments.Cards.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .SepaInstant.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26668,7 +33896,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.Cards.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.SepaInstant.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26691,7 +33919,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoWallets { + public static class Swift { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -26713,7 +33941,7 @@ public static class CryptoWallets { @SerializedName("requested") Boolean requested; - private CryptoWallets( + private Swift( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -26732,18 +33960,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Swift(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26758,7 +33985,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.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26773,8 +34000,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections protections) { this.protections = protections; return this; @@ -26822,18 +34049,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Swift.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26848,7 +34075,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.CryptoWallets.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26861,8 +34088,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -26901,19 +34128,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .CryptoWallets.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift + .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundPayments.CryptoWallets.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Swift.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.CryptoWallets.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -26928,7 +34154,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.CryptoWallets.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Swift.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -26951,7 +34177,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { + 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} @@ -26973,7 +34199,7 @@ public static class FinancialAccounts { @SerializedName("requested") Boolean requested; - private FinancialAccounts( + private Wire( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -26992,18 +34218,17 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27018,7 +34243,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.FinancialAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27033,8 +34258,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections protections) { this.protections = protections; return this; @@ -27082,18 +34307,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27108,7 +34333,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.FinancialAccounts.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27121,8 +34346,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -27161,19 +34386,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .FinancialAccounts.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire + .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundPayments.FinancialAccounts.Protections.PspMigration( - this.extraParams, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts + .Wire.Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27188,7 +34412,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.FinancialAccounts.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.BankAccounts.Wire.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27208,10 +34432,107 @@ 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; + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + + /** + * To 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, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Protections protections; + + 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.protections, this.requested); + } + + /** + * Add a key/value pair to `extraParams` map. A map 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; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections + protections) { + this.protections = protections; + 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 PaperChecks { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -27222,22 +34543,13 @@ public static class PaperChecks { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private PaperChecks( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -27247,23 +34559,20 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks + public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards + .Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27278,7 +34587,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.PaperChecks#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27289,30 +34598,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments.PaperChecks - .Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -27323,13 +34621,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -27339,21 +34637,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections + .PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.Cards + .Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.PaperChecks.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27368,7 +34666,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.PaperChecks.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.Cards.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27379,91 +34677,10 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundPayments - .PaperChecks.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; - return this; - } - } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; - - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; + public Builder setRequested(Boolean requested) { 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 - .PaperChecks.Protections.PspMigration - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundPayments.PaperChecks.Protections.PspMigration( - this.extraParams, this.requested); - } - - /** - * Add a key/value pair to `extraParams` map. A map 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.PaperChecks.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map 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.PaperChecks.Protections.PspMigration#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 protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } + return this; } } } @@ -27472,15 +34689,7 @@ public Builder setRequested(Boolean requested) { @Getter @EqualsAndHashCode(callSuper = false) - public static class OutboundTransfers { - /** Can send funds from a FinancialAccount to a bank account owned by yourself. */ - @SerializedName("bank_accounts") - BankAccounts bankAccounts; - - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ - @SerializedName("crypto_wallets") - CryptoWallets cryptoWallets; - + 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. @@ -27491,21 +34700,22 @@ public static class OutboundTransfers { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; + /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + * To request a new Capability for an account, pass true. There can be a delay before the + * requested Capability becomes active. */ - @SerializedName("financial_accounts") - FinancialAccounts financialAccounts; + @SerializedName("requested") + Boolean requested; - private OutboundTransfers( - BankAccounts bankAccounts, - CryptoWallets cryptoWallets, - Map extraParams, - FinancialAccounts financialAccounts) { - this.bankAccounts = bankAccounts; - this.cryptoWallets = cryptoWallets; + private CryptoWallets( + Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; - this.financialAccounts = financialAccounts; + this.protections = protections; + this.requested = requested; } public static Builder builder() { @@ -27513,42 +34723,23 @@ public static Builder builder() { } public static class Builder { - private BankAccounts bankAccounts; - - private CryptoWallets cryptoWallets; - private Map extraParams; - private FinancialAccounts financialAccounts; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers( - this.bankAccounts, this.cryptoWallets, this.extraParams, this.financialAccounts); - } + private Protections protections; - /** 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; - } + private Boolean requested; - /** Can send funds from a FinancialAccount to a crypto wallet owned by yourself. */ - public Builder setCryptoWallets( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets - cryptoWallets) { - this.cryptoWallets = cryptoWallets; - return this; + /** 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.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27563,7 +34754,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27574,21 +34765,27 @@ public Builder putAllExtraParam(Map map) { return this; } + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections + protections) { + this.protections = protections; + return this; + } + /** - * Can send funds from a FinancialAccount to another FinancialAccount owned by yourself. + * To request a new Capability for an account, pass true. There can be a delay before + * the requested Capability becomes active. */ - public Builder setFinancialAccounts( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts - financialAccounts) { - this.financialAccounts = financialAccounts; + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class BankAccounts { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -27599,22 +34796,13 @@ public static class BankAccounts { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private BankAccounts( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -27624,23 +34812,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts + public AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27655,7 +34841,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27666,30 +34852,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -27700,13 +34875,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -27716,21 +34891,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets + .Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27745,7 +34920,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.CryptoWallets.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27756,99 +34931,115 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 PaperChecks { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; + /** Protection types to request for this capability (e.g. "psp_migration"). */ + @SerializedName("protections") + Protections protections; - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = 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; - public static Builder builder() { - return new Builder(); - } + private PaperChecks( + Map extraParams, Protections protections, Boolean requested) { + this.extraParams = extraParams; + this.protections = protections; + this.requested = requested; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Boolean requested; + public static class Builder { + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .BankAccounts.Protections.PspMigration - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundTransfers.BankAccounts.Protections.PspMigration( - this.extraParams, this.requested); - } + private Protections protections; - /** - * Add a key/value pair to `extraParams` map. A map 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.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + private Boolean requested; - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.BankAccounts.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks( + this.extraParams, this.protections, this.requested); + } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks#extraParams} for + * the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map 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.PaperChecks#extraParams} for + * the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** Protection types to request for this capability (e.g. "psp_migration"). */ + public Builder setProtections( + AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections + protections) { + this.protections = protections; + 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 { + public static class Protections { /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} @@ -27859,22 +35050,13 @@ public static class CryptoWallets { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Protection types to request for this capability (e.g. "psp_migration"). */ - @SerializedName("protections") - Protections protections; - - /** - * To request a new Capability for an account, pass true. There can be a delay before - * the requested Capability becomes active. - */ - @SerializedName("requested") - Boolean requested; + /** Required. Parameter to request psp_migration protection. */ + @SerializedName("psp_migration") + PspMigration pspMigration; - private CryptoWallets( - Map extraParams, Protections protections, Boolean requested) { + private Protections(Map extraParams, PspMigration pspMigration) { this.extraParams = extraParams; - this.protections = protections; - this.requested = requested; + this.pspMigration = pspMigration; } public static Builder builder() { @@ -27884,23 +35066,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private Protections protections; - - private Boolean requested; + private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets + public AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -27915,7 +35095,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -27926,30 +35106,19 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Protection types to request for this capability (e.g. "psp_migration"). - */ - public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections - protections) { - this.protections = protections; - 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; + /** Required. Parameter to request psp_migration protection. */ + public Builder setPspMigration( + AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections + .PspMigration + pspMigration) { + this.pspMigration = pspMigration; return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class Protections { + public static class PspMigration { /** * Map of extra parameters for custom features not available in this client library. * The content in this map is not serialized under this field's @@ -27960,13 +35129,13 @@ public static class Protections { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** Required. Parameter to request psp_migration protection. */ - @SerializedName("psp_migration") - PspMigration pspMigration; + /** Required. To request a protection, pass true. */ + @SerializedName("requested") + Boolean requested; - private Protections(Map extraParams, PspMigration pspMigration) { + private PspMigration(Map extraParams, Boolean requested) { this.extraParams = extraParams; - this.pspMigration = pspMigration; + this.requested = requested; } public static Builder builder() { @@ -27976,21 +35145,21 @@ public static Builder builder() { public static class Builder { private Map extraParams; - private PspMigration pspMigration; + private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks + .Protections.PspMigration(this.extraParams, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -28005,7 +35174,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.PaperChecks.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -28016,99 +35185,101 @@ public Builder putAllExtraParam(Map map) { return this; } - /** Required. Parameter to request psp_migration protection. */ - public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections.PspMigration - pspMigration) { - this.pspMigration = pspMigration; + /** Required. To request a protection, pass true. */ + public Builder setRequested(Boolean requested) { + this.requested = requested; return this; } } + } + } + } - @Getter - @EqualsAndHashCode(callSuper = false) - public static class PspMigration { - /** - * Map of extra parameters for custom features not available in this client library. - * The content in this map is not serialized under this field's - * {@code @SerializedName} value. Instead, each key/value pair is serialized as if - * the key is a root-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 protection, pass true. */ - @SerializedName("requested") - Boolean requested; + @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; - private PspMigration(Map extraParams, Boolean requested) { - this.extraParams = extraParams; - this.requested = requested; - } + /** + * Enables this Account to receive /v1/transfers into their Stripe Balance (/v1/balance). + */ + @SerializedName("stripe_transfers") + StripeTransfers stripeTransfers; - public static Builder builder() { - return new Builder(); - } + private StripeBalance(Map extraParams, StripeTransfers stripeTransfers) { + this.extraParams = extraParams; + this.stripeTransfers = stripeTransfers; + } - public static class Builder { - private Map extraParams; + public static Builder builder() { + return new Builder(); + } - private Boolean requested; + public static class Builder { + private Map extraParams; - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .CryptoWallets.Protections.PspMigration - build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundTransfers.CryptoWallets.Protections.PspMigration( - this.extraParams, this.requested); - } + private StripeTransfers stripeTransfers; - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the - * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } + /** Finalize and obtain parameter instance from this builder. */ + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance build() { + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance( + this.extraParams, this.stripeTransfers); + } - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the - * first `put/putAll` call, and subsequent calls add additional key/value pairs to - * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.CryptoWallets.Protections.PspMigration#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.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } - /** Required. To request a protection, pass true. */ - public Builder setRequested(Boolean requested) { - this.requested = requested; - return this; - } - } + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); } + this.extraParams.putAll(map); + return this; + } + + /** + * Enables this Account to receive /v1/transfers into their Stripe Balance + * (/v1/balance). + */ + public Builder setStripeTransfers( + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers + stripeTransfers) { + this.stripeTransfers = stripeTransfers; + return this; } } @Getter @EqualsAndHashCode(callSuper = false) - public static class FinancialAccounts { + 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} @@ -28130,7 +35301,7 @@ public static class FinancialAccounts { @SerializedName("requested") Boolean requested; - private FinancialAccounts( + private StripeTransfers( Map extraParams, Protections protections, Boolean requested) { this.extraParams = extraParams; this.protections = protections; @@ -28149,18 +35320,18 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts(this.extraParams, this.protections, this.requested); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers(this.extraParams, this.protections, this.requested); } /** * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -28175,7 +35346,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -28190,8 +35361,8 @@ public Builder putAllExtraParam(Map map) { * Protection types to request for this capability (e.g. "psp_migration"). */ public Builder setProtections( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections protections) { this.protections = protections; return this; @@ -28239,18 +35410,18 @@ public static class Builder { private PspMigration pspMigration; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections(this.extraParams, this.pspMigration); + return new AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections(this.extraParams, this.pspMigration); } /** * Add a key/value pair to `extraParams` map. A map 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.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -28265,7 +35436,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts.Protections#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -28278,8 +35449,8 @@ public Builder putAllExtraParam(Map map) { /** Required. Parameter to request psp_migration protection. */ public Builder setPspMigration( - AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections.PspMigration + AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections.PspMigration pspMigration) { this.pspMigration = pspMigration; return this; @@ -28318,11 +35489,11 @@ public static class Builder { private Boolean requested; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers - .FinancialAccounts.Protections.PspMigration + public AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance + .StripeTransfers.Protections.PspMigration build() { - return new AccountUpdateParams.Configuration.Storer.Capabilities - .OutboundTransfers.FinancialAccounts.Protections.PspMigration( + return new AccountUpdateParams.Configuration.Recipient.Capabilities + .StripeBalance.StripeTransfers.Protections.PspMigration( this.extraParams, this.requested); } @@ -28330,7 +35501,7 @@ public static class Builder { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -28345,7 +35516,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the * first `put/putAll` call, and subsequent calls add additional key/value pairs to * the original map. See {@link - * AccountUpdateParams.Configuration.Storer.Capabilities.OutboundTransfers.FinancialAccounts.Protections.PspMigration#extraParams} + * AccountUpdateParams.Configuration.Recipient.Capabilities.StripeBalance.StripeTransfers.Protections.PspMigration#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -28367,332 +35538,6 @@ public Builder setRequested(Boolean requested) { } } } - - @Getter - @EqualsAndHashCode(callSuper = false) - public static class RegulatedActivity { - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - @SerializedName("description") - Object description; - - /** - * Map of extra parameters for custom features not available in this client library. The - * content in this map is not serialized under this field's {@code @SerializedName} value. - * Instead, each key/value pair is serialized as if the key is a root-level field - * (serialized) name in this param object. Effectively, this map is flattened to its parent - * instance. - */ - @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) - Map extraParams; - - /** - * The license number or registration number assigned by the business's primary regulator. - */ - @SerializedName("license_number") - Object licenseNumber; - - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_country") - Object primaryRegulatoryAuthorityCountry; - - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - @SerializedName("primary_regulatory_authority_name") - Object primaryRegulatoryAuthorityName; - - private RegulatedActivity( - Object description, - Map extraParams, - Object licenseNumber, - Object primaryRegulatoryAuthorityCountry, - Object primaryRegulatoryAuthorityName) { - this.description = description; - this.extraParams = extraParams; - this.licenseNumber = licenseNumber; - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - } - - public static Builder builder() { - return new Builder(); - } - - public static class Builder { - private Object description; - - private Map extraParams; - - private Object licenseNumber; - - private Object primaryRegulatoryAuthorityCountry; - - private Object primaryRegulatoryAuthorityName; - - /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Configuration.Storer.RegulatedActivity build() { - return new AccountUpdateParams.Configuration.Storer.RegulatedActivity( - this.description, - this.extraParams, - this.licenseNumber, - this.primaryRegulatoryAuthorityCountry, - this.primaryRegulatoryAuthorityName); - } - - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - public Builder setDescription(String description) { - this.description = description; - return this; - } - - /** - * A detailed description of the regulated activities the business is licensed to conduct. - */ - public Builder setDescription(EmptyParam description) { - this.description = description; - return this; - } - - /** - * Add a key/value pair to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.RegulatedActivity#extraParams} - * for the field documentation. - */ - public Builder putExtraParam(String key, Object value) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.put(key, value); - return this; - } - - /** - * Add all map key/value pairs to `extraParams` map. A map is initialized for the first - * `put/putAll` call, and subsequent calls add additional key/value pairs to the original - * map. See {@link AccountUpdateParams.Configuration.Storer.RegulatedActivity#extraParams} - * for the field documentation. - */ - public Builder putAllExtraParam(Map map) { - if (this.extraParams == null) { - this.extraParams = new HashMap<>(); - } - this.extraParams.putAll(map); - return this; - } - - /** - * The license number or registration number assigned by the business's primary regulator. - */ - public Builder setLicenseNumber(String licenseNumber) { - this.licenseNumber = licenseNumber; - return this; - } - - /** - * The license number or registration number assigned by the business's primary regulator. - */ - public Builder setLicenseNumber(EmptyParam licenseNumber) { - this.licenseNumber = licenseNumber; - return this; - } - - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityCountry( - String primaryRegulatoryAuthorityCountry) { - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - return this; - } - - /** - * The country of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityCountry( - EmptyParam primaryRegulatoryAuthorityCountry) { - this.primaryRegulatoryAuthorityCountry = primaryRegulatoryAuthorityCountry; - return this; - } - - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityName(String primaryRegulatoryAuthorityName) { - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - return this; - } - - /** - * The name of the primary regulatory authority that oversees the business's regulated - * activities. - */ - public Builder setPrimaryRegulatoryAuthorityName( - EmptyParam primaryRegulatoryAuthorityName) { - this.primaryRegulatoryAuthorityName = primaryRegulatoryAuthorityName; - return this; - } - } - } - - public enum HighRiskActivity implements ApiRequestParams.EnumParam { - @SerializedName("adult_entertainment") - ADULT_ENTERTAINMENT("adult_entertainment"), - - @SerializedName("gambling") - GAMBLING("gambling"), - - @SerializedName("hold_client_funds") - HOLD_CLIENT_FUNDS("hold_client_funds"), - - @SerializedName("investment_services") - INVESTMENT_SERVICES("investment_services"), - - @SerializedName("lending_banking") - LENDING_BANKING("lending_banking"), - - @SerializedName("marijuana_or_related_services") - MARIJUANA_OR_RELATED_SERVICES("marijuana_or_related_services"), - - @SerializedName("money_services") - MONEY_SERVICES("money_services"), - - @SerializedName("nicotine_tobacco_or_related_services") - NICOTINE_TOBACCO_OR_RELATED_SERVICES("nicotine_tobacco_or_related_services"), - - @SerializedName("none") - NONE("none"), - - @SerializedName("operate_foreign_exchange_virtual_currencies_brokerage_otc") - OPERATE_FOREIGN_EXCHANGE_VIRTUAL_CURRENCIES_BROKERAGE_OTC( - "operate_foreign_exchange_virtual_currencies_brokerage_otc"), - - @SerializedName("pharmaceuticals") - PHARMACEUTICALS("pharmaceuticals"), - - @SerializedName("precious_metals_precious_stones_jewelry") - PRECIOUS_METALS_PRECIOUS_STONES_JEWELRY("precious_metals_precious_stones_jewelry"), - - @SerializedName("safe_deposit_box_rentals") - SAFE_DEPOSIT_BOX_RENTALS("safe_deposit_box_rentals"), - - @SerializedName("third_party_payment_processing") - THIRD_PARTY_PAYMENT_PROCESSING("third_party_payment_processing"), - - @SerializedName("weapons_firearms_and_explosives") - WEAPONS_FIREARMS_AND_EXPLOSIVES("weapons_firearms_and_explosives"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - HighRiskActivity(String value) { - this.value = value; - } - } - - public enum PurposeOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("charitable_donations") - CHARITABLE_DONATIONS("charitable_donations"), - - @SerializedName("ecommerce_retail_payments") - ECOMMERCE_RETAIL_PAYMENTS("ecommerce_retail_payments"), - - @SerializedName("investment_purposes") - INVESTMENT_PURPOSES("investment_purposes"), - - @SerializedName("other") - OTHER("other"), - - @SerializedName("payments_to_friends_or_family_abroad") - PAYMENTS_TO_FRIENDS_OR_FAMILY_ABROAD("payments_to_friends_or_family_abroad"), - - @SerializedName("payroll") - PAYROLL("payroll"), - - @SerializedName("personal_or_living_expenses") - PERSONAL_OR_LIVING_EXPENSES("personal_or_living_expenses"), - - @SerializedName("protect_wealth") - PROTECT_WEALTH("protect_wealth"), - - @SerializedName("purchase_goods_and_services") - PURCHASE_GOODS_AND_SERVICES("purchase_goods_and_services"), - - @SerializedName("receive_payments_for_goods_and_services") - RECEIVE_PAYMENTS_FOR_GOODS_AND_SERVICES("receive_payments_for_goods_and_services"), - - @SerializedName("tax_optimization") - TAX_OPTIMIZATION("tax_optimization"), - - @SerializedName("third_party_money_transmission") - THIRD_PARTY_MONEY_TRANSMISSION("third_party_money_transmission"), - - @SerializedName("treasury_management") - TREASURY_MANAGEMENT("treasury_management"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - PurposeOfFunds(String value) { - this.value = value; - } - } - - public enum SourceOfFunds implements ApiRequestParams.EnumParam { - @SerializedName("business_loans") - BUSINESS_LOANS("business_loans"), - - @SerializedName("grants") - GRANTS("grants"), - - @SerializedName("inter_company_funds") - INTER_COMPANY_FUNDS("inter_company_funds"), - - @SerializedName("investment_proceeds") - INVESTMENT_PROCEEDS("investment_proceeds"), - - @SerializedName("legal_settlement") - LEGAL_SETTLEMENT("legal_settlement"), - - @SerializedName("owners_capital") - OWNERS_CAPITAL("owners_capital"), - - @SerializedName("pension_retirement") - PENSION_RETIREMENT("pension_retirement"), - - @SerializedName("sales_of_assets") - SALES_OF_ASSETS("sales_of_assets"), - - @SerializedName("sales_of_goods_and_services") - SALES_OF_GOODS_AND_SERVICES("sales_of_goods_and_services"), - - @SerializedName("tax_refund") - TAX_REFUND("tax_refund"), - - @SerializedName("third_party_funds") - THIRD_PARTY_FUNDS("third_party_funds"), - - @SerializedName("treasury_reserves") - TREASURY_RESERVES("treasury_reserves"); - - @Getter(onMethod_ = {@Override}) - private final String value; - - SourceOfFunds(String value) { - this.value = value; - } - } } } @@ -30319,6 +37164,10 @@ public static class TermsOfService { @SerializedName("card_creator") CardCreator cardCreator; + /** Details on the Account's acceptance of Consumer-specific terms of service. */ + @SerializedName("consumer_money_manager") + ConsumerMoneyManager consumerMoneyManager; + /** * Details on the Account's acceptance of Consumer-privacy-disclosures-specific terms of * service. @@ -30326,13 +37175,9 @@ public static class TermsOfService { @SerializedName("consumer_privacy_disclosures") ConsumerPrivacyDisclosures consumerPrivacyDisclosures; - /** Details on the Account's acceptance of Consumer-storer-specific terms of service. */ - @SerializedName("consumer_storer") - ConsumerStorer consumerStorer; - - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - @SerializedName("crypto_storer") - CryptoStorer cryptoStorer; + /** Details on the Account's acceptance of Crypto-specific terms of service. */ + @SerializedName("crypto_money_manager") + CryptoMoneyManager cryptoMoneyManager; /** * Map of extra parameters for custom features not available in this client library. The @@ -30345,24 +37190,24 @@ public static class TermsOfService { Map extraParams; /** Details on the Account's acceptance of Treasury-specific terms of service. */ - @SerializedName("storer") - Storer storer; + @SerializedName("money_manager") + MoneyManager moneyManager; private TermsOfService( Account account, CardCreator cardCreator, + ConsumerMoneyManager consumerMoneyManager, ConsumerPrivacyDisclosures consumerPrivacyDisclosures, - ConsumerStorer consumerStorer, - CryptoStorer cryptoStorer, + CryptoMoneyManager cryptoMoneyManager, Map extraParams, - Storer storer) { + MoneyManager moneyManager) { this.account = account; this.cardCreator = cardCreator; + this.consumerMoneyManager = consumerMoneyManager; this.consumerPrivacyDisclosures = consumerPrivacyDisclosures; - this.consumerStorer = consumerStorer; - this.cryptoStorer = cryptoStorer; + this.cryptoMoneyManager = cryptoMoneyManager; this.extraParams = extraParams; - this.storer = storer; + this.moneyManager = moneyManager; } public static Builder builder() { @@ -30374,26 +37219,26 @@ public static class Builder { private CardCreator cardCreator; - private ConsumerPrivacyDisclosures consumerPrivacyDisclosures; + private ConsumerMoneyManager consumerMoneyManager; - private ConsumerStorer consumerStorer; + private ConsumerPrivacyDisclosures consumerPrivacyDisclosures; - private CryptoStorer cryptoStorer; + private CryptoMoneyManager cryptoMoneyManager; private Map extraParams; - private Storer storer; + private MoneyManager moneyManager; /** 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.consumerMoneyManager, this.consumerPrivacyDisclosures, - this.consumerStorer, - this.cryptoStorer, + this.cryptoMoneyManager, this.extraParams, - this.storer); + this.moneyManager); } /** @@ -30414,6 +37259,14 @@ public Builder setCardCreator( return this; } + /** Details on the Account's acceptance of Consumer-specific terms of service. */ + public Builder setConsumerMoneyManager( + AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager + consumerMoneyManager) { + this.consumerMoneyManager = consumerMoneyManager; + return this; + } + /** * Details on the Account's acceptance of Consumer-privacy-disclosures-specific terms of * service. @@ -30425,18 +37278,11 @@ public Builder setConsumerPrivacyDisclosures( return this; } - /** Details on the Account's acceptance of Consumer-storer-specific terms of service. */ - public Builder setConsumerStorer( - AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerStorer - consumerStorer) { - this.consumerStorer = consumerStorer; - return this; - } - - /** Details on the Account's acceptance of Crypto-storer-specific terms of service. */ - public Builder setCryptoStorer( - AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoStorer cryptoStorer) { - this.cryptoStorer = cryptoStorer; + /** Details on the Account's acceptance of Crypto-specific terms of service. */ + public Builder setCryptoMoneyManager( + AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager + cryptoMoneyManager) { + this.cryptoMoneyManager = cryptoMoneyManager; return this; } @@ -30469,9 +37315,9 @@ public Builder putAllExtraParam(Map map) { } /** Details on the Account's acceptance of Treasury-specific terms of service. */ - public Builder setStorer( - AccountUpdateParams.Identity.Attestations.TermsOfService.Storer storer) { - this.storer = storer; + public Builder setMoneyManager( + AccountUpdateParams.Identity.Attestations.TermsOfService.MoneyManager moneyManager) { + this.moneyManager = moneyManager; return this; } } @@ -38827,7 +45673,7 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class ConsumerPrivacyDisclosures { + public static class ConsumerMoneyManager { /** * 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: @@ -38859,7 +45705,7 @@ public static class ConsumerPrivacyDisclosures { @SerializedName("user_agent") Object userAgent; - private ConsumerPrivacyDisclosures( + private ConsumerMoneyManager( java.time.Instant date, Map extraParams, Object ip, @@ -38884,11 +45730,10 @@ public static class Builder { private Object userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService - .ConsumerPrivacyDisclosures + public AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager build() { return new AccountUpdateParams.Identity.Attestations.TermsOfService - .ConsumerPrivacyDisclosures(this.date, this.extraParams, this.ip, this.userAgent); + .ConsumerMoneyManager(this.date, this.extraParams, this.ip, this.userAgent); } /** @@ -38905,7 +45750,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -38920,7 +45765,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerMoneyManager#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -38969,7 +45814,7 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class ConsumerStorer { + public static class ConsumerPrivacyDisclosures { /** * 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: @@ -39001,7 +45846,7 @@ public static class ConsumerStorer { @SerializedName("user_agent") Object userAgent; - private ConsumerStorer( + private ConsumerPrivacyDisclosures( java.time.Instant date, Map extraParams, Object ip, @@ -39026,9 +45871,11 @@ public static class Builder { private Object userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerStorer build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerStorer( - this.date, this.extraParams, this.ip, this.userAgent); + public AccountUpdateParams.Identity.Attestations.TermsOfService + .ConsumerPrivacyDisclosures + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .ConsumerPrivacyDisclosures(this.date, this.extraParams, this.ip, this.userAgent); } /** @@ -39045,7 +45892,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerStorer#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -39060,7 +45907,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerStorer#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.ConsumerPrivacyDisclosures#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -39109,7 +45956,7 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class CryptoStorer { + public static class CryptoMoneyManager { /** * 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: @@ -39141,7 +45988,7 @@ public static class CryptoStorer { @SerializedName("user_agent") Object userAgent; - private CryptoStorer( + private CryptoMoneyManager( java.time.Instant date, Map extraParams, Object ip, @@ -39166,9 +46013,10 @@ public static class Builder { private Object userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoStorer build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoStorer( - this.date, this.extraParams, this.ip, this.userAgent); + public AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager + build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService + .CryptoMoneyManager(this.date, this.extraParams, this.ip, this.userAgent); } /** @@ -39185,7 +46033,7 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoStorer#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager#extraParams} * for the field documentation. */ public Builder putExtraParam(String key, Object value) { @@ -39200,7 +46048,7 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoStorer#extraParams} + * AccountUpdateParams.Identity.Attestations.TermsOfService.CryptoMoneyManager#extraParams} * for the field documentation. */ public Builder putAllExtraParam(Map map) { @@ -39249,7 +46097,7 @@ public Builder setUserAgent(EmptyParam userAgent) { @Getter @EqualsAndHashCode(callSuper = false) - public static class Storer { + public static class MoneyManager { /** * 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: @@ -39281,7 +46129,7 @@ public static class Storer { @SerializedName("user_agent") Object userAgent; - private Storer( + private MoneyManager( java.time.Instant date, Map extraParams, Object ip, @@ -39306,8 +46154,8 @@ public static class Builder { private Object userAgent; /** Finalize and obtain parameter instance from this builder. */ - public AccountUpdateParams.Identity.Attestations.TermsOfService.Storer build() { - return new AccountUpdateParams.Identity.Attestations.TermsOfService.Storer( + public AccountUpdateParams.Identity.Attestations.TermsOfService.MoneyManager build() { + return new AccountUpdateParams.Identity.Attestations.TermsOfService.MoneyManager( this.date, this.extraParams, this.ip, this.userAgent); } @@ -39325,8 +46173,8 @@ public Builder setDate(java.time.Instant date) { * Add a key/value pair to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. + * AccountUpdateParams.Identity.Attestations.TermsOfService.MoneyManager#extraParams} + * for the field documentation. */ public Builder putExtraParam(String key, Object value) { if (this.extraParams == null) { @@ -39340,8 +46188,8 @@ public Builder putExtraParam(String key, Object value) { * Add all map key/value pairs to `extraParams` map. A map is initialized for the first * `put/putAll` call, and subsequent calls add additional key/value pairs to the * original map. See {@link - * AccountUpdateParams.Identity.Attestations.TermsOfService.Storer#extraParams} for the - * field documentation. + * AccountUpdateParams.Identity.Attestations.TermsOfService.MoneyManager#extraParams} + * for the field documentation. */ public Builder putAllExtraParam(Map map) { if (this.extraParams == null) { @@ -47285,8 +54133,8 @@ public enum Include implements ApiRequestParams.EnumParam { @SerializedName("configuration.recipient") CONFIGURATION__RECIPIENT("configuration.recipient"), - @SerializedName("configuration.storer") - CONFIGURATION__STORER("configuration.storer"), + @SerializedName("configuration.money_manager") + CONFIGURATION__MONEY_MANAGER("configuration.money_manager"), @SerializedName("defaults") DEFAULTS("defaults"), diff --git a/src/main/java/com/stripe/param/v2/core/BatchJobCreateParams.java b/src/main/java/com/stripe/param/v2/core/BatchJobCreateParams.java index 15263b951ad..34d240e964c 100644 --- a/src/main/java/com/stripe/param/v2/core/BatchJobCreateParams.java +++ b/src/main/java/com/stripe/param/v2/core/BatchJobCreateParams.java @@ -24,14 +24,7 @@ public class BatchJobCreateParams extends ApiRequestParams { @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) Map extraParams; - /** - * Optional field that allows the user to control how fast they want this batch job to run. Gives - * them a control over the number of webhooks they receive. - */ - @SerializedName("maximum_rps") - Long maximumRps; - - /** Required. The metadata of the {@code batch_job}. */ + /** The metadata of the {@code batch_job}. */ @SerializedName("metadata") Map metadata; @@ -46,13 +39,11 @@ public class BatchJobCreateParams extends ApiRequestParams { private BatchJobCreateParams( Endpoint endpoint, Map extraParams, - Long maximumRps, Map metadata, NotificationSuppression notificationSuppression, Boolean skipValidation) { this.endpoint = endpoint; this.extraParams = extraParams; - this.maximumRps = maximumRps; this.metadata = metadata; this.notificationSuppression = notificationSuppression; this.skipValidation = skipValidation; @@ -67,8 +58,6 @@ public static class Builder { private Map extraParams; - private Long maximumRps; - private Map metadata; private NotificationSuppression notificationSuppression; @@ -80,7 +69,6 @@ public BatchJobCreateParams build() { return new BatchJobCreateParams( this.endpoint, this.extraParams, - this.maximumRps, this.metadata, this.notificationSuppression, this.skipValidation); @@ -118,15 +106,6 @@ public Builder putAllExtraParam(Map map) { return this; } - /** - * Optional field that allows the user to control how fast they want this batch job to run. - * Gives them a control over the number of webhooks they receive. - */ - public Builder setMaximumRps(Long maximumRps) { - this.maximumRps = maximumRps; - return this; - } - /** * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, * and subsequent calls add additional key/value pairs to the original map. See {@link diff --git a/src/main/java/com/stripe/param/v2/core/health/AlertListParams.java b/src/main/java/com/stripe/param/v2/core/health/AlertListParams.java new file mode 100644 index 00000000000..86c36b4ed7d --- /dev/null +++ b/src/main/java/com/stripe/param/v2/core/health/AlertListParams.java @@ -0,0 +1,309 @@ +// File generated from our OpenAPI spec +package com.stripe.param.v2.core.health; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.time.Instant; +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 AlertListParams extends ApiRequestParams { + /** Filter for alerts created at the specified timestamp. */ + @SerializedName("created") + Instant created; + + /** Filter for alerts created after the specified timestamp. */ + @SerializedName("created_gt") + Instant createdGt; + + /** Filter for alerts created on or after the specified timestamp. */ + @SerializedName("created_gte") + Instant createdGte; + + /** Filter for alerts created before the specified timestamp. */ + @SerializedName("created_lt") + Instant createdLt; + + /** Filter for alerts created on or before the specified timestamp. */ + @SerializedName("created_lte") + Instant createdLte; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 page limit. */ + @SerializedName("limit") + Long limit; + + /** Filter by alert severity. */ + @SerializedName("severity") + Severity severity; + + /** Filter by alert status. */ + @SerializedName("status") + Status status; + + /** Filter by alert types. */ + @SerializedName("types") + List types; + + private AlertListParams( + Instant created, + Instant createdGt, + Instant createdGte, + Instant createdLt, + Instant createdLte, + Map extraParams, + Long limit, + Severity severity, + Status status, + List types) { + this.created = created; + this.createdGt = createdGt; + this.createdGte = createdGte; + this.createdLt = createdLt; + this.createdLte = createdLte; + this.extraParams = extraParams; + this.limit = limit; + this.severity = severity; + this.status = status; + this.types = types; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Instant created; + + private Instant createdGt; + + private Instant createdGte; + + private Instant createdLt; + + private Instant createdLte; + + private Map extraParams; + + private Long limit; + + private Severity severity; + + private Status status; + + private List types; + + /** Finalize and obtain parameter instance from this builder. */ + public AlertListParams build() { + return new AlertListParams( + this.created, + this.createdGt, + this.createdGte, + this.createdLt, + this.createdLte, + this.extraParams, + this.limit, + this.severity, + this.status, + this.types); + } + + /** Filter for alerts created at the specified timestamp. */ + public Builder setCreated(Instant created) { + this.created = created; + return this; + } + + /** Filter for alerts created after the specified timestamp. */ + public Builder setCreatedGt(Instant createdGt) { + this.createdGt = createdGt; + return this; + } + + /** Filter for alerts created on or after the specified timestamp. */ + public Builder setCreatedGte(Instant createdGte) { + this.createdGte = createdGte; + return this; + } + + /** Filter for alerts created before the specified timestamp. */ + public Builder setCreatedLt(Instant createdLt) { + this.createdLt = createdLt; + return this; + } + + /** Filter for alerts created on or before the specified timestamp. */ + public Builder setCreatedLte(Instant createdLte) { + this.createdLte = createdLte; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * AlertListParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link AlertListParams#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 page limit. */ + public Builder setLimit(Long limit) { + this.limit = limit; + return this; + } + + /** Filter by alert severity. */ + public Builder setSeverity(AlertListParams.Severity severity) { + this.severity = severity; + return this; + } + + /** Filter by alert status. */ + public Builder setStatus(AlertListParams.Status status) { + this.status = status; + return this; + } + + /** + * Add an element to `types` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * AlertListParams#types} for the field documentation. + */ + public Builder addType(AlertListParams.Type element) { + if (this.types == null) { + this.types = new ArrayList<>(); + } + this.types.add(element); + return this; + } + + /** + * Add all elements to `types` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * AlertListParams#types} for the field documentation. + */ + public Builder addAllType(List elements) { + if (this.types == null) { + this.types = new ArrayList<>(); + } + this.types.addAll(elements); + return this; + } + } + + public enum Severity implements ApiRequestParams.EnumParam { + @SerializedName("critical") + CRITICAL("critical"), + + @SerializedName("non_critical") + NON_CRITICAL("non_critical"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Severity(String value) { + this.value = value; + } + } + + public enum Status implements ApiRequestParams.EnumParam { + @SerializedName("open") + OPEN("open"), + + @SerializedName("resolved") + RESOLVED("resolved"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Status(String value) { + this.value = value; + } + } + + public enum Type implements ApiRequestParams.EnumParam { + @SerializedName("api_error") + API_ERROR("api_error"), + + @SerializedName("api_latency") + API_LATENCY("api_latency"), + + @SerializedName("authorization_rate_drop") + AUTHORIZATION_RATE_DROP("authorization_rate_drop"), + + @SerializedName("elements_error") + ELEMENTS_ERROR("elements_error"), + + @SerializedName("event_generation_failure") + EVENT_GENERATION_FAILURE("event_generation_failure"), + + @SerializedName("fraud_rate") + FRAUD_RATE("fraud_rate"), + + @SerializedName("invoice_count_dropped") + INVOICE_COUNT_DROPPED("invoice_count_dropped"), + + @SerializedName("issuing_authorization_request_errors") + ISSUING_AUTHORIZATION_REQUEST_ERRORS("issuing_authorization_request_errors"), + + @SerializedName("issuing_authorization_request_timeout") + ISSUING_AUTHORIZATION_REQUEST_TIMEOUT("issuing_authorization_request_timeout"), + + @SerializedName("meter_event_summaries_delayed") + METER_EVENT_SUMMARIES_DELAYED("meter_event_summaries_delayed"), + + @SerializedName("metronome_notification_latency") + METRONOME_NOTIFICATION_LATENCY("metronome_notification_latency"), + + @SerializedName("payment_method_error") + PAYMENT_METHOD_ERROR("payment_method_error"), + + @SerializedName("sepa_debit_delayed") + SEPA_DEBIT_DELAYED("sepa_debit_delayed"), + + @SerializedName("traffic_volume_drop") + TRAFFIC_VOLUME_DROP("traffic_volume_drop"), + + @SerializedName("webhook_latency") + WEBHOOK_LATENCY("webhook_latency"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Type(String value) { + this.value = value; + } + } +} diff --git a/src/main/java/com/stripe/param/v2/core/health/alerts/HistoryListParams.java b/src/main/java/com/stripe/param/v2/core/health/alerts/HistoryListParams.java new file mode 100644 index 00000000000..ea41ef918cd --- /dev/null +++ b/src/main/java/com/stripe/param/v2/core/health/alerts/HistoryListParams.java @@ -0,0 +1,78 @@ +// File generated from our OpenAPI spec +package com.stripe.param.v2.core.health.alerts; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.HashMap; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class HistoryListParams extends ApiRequestParams { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 page limit. */ + @SerializedName("limit") + Long limit; + + private HistoryListParams(Map extraParams, Long limit) { + this.extraParams = extraParams; + this.limit = limit; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Long limit; + + /** Finalize and obtain parameter instance from this builder. */ + public HistoryListParams build() { + return new HistoryListParams(this.extraParams, this.limit); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * HistoryListParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link HistoryListParams#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 page limit. */ + public Builder setLimit(Long limit) { + this.limit = limit; + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java index 7d377fd8886..e951e5945ab 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/FinancialAccountListParams.java @@ -31,11 +31,11 @@ public class FinancialAccountListParams extends ApiRequestParams { Long limit; /** - * The status of the FinancialAccount to filter by. By default, closed FinancialAccounts are not + * Filter for FinancialAccount {@code status}. By default, closed FinancialAccounts are not * returned. */ - @SerializedName("status") - Status status; + @SerializedName("statuses") + List statuses; /** * Filter for FinancialAccount {@code type}. By default, FinancialAccounts of any {@code type} are @@ -48,12 +48,12 @@ private FinancialAccountListParams( Map extraParams, List include, Long limit, - Status status, + List statuses, List types) { this.extraParams = extraParams; this.include = include; this.limit = limit; - this.status = status; + this.statuses = statuses; this.types = types; } @@ -68,14 +68,14 @@ public static class Builder { private Long limit; - private Status status; + private List statuses; private List types; /** Finalize and obtain parameter instance from this builder. */ public FinancialAccountListParams build() { return new FinancialAccountListParams( - this.extraParams, this.include, this.limit, this.status, this.types); + this.extraParams, this.include, this.limit, this.statuses, this.types); } /** @@ -137,11 +137,28 @@ public Builder setLimit(Long limit) { } /** - * The status of the FinancialAccount to filter by. By default, closed FinancialAccounts are not - * returned. + * Add an element to `statuses` list. A list is initialized for the first `add/addAll` call, and + * subsequent calls adds additional elements to the original list. See {@link + * FinancialAccountListParams#statuses} for the field documentation. */ - public Builder setStatus(FinancialAccountListParams.Status status) { - this.status = status; + public Builder addStatus(FinancialAccountListParams.Status element) { + if (this.statuses == null) { + this.statuses = new ArrayList<>(); + } + this.statuses.add(element); + return this; + } + + /** + * Add all elements to `statuses` list. A list is initialized for the first `add/addAll` call, + * and subsequent calls adds additional elements to the original list. See {@link + * FinancialAccountListParams#statuses} for the field documentation. + */ + public Builder addAllStatus(List elements) { + if (this.statuses == null) { + this.statuses = new ArrayList<>(); + } + this.statuses.addAll(elements); return this; } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentCreateParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentCreateParams.java index 05bb33ad364..5a5e2d6889a 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentCreateParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundPaymentCreateParams.java @@ -4,7 +4,9 @@ import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; import com.stripe.v2.Amount; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -51,6 +53,10 @@ public class OutboundPaymentCreateParams extends ApiRequestParams { @SerializedName("outbound_payment_quote") String outboundPaymentQuote; + /** The PayoutIntent ID that triggered this OutboundPayment. */ + @SerializedName("payout_intent") + String payoutIntent; + /** The purpose of the OutboundPayment. */ @SerializedName("purpose") Purpose purpose; @@ -86,6 +92,7 @@ private OutboundPaymentCreateParams( From from, Map metadata, String outboundPaymentQuote, + String payoutIntent, Purpose purpose, RecipientNotification recipientNotification, String recipientVerification, @@ -98,6 +105,7 @@ private OutboundPaymentCreateParams( this.from = from; this.metadata = metadata; this.outboundPaymentQuote = outboundPaymentQuote; + this.payoutIntent = payoutIntent; this.purpose = purpose; this.recipientNotification = recipientNotification; this.recipientVerification = recipientVerification; @@ -124,6 +132,8 @@ public static class Builder { private String outboundPaymentQuote; + private String payoutIntent; + private Purpose purpose; private RecipientNotification recipientNotification; @@ -144,6 +154,7 @@ public OutboundPaymentCreateParams build() { this.from, this.metadata, this.outboundPaymentQuote, + this.payoutIntent, this.purpose, this.recipientNotification, this.recipientVerification, @@ -242,6 +253,12 @@ public Builder setOutboundPaymentQuote(String outboundPaymentQuote) { return this; } + /** The PayoutIntent ID that triggered this OutboundPayment. */ + public Builder setPayoutIntent(String payoutIntent) { + this.payoutIntent = payoutIntent; + return this; + } + /** The purpose of the OutboundPayment. */ public Builder setPurpose(OutboundPaymentCreateParams.Purpose purpose) { this.purpose = purpose; @@ -386,6 +403,10 @@ public Builder setSpeed(OutboundPaymentCreateParams.DeliveryOptions.Speed speed) @Getter @EqualsAndHashCode(callSuper = false) public static class PaperCheck { + /** The ID of a file to include as an attachment with the paper check. */ + @SerializedName("attachment") + String attachment; + /** * Map of extra parameters for custom features not available in this client library. The * content in this map is not serialized under this field's {@code @SerializedName} value. @@ -408,10 +429,12 @@ public static class PaperCheck { String signature; private PaperCheck( + String attachment, Map extraParams, String memo, ShippingSpeed shippingSpeed, String signature) { + this.attachment = attachment; this.extraParams = extraParams; this.memo = memo; this.shippingSpeed = shippingSpeed; @@ -423,6 +446,8 @@ public static Builder builder() { } public static class Builder { + private String attachment; + private Map extraParams; private String memo; @@ -434,7 +459,13 @@ public static class Builder { /** Finalize and obtain parameter instance from this builder. */ public OutboundPaymentCreateParams.DeliveryOptions.PaperCheck build() { return new OutboundPaymentCreateParams.DeliveryOptions.PaperCheck( - this.extraParams, this.memo, this.shippingSpeed, this.signature); + this.attachment, this.extraParams, this.memo, this.shippingSpeed, this.signature); + } + + /** The ID of a file to include as an attachment with the paper check. */ + public Builder setAttachment(String attachment) { + this.attachment = attachment; + return this; } /** @@ -742,15 +773,24 @@ public static class To { @SerializedName("payout_method") String payoutMethod; + /** Payout method options for the OutboundPayment. */ + @SerializedName("payout_method_options") + PayoutMethodOptions payoutMethodOptions; + /** Required. To which account the OutboundPayment is sent. */ @SerializedName("recipient") String recipient; private To( - String currency, Map extraParams, String payoutMethod, String recipient) { + String currency, + Map extraParams, + String payoutMethod, + PayoutMethodOptions payoutMethodOptions, + String recipient) { this.currency = currency; this.extraParams = extraParams; this.payoutMethod = payoutMethod; + this.payoutMethodOptions = payoutMethodOptions; this.recipient = recipient; } @@ -765,12 +805,18 @@ public static class Builder { private String payoutMethod; + private PayoutMethodOptions payoutMethodOptions; + private String recipient; /** Finalize and obtain parameter instance from this builder. */ public OutboundPaymentCreateParams.To build() { return new OutboundPaymentCreateParams.To( - this.currency, this.extraParams, this.payoutMethod, this.recipient); + this.currency, + this.extraParams, + this.payoutMethod, + this.payoutMethodOptions, + this.recipient); } /** @@ -818,12 +864,463 @@ public Builder setPayoutMethod(String payoutMethod) { return this; } + /** Payout method options for the OutboundPayment. */ + public Builder setPayoutMethodOptions( + OutboundPaymentCreateParams.To.PayoutMethodOptions payoutMethodOptions) { + this.payoutMethodOptions = payoutMethodOptions; + return this; + } + /** Required. To which account the OutboundPayment is sent. */ public Builder setRecipient(String recipient) { this.recipient = recipient; return this; } } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PayoutMethodOptions { + /** Options for bank account payout methods. */ + @SerializedName("bank_account") + BankAccount bankAccount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PayoutMethodOptions(BankAccount bankAccount, Map extraParams) { + this.bankAccount = bankAccount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccount bankAccount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public OutboundPaymentCreateParams.To.PayoutMethodOptions build() { + return new OutboundPaymentCreateParams.To.PayoutMethodOptions( + this.bankAccount, this.extraParams); + } + + /** Options for bank account payout methods. */ + public Builder setBankAccount( + OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount bankAccount) { + this.bankAccount = bankAccount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link OutboundPaymentCreateParams.To.PayoutMethodOptions#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link OutboundPaymentCreateParams.To.PayoutMethodOptions#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 BankAccount { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Per-network configuration options. */ + @SerializedName("preferred_network_options") + PreferredNetworkOptions preferredNetworkOptions; + + /** Required. The preferred networks to use for this OutboundPayment. */ + @SerializedName("preferred_networks") + List + preferredNetworks; + + private BankAccount( + Map extraParams, + PreferredNetworkOptions preferredNetworkOptions, + List + preferredNetworks) { + this.extraParams = extraParams; + this.preferredNetworkOptions = preferredNetworkOptions; + this.preferredNetworks = preferredNetworks; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PreferredNetworkOptions preferredNetworkOptions; + + private List< + OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetwork> + preferredNetworks; + + /** Finalize and obtain parameter instance from this builder. */ + public OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount build() { + return new OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount( + this.extraParams, this.preferredNetworkOptions, this.preferredNetworks); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount#extraParams} for the + * field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Per-network configuration options. */ + public Builder setPreferredNetworkOptions( + OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions + preferredNetworkOptions) { + this.preferredNetworkOptions = preferredNetworkOptions; + return this; + } + + /** + * Add an element to `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for + * the field documentation. + */ + public Builder addPreferredNetwork( + OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetwork + element) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.add(element); + return this; + } + + /** + * Add all elements to `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for + * the field documentation. + */ + public Builder addAllPreferredNetwork( + List + elements) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.addAll(elements); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PreferredNetworkOptions { + /** ACH-specific network options. */ + @SerializedName("ach") + Ach ach; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PreferredNetworkOptions(Ach ach, Map extraParams) { + this.ach = ach; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Ach ach; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions + build() { + return new OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions(this.ach, this.extraParams); + } + + /** ACH-specific network options. */ + public Builder setAch( + OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach + ach) { + this.ach = ach; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions#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 Ach { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Open Enum. ACH submission timing. */ + @SerializedName("submission") + Submission submission; + + /** The transaction purpose for this ACH payment. */ + @SerializedName("transaction_purpose") + TransactionPurpose transactionPurpose; + + private Ach( + Map extraParams, + Submission submission, + TransactionPurpose transactionPurpose) { + this.extraParams = extraParams; + this.submission = submission; + this.transactionPurpose = transactionPurpose; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Submission submission; + + private TransactionPurpose transactionPurpose; + + /** Finalize and obtain parameter instance from this builder. */ + public OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach + build() { + return new OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach( + this.extraParams, this.submission, this.transactionPurpose); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions.Ach#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions.Ach#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Open Enum. ACH submission timing. */ + public Builder setSubmission( + OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.Submission + submission) { + this.submission = submission; + return this; + } + + /** The transaction purpose for this ACH payment. */ + public Builder setTransactionPurpose( + OutboundPaymentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.TransactionPurpose + transactionPurpose) { + this.transactionPurpose = transactionPurpose; + return this; + } + } + + public enum Submission implements ApiRequestParams.EnumParam { + @SerializedName("next_day") + NEXT_DAY("next_day"), + + @SerializedName("same_day") + SAME_DAY("same_day"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Submission(String value) { + this.value = value; + } + } + + public enum TransactionPurpose implements ApiRequestParams.EnumParam { + @SerializedName("payroll") + PAYROLL("payroll"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TransactionPurpose(String value) { + this.value = value; + } + } + } + } + + public enum PreferredNetwork implements ApiRequestParams.EnumParam { + @SerializedName("ach") + ACH("ach"), + + @SerializedName("becs") + BECS("becs"), + + @SerializedName("eft") + EFT("eft"), + + @SerializedName("fedwire") + FEDWIRE("fedwire"), + + @SerializedName("fps") + FPS("fps"), + + @SerializedName("npp") + NPP("npp"), + + @SerializedName("rtp") + RTP("rtp"), + + @SerializedName("sepa_credit") + SEPA_CREDIT("sepa_credit"), + + @SerializedName("sepa_instant") + SEPA_INSTANT("sepa_instant"), + + @SerializedName("swift") + SWIFT("swift"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PreferredNetwork(String value) { + this.value = value; + } + } + } + } } public enum Purpose implements ApiRequestParams.EnumParam { diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferCreateParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferCreateParams.java index 0cd2c234601..8af364a3337 100644 --- a/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferCreateParams.java +++ b/src/main/java/com/stripe/param/v2/moneymanagement/OutboundTransferCreateParams.java @@ -4,7 +4,9 @@ import com.google.gson.annotations.SerializedName; import com.stripe.net.ApiRequestParams; import com.stripe.v2.Amount; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import lombok.EqualsAndHashCode; import lombok.Getter; @@ -427,10 +429,19 @@ public static class To { @SerializedName("payout_method") String payoutMethod; - private To(String currency, Map extraParams, String payoutMethod) { + /** Payout method options for the OutboundTransfer. */ + @SerializedName("payout_method_options") + PayoutMethodOptions payoutMethodOptions; + + private To( + String currency, + Map extraParams, + String payoutMethod, + PayoutMethodOptions payoutMethodOptions) { this.currency = currency; this.extraParams = extraParams; this.payoutMethod = payoutMethod; + this.payoutMethodOptions = payoutMethodOptions; } public static Builder builder() { @@ -444,10 +455,12 @@ public static class Builder { private String payoutMethod; + private PayoutMethodOptions payoutMethodOptions; + /** Finalize and obtain parameter instance from this builder. */ public OutboundTransferCreateParams.To build() { return new OutboundTransferCreateParams.To( - this.currency, this.extraParams, this.payoutMethod); + this.currency, this.extraParams, this.payoutMethod, this.payoutMethodOptions); } /** @@ -497,6 +510,234 @@ public Builder setPayoutMethod(String payoutMethod) { this.payoutMethod = payoutMethod; return this; } + + /** Payout method options for the OutboundTransfer. */ + public Builder setPayoutMethodOptions( + OutboundTransferCreateParams.To.PayoutMethodOptions payoutMethodOptions) { + this.payoutMethodOptions = payoutMethodOptions; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PayoutMethodOptions { + /** Options for bank account payout methods. */ + @SerializedName("bank_account") + BankAccount bankAccount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PayoutMethodOptions(BankAccount bankAccount, Map extraParams) { + this.bankAccount = bankAccount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccount bankAccount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public OutboundTransferCreateParams.To.PayoutMethodOptions build() { + return new OutboundTransferCreateParams.To.PayoutMethodOptions( + this.bankAccount, this.extraParams); + } + + /** Options for bank account payout methods. */ + public Builder setBankAccount( + OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount bankAccount) { + this.bankAccount = bankAccount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link OutboundTransferCreateParams.To.PayoutMethodOptions#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link OutboundTransferCreateParams.To.PayoutMethodOptions#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 BankAccount { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 preferred networks to use for this OutboundTransfer. */ + @SerializedName("preferred_networks") + List + preferredNetworks; + + private BankAccount( + Map extraParams, + List + preferredNetworks) { + this.extraParams = extraParams; + this.preferredNetworks = preferredNetworks; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private List< + OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetwork> + preferredNetworks; + + /** Finalize and obtain parameter instance from this builder. */ + public OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount build() { + return new OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount( + this.extraParams, this.preferredNetworks); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount#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 `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for + * the field documentation. + */ + public Builder addPreferredNetwork( + OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetwork + element) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.add(element); + return this; + } + + /** + * Add all elements to `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * OutboundTransferCreateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for + * the field documentation. + */ + public Builder addAllPreferredNetwork( + List + elements) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.addAll(elements); + return this; + } + } + + public enum PreferredNetwork implements ApiRequestParams.EnumParam { + @SerializedName("ach") + ACH("ach"), + + @SerializedName("becs") + BECS("becs"), + + @SerializedName("eft") + EFT("eft"), + + @SerializedName("fedwire") + FEDWIRE("fedwire"), + + @SerializedName("fps") + FPS("fps"), + + @SerializedName("npp") + NPP("npp"), + + @SerializedName("rtp") + RTP("rtp"), + + @SerializedName("sepa_credit") + SEPA_CREDIT("sepa_credit"), + + @SerializedName("sepa_instant") + SEPA_INSTANT("sepa_instant"), + + @SerializedName("swift") + SWIFT("swift"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PreferredNetwork(String value) { + this.value = value; + } + } + } } } } diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentCreateParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentCreateParams.java new file mode 100644 index 00000000000..2e652eae01c --- /dev/null +++ b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentCreateParams.java @@ -0,0 +1,1040 @@ +// File generated from our OpenAPI spec +package com.stripe.param.v2.moneymanagement; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import com.stripe.v2.Amount; +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 PayoutIntentCreateParams extends ApiRequestParams { + /** Required. The monetary amount to be sent. */ + @SerializedName("amount") + Amount amount; + + /** An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. */ + @SerializedName("description") + String description; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Required. The FinancialAccount that funds are pulled from. */ + @SerializedName("from") + From from; + + /** + * Set of key-value pairs that you can attach to an object. This can be useful for storing + * additional information about the object in a structured format. + */ + @SerializedName("metadata") + Map metadata; + + /** + * Details about the OutboundPayment notification settings for recipient. Only applicable to + * OutboundPayment. + */ + @SerializedName("recipient_notification") + RecipientNotification recipientNotification; + + /** Scheduling options for the payout. If this is nil, we assume immediate execution. */ + @SerializedName("schedule_options") + ScheduleOptions scheduleOptions; + + /** + * The description that appears on the receiving end for the payout (for example, on a bank + * statement). + */ + @SerializedName("statement_descriptor") + String statementDescriptor; + + /** Required. To which payout method the payout is sent. */ + @SerializedName("to") + To to; + + private PayoutIntentCreateParams( + Amount amount, + String description, + Map extraParams, + From from, + Map metadata, + RecipientNotification recipientNotification, + ScheduleOptions scheduleOptions, + String statementDescriptor, + To to) { + this.amount = amount; + this.description = description; + this.extraParams = extraParams; + this.from = from; + this.metadata = metadata; + this.recipientNotification = recipientNotification; + this.scheduleOptions = scheduleOptions; + this.statementDescriptor = statementDescriptor; + this.to = to; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Amount amount; + + private String description; + + private Map extraParams; + + private From from; + + private Map metadata; + + private RecipientNotification recipientNotification; + + private ScheduleOptions scheduleOptions; + + private String statementDescriptor; + + private To to; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams build() { + return new PayoutIntentCreateParams( + this.amount, + this.description, + this.extraParams, + this.from, + this.metadata, + this.recipientNotification, + this.scheduleOptions, + this.statementDescriptor, + this.to); + } + + /** Required. The monetary amount to be sent. */ + public Builder setAmount(Amount amount) { + this.amount = amount; + return this; + } + + /** An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentCreateParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentCreateParams#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 FinancialAccount that funds are pulled from. */ + public Builder setFrom(PayoutIntentCreateParams.From from) { + this.from = from; + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, + * and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentCreateParams#metadata} for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentCreateParams#metadata} for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** + * Details about the OutboundPayment notification settings for recipient. Only applicable to + * OutboundPayment. + */ + public Builder setRecipientNotification( + PayoutIntentCreateParams.RecipientNotification recipientNotification) { + this.recipientNotification = recipientNotification; + return this; + } + + /** Scheduling options for the payout. If this is nil, we assume immediate execution. */ + public Builder setScheduleOptions(PayoutIntentCreateParams.ScheduleOptions scheduleOptions) { + this.scheduleOptions = scheduleOptions; + return this; + } + + /** + * The description that appears on the receiving end for the payout (for example, on a bank + * statement). + */ + public Builder setStatementDescriptor(String statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } + + /** Required. To which payout method the payout is sent. */ + public Builder setTo(PayoutIntentCreateParams.To to) { + this.to = to; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class From { + /** Required. The currency of the financial account. */ + @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; + + /** Required. The FinancialAccount that funds are pulled from. */ + @SerializedName("financial_account") + String financialAccount; + + private From(String currency, Map extraParams, String financialAccount) { + this.currency = currency; + this.extraParams = extraParams; + this.financialAccount = financialAccount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String currency; + + private Map extraParams; + + private String financialAccount; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.From build() { + return new PayoutIntentCreateParams.From( + this.currency, this.extraParams, this.financialAccount); + } + + /** Required. The currency of the financial account. */ + 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 + * PayoutIntentCreateParams.From#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentCreateParams.From#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 FinancialAccount that funds are pulled from. */ + public Builder setFinancialAccount(String financialAccount) { + this.financialAccount = financialAccount; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RecipientNotification { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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. Closed Enum. Configuration option to enable or disable + * notifications to recipients. Do not send notifications when setting is NONE. Default to + * account setting when setting is CONFIGURED or not set. + */ + @SerializedName("setting") + Setting setting; + + private RecipientNotification(Map extraParams, Setting setting) { + this.extraParams = extraParams; + this.setting = setting; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Setting setting; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.RecipientNotification build() { + return new PayoutIntentCreateParams.RecipientNotification(this.extraParams, this.setting); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentCreateParams.RecipientNotification#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentCreateParams.RecipientNotification#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. Closed Enum. Configuration option to enable or disable + * notifications to recipients. Do not send notifications when setting is NONE. Default to + * account setting when setting is CONFIGURED or not set. + */ + public Builder setSetting(PayoutIntentCreateParams.RecipientNotification.Setting setting) { + this.setting = setting; + return this; + } + } + + public enum Setting implements ApiRequestParams.EnumParam { + @SerializedName("configured") + CONFIGURED("configured"), + + @SerializedName("none") + NONE("none"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Setting(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScheduleOptions { + /** The date when the payout should be executed, in YYYY-MM-DD format. */ + @SerializedName("execute_on") + String executeOn; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 ScheduleOptions(String executeOn, Map extraParams) { + this.executeOn = executeOn; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String executeOn; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.ScheduleOptions build() { + return new PayoutIntentCreateParams.ScheduleOptions(this.executeOn, this.extraParams); + } + + /** The date when the payout should be executed, in YYYY-MM-DD format. */ + public Builder setExecuteOn(String executeOn) { + this.executeOn = executeOn; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentCreateParams.ScheduleOptions#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentCreateParams.ScheduleOptions#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 To { + /** The currency to send to the recipient. */ + @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 payout method ID. Optional for OutboundPayment if recipient has default payment method. + * Required for OutboundTransfer. + */ + @SerializedName("payout_method") + String payoutMethod; + + /** Payout method options for the PayoutIntent. */ + @SerializedName("payout_method_options") + PayoutMethodOptions payoutMethodOptions; + + /** The recipient ID. Only relevant for OutboundPayment. */ + @SerializedName("recipient") + String recipient; + + private To( + String currency, + Map extraParams, + String payoutMethod, + PayoutMethodOptions payoutMethodOptions, + String recipient) { + this.currency = currency; + this.extraParams = extraParams; + this.payoutMethod = payoutMethod; + this.payoutMethodOptions = payoutMethodOptions; + this.recipient = recipient; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private String currency; + + private Map extraParams; + + private String payoutMethod; + + private PayoutMethodOptions payoutMethodOptions; + + private String recipient; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.To build() { + return new PayoutIntentCreateParams.To( + this.currency, + this.extraParams, + this.payoutMethod, + this.payoutMethodOptions, + this.recipient); + } + + /** The currency to send to the recipient. */ + 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 + * PayoutIntentCreateParams.To#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentCreateParams.To#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 payout method ID. Optional for OutboundPayment if recipient has default payment method. + * Required for OutboundTransfer. + */ + public Builder setPayoutMethod(String payoutMethod) { + this.payoutMethod = payoutMethod; + return this; + } + + /** Payout method options for the PayoutIntent. */ + public Builder setPayoutMethodOptions( + PayoutIntentCreateParams.To.PayoutMethodOptions payoutMethodOptions) { + this.payoutMethodOptions = payoutMethodOptions; + return this; + } + + /** The recipient ID. Only relevant for OutboundPayment. */ + public Builder setRecipient(String recipient) { + this.recipient = recipient; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PayoutMethodOptions { + /** Options for bank account payout methods. */ + @SerializedName("bank_account") + BankAccount bankAccount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PayoutMethodOptions(BankAccount bankAccount, Map extraParams) { + this.bankAccount = bankAccount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccount bankAccount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.To.PayoutMethodOptions build() { + return new PayoutIntentCreateParams.To.PayoutMethodOptions( + this.bankAccount, this.extraParams); + } + + /** Options for bank account payout methods. */ + public Builder setBankAccount( + PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount bankAccount) { + this.bankAccount = bankAccount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PayoutIntentCreateParams.To.PayoutMethodOptions#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PayoutIntentCreateParams.To.PayoutMethodOptions#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 BankAccount { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Per-network configuration options. */ + @SerializedName("preferred_network_options") + PreferredNetworkOptions preferredNetworkOptions; + + /** Required. The preferred networks to use for this PayoutIntent. */ + @SerializedName("preferred_networks") + List + preferredNetworks; + + private BankAccount( + Map extraParams, + PreferredNetworkOptions preferredNetworkOptions, + List + preferredNetworks) { + this.extraParams = extraParams; + this.preferredNetworkOptions = preferredNetworkOptions; + this.preferredNetworks = preferredNetworks; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PreferredNetworkOptions preferredNetworkOptions; + + private List + preferredNetworks; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount build() { + return new PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount( + this.extraParams, this.preferredNetworkOptions, this.preferredNetworks); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Per-network configuration options. */ + public Builder setPreferredNetworkOptions( + PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions + preferredNetworkOptions) { + this.preferredNetworkOptions = preferredNetworkOptions; + return this; + } + + /** + * Add an element to `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for the + * field documentation. + */ + public Builder addPreferredNetwork( + PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetwork + element) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.add(element); + return this; + } + + /** + * Add all elements to `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for the + * field documentation. + */ + public Builder addAllPreferredNetwork( + List + elements) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.addAll(elements); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PreferredNetworkOptions { + /** ACH-specific network options. */ + @SerializedName("ach") + Ach ach; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PreferredNetworkOptions(Ach ach, Map extraParams) { + this.ach = ach; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Ach ach; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions + build() { + return new PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions(this.ach, this.extraParams); + } + + /** ACH-specific network options. */ + public Builder setAch( + PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions + .Ach + ach) { + this.ach = ach; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions#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 Ach { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Open Enum. ACH submission timing. */ + @SerializedName("submission") + Submission submission; + + /** The transaction purpose for this ACH payment. */ + @SerializedName("transaction_purpose") + TransactionPurpose transactionPurpose; + + private Ach( + Map extraParams, + Submission submission, + TransactionPurpose transactionPurpose) { + this.extraParams = extraParams; + this.submission = submission; + this.transactionPurpose = transactionPurpose; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Submission submission; + + private TransactionPurpose transactionPurpose; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach + build() { + return new PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach( + this.extraParams, this.submission, this.transactionPurpose); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions.Ach#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions.Ach#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Open Enum. ACH submission timing. */ + public Builder setSubmission( + PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.Submission + submission) { + this.submission = submission; + return this; + } + + /** The transaction purpose for this ACH payment. */ + public Builder setTransactionPurpose( + PayoutIntentCreateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.TransactionPurpose + transactionPurpose) { + this.transactionPurpose = transactionPurpose; + return this; + } + } + + public enum Submission implements ApiRequestParams.EnumParam { + @SerializedName("next_day") + NEXT_DAY("next_day"), + + @SerializedName("same_day") + SAME_DAY("same_day"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Submission(String value) { + this.value = value; + } + } + + public enum TransactionPurpose implements ApiRequestParams.EnumParam { + @SerializedName("payroll") + PAYROLL("payroll"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TransactionPurpose(String value) { + this.value = value; + } + } + } + } + + public enum PreferredNetwork implements ApiRequestParams.EnumParam { + @SerializedName("ach") + ACH("ach"), + + @SerializedName("becs") + BECS("becs"), + + @SerializedName("eft") + EFT("eft"), + + @SerializedName("fedwire") + FEDWIRE("fedwire"), + + @SerializedName("fps") + FPS("fps"), + + @SerializedName("npp") + NPP("npp"), + + @SerializedName("rtp") + RTP("rtp"), + + @SerializedName("sepa_credit") + SEPA_CREDIT("sepa_credit"), + + @SerializedName("sepa_instant") + SEPA_INSTANT("sepa_instant"), + + @SerializedName("swift") + SWIFT("swift"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PreferredNetwork(String value) { + this.value = value; + } + } + } + } + } +} diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentListParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentListParams.java new file mode 100644 index 00000000000..573ea3fa2af --- /dev/null +++ b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentListParams.java @@ -0,0 +1,78 @@ +// File generated from our OpenAPI spec +package com.stripe.param.v2.moneymanagement; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import java.util.HashMap; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class PayoutIntentListParams extends ApiRequestParams { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Maximum number of objects to return. Defaults to 10. Maximum is 100. */ + @SerializedName("limit") + Long limit; + + private PayoutIntentListParams(Map extraParams, Long limit) { + this.extraParams = extraParams; + this.limit = limit; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Long limit; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentListParams build() { + return new PayoutIntentListParams(this.extraParams, this.limit); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentListParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentListParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Maximum number of objects to return. Defaults to 10. Maximum is 100. */ + public Builder setLimit(Long limit) { + this.limit = limit; + return this; + } + } +} diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentUpdateParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentUpdateParams.java new file mode 100644 index 00000000000..494d43324a9 --- /dev/null +++ b/src/main/java/com/stripe/param/v2/moneymanagement/PayoutIntentUpdateParams.java @@ -0,0 +1,1095 @@ +// File generated from our OpenAPI spec +package com.stripe.param.v2.moneymanagement; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import com.stripe.param.common.EmptyParam; +import com.stripe.v2.Amount; +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 PayoutIntentUpdateParams extends ApiRequestParams { + /** The monetary amount to be sent. */ + @SerializedName("amount") + Amount amount; + + /** An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. */ + @SerializedName("description") + Object description; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** From which FinancialAccount to pull funds. */ + @SerializedName("from") + From from; + + /** + * Set of key-value pairs that you can attach to an object. This can be useful for storing + * additional information about the object in a structured format. + */ + @SerializedName("metadata") + Map metadata; + + /** + * Details about the OutboundPayment notification settings for recipient. Only applicable to + * OutboundPayment. + */ + @SerializedName("recipient_notification") + RecipientNotification recipientNotification; + + /** Scheduling options for the payout. If this is nil, we assume immediate execution. */ + @SerializedName("schedule_options") + ScheduleOptions scheduleOptions; + + /** + * The description that appears on the receiving end for the payout (for example, on a bank + * statement). + */ + @SerializedName("statement_descriptor") + Object statementDescriptor; + + /** To which payout method the payout is sent. */ + @SerializedName("to") + To to; + + private PayoutIntentUpdateParams( + Amount amount, + Object description, + Map extraParams, + From from, + Map metadata, + RecipientNotification recipientNotification, + ScheduleOptions scheduleOptions, + Object statementDescriptor, + To to) { + this.amount = amount; + this.description = description; + this.extraParams = extraParams; + this.from = from; + this.metadata = metadata; + this.recipientNotification = recipientNotification; + this.scheduleOptions = scheduleOptions; + this.statementDescriptor = statementDescriptor; + this.to = to; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Amount amount; + + private Object description; + + private Map extraParams; + + private From from; + + private Map metadata; + + private RecipientNotification recipientNotification; + + private ScheduleOptions scheduleOptions; + + private Object statementDescriptor; + + private To to; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams build() { + return new PayoutIntentUpdateParams( + this.amount, + this.description, + this.extraParams, + this.from, + this.metadata, + this.recipientNotification, + this.scheduleOptions, + this.statementDescriptor, + this.to); + } + + /** The monetary amount to be sent. */ + public Builder setAmount(Amount amount) { + this.amount = amount; + return this; + } + + /** An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. */ + public Builder setDescription(String description) { + this.description = description; + return this; + } + + /** An arbitrary string attached to the PayoutIntent. Often useful for displaying to users. */ + public Builder setDescription(EmptyParam description) { + this.description = description; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentUpdateParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentUpdateParams#extraParams} for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** From which FinancialAccount to pull funds. */ + public Builder setFrom(PayoutIntentUpdateParams.From from) { + this.from = from; + return this; + } + + /** + * Add a key/value pair to `metadata` map. A map is initialized for the first `put/putAll` call, + * and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentUpdateParams#metadata} for the field documentation. + */ + public Builder putMetadata(String key, String value) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `metadata` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentUpdateParams#metadata} for the field documentation. + */ + public Builder putAllMetadata(Map map) { + if (this.metadata == null) { + this.metadata = new HashMap<>(); + } + this.metadata.putAll(map); + return this; + } + + /** + * Details about the OutboundPayment notification settings for recipient. Only applicable to + * OutboundPayment. + */ + public Builder setRecipientNotification( + PayoutIntentUpdateParams.RecipientNotification recipientNotification) { + this.recipientNotification = recipientNotification; + return this; + } + + /** Scheduling options for the payout. If this is nil, we assume immediate execution. */ + public Builder setScheduleOptions(PayoutIntentUpdateParams.ScheduleOptions scheduleOptions) { + this.scheduleOptions = scheduleOptions; + return this; + } + + /** + * The description that appears on the receiving end for the payout (for example, on a bank + * statement). + */ + public Builder setStatementDescriptor(String statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } + + /** + * The description that appears on the receiving end for the payout (for example, on a bank + * statement). + */ + public Builder setStatementDescriptor(EmptyParam statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } + + /** To which payout method the payout is sent. */ + public Builder setTo(PayoutIntentUpdateParams.To to) { + this.to = to; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class From { + /** Required. The currency of the financial account. */ + @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; + + /** Required. The FinancialAccount that funds are pulled from. */ + @SerializedName("financial_account") + Object financialAccount; + + private From(Object currency, Map extraParams, Object financialAccount) { + this.currency = currency; + this.extraParams = extraParams; + this.financialAccount = financialAccount; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object currency; + + private Map extraParams; + + private Object financialAccount; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.From build() { + return new PayoutIntentUpdateParams.From( + this.currency, this.extraParams, this.financialAccount); + } + + /** Required. The currency of the financial account. */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** Required. The currency of the financial account. */ + 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 + * PayoutIntentUpdateParams.From#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentUpdateParams.From#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 FinancialAccount that funds are pulled from. */ + public Builder setFinancialAccount(String financialAccount) { + this.financialAccount = financialAccount; + return this; + } + + /** Required. The FinancialAccount that funds are pulled from. */ + public Builder setFinancialAccount(EmptyParam financialAccount) { + this.financialAccount = financialAccount; + return this; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class RecipientNotification { + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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. Closed Enum. Configuration option to enable or disable + * notifications to recipients. Do not send notifications when setting is NONE. Default to + * account setting when setting is CONFIGURED or not set. + */ + @SerializedName("setting") + Setting setting; + + private RecipientNotification(Map extraParams, Setting setting) { + this.extraParams = extraParams; + this.setting = setting; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Setting setting; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.RecipientNotification build() { + return new PayoutIntentUpdateParams.RecipientNotification(this.extraParams, this.setting); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentUpdateParams.RecipientNotification#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentUpdateParams.RecipientNotification#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. Closed Enum. Configuration option to enable or disable + * notifications to recipients. Do not send notifications when setting is NONE. Default to + * account setting when setting is CONFIGURED or not set. + */ + public Builder setSetting(PayoutIntentUpdateParams.RecipientNotification.Setting setting) { + this.setting = setting; + return this; + } + } + + public enum Setting implements ApiRequestParams.EnumParam { + @SerializedName("configured") + CONFIGURED("configured"), + + @SerializedName("none") + NONE("none"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Setting(String value) { + this.value = value; + } + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class ScheduleOptions { + /** The date when the payout should be executed, in YYYY-MM-DD format. */ + @SerializedName("execute_on") + Object executeOn; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-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 ScheduleOptions(Object executeOn, Map extraParams) { + this.executeOn = executeOn; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object executeOn; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.ScheduleOptions build() { + return new PayoutIntentUpdateParams.ScheduleOptions(this.executeOn, this.extraParams); + } + + /** The date when the payout should be executed, in YYYY-MM-DD format. */ + public Builder setExecuteOn(String executeOn) { + this.executeOn = executeOn; + return this; + } + + /** The date when the payout should be executed, in YYYY-MM-DD format. */ + public Builder setExecuteOn(EmptyParam executeOn) { + this.executeOn = executeOn; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * PayoutIntentUpdateParams.ScheduleOptions#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentUpdateParams.ScheduleOptions#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 To { + /** The currency to send to the recipient. */ + @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 payout method ID. Optional for OutboundPayment if recipient has default payment method. + * Required for OutboundTransfer. + */ + @SerializedName("payout_method") + Object payoutMethod; + + /** Payout method options for the PayoutIntent. */ + @SerializedName("payout_method_options") + PayoutMethodOptions payoutMethodOptions; + + /** The recipient ID. Only relevant for OutboundPayment. */ + @SerializedName("recipient") + Object recipient; + + private To( + Object currency, + Map extraParams, + Object payoutMethod, + PayoutMethodOptions payoutMethodOptions, + Object recipient) { + this.currency = currency; + this.extraParams = extraParams; + this.payoutMethod = payoutMethod; + this.payoutMethodOptions = payoutMethodOptions; + this.recipient = recipient; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Object currency; + + private Map extraParams; + + private Object payoutMethod; + + private PayoutMethodOptions payoutMethodOptions; + + private Object recipient; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.To build() { + return new PayoutIntentUpdateParams.To( + this.currency, + this.extraParams, + this.payoutMethod, + this.payoutMethodOptions, + this.recipient); + } + + /** The currency to send to the recipient. */ + public Builder setCurrency(String currency) { + this.currency = currency; + return this; + } + + /** The currency to send to the recipient. */ + 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 + * PayoutIntentUpdateParams.To#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link PayoutIntentUpdateParams.To#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 payout method ID. Optional for OutboundPayment if recipient has default payment method. + * Required for OutboundTransfer. + */ + public Builder setPayoutMethod(String payoutMethod) { + this.payoutMethod = payoutMethod; + return this; + } + + /** + * The payout method ID. Optional for OutboundPayment if recipient has default payment method. + * Required for OutboundTransfer. + */ + public Builder setPayoutMethod(EmptyParam payoutMethod) { + this.payoutMethod = payoutMethod; + return this; + } + + /** Payout method options for the PayoutIntent. */ + public Builder setPayoutMethodOptions( + PayoutIntentUpdateParams.To.PayoutMethodOptions payoutMethodOptions) { + this.payoutMethodOptions = payoutMethodOptions; + return this; + } + + /** The recipient ID. Only relevant for OutboundPayment. */ + public Builder setRecipient(String recipient) { + this.recipient = recipient; + return this; + } + + /** The recipient ID. Only relevant for OutboundPayment. */ + public Builder setRecipient(EmptyParam recipient) { + this.recipient = recipient; + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PayoutMethodOptions { + /** Options for bank account payout methods. */ + @SerializedName("bank_account") + BankAccount bankAccount; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PayoutMethodOptions(BankAccount bankAccount, Map extraParams) { + this.bankAccount = bankAccount; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private BankAccount bankAccount; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.To.PayoutMethodOptions build() { + return new PayoutIntentUpdateParams.To.PayoutMethodOptions( + this.bankAccount, this.extraParams); + } + + /** Options for bank account payout methods. */ + public Builder setBankAccount( + PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount bankAccount) { + this.bankAccount = bankAccount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PayoutIntentUpdateParams.To.PayoutMethodOptions#extraParams} for the + * field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link PayoutIntentUpdateParams.To.PayoutMethodOptions#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 BankAccount { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its parent + * instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Per-network configuration options. */ + @SerializedName("preferred_network_options") + PreferredNetworkOptions preferredNetworkOptions; + + /** Required. The preferred networks to use for this PayoutIntent. */ + @SerializedName("preferred_networks") + List + preferredNetworks; + + private BankAccount( + Map extraParams, + PreferredNetworkOptions preferredNetworkOptions, + List + preferredNetworks) { + this.extraParams = extraParams; + this.preferredNetworkOptions = preferredNetworkOptions; + this.preferredNetworks = preferredNetworks; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private PreferredNetworkOptions preferredNetworkOptions; + + private List + preferredNetworks; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount build() { + return new PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount( + this.extraParams, this.preferredNetworkOptions, this.preferredNetworks); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount#extraParams} for the field + * documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original + * map. See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount#extraParams} for the field + * documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Per-network configuration options. */ + public Builder setPreferredNetworkOptions( + PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions + preferredNetworkOptions) { + this.preferredNetworkOptions = preferredNetworkOptions; + return this; + } + + /** + * Add an element to `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for the + * field documentation. + */ + public Builder addPreferredNetwork( + PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount.PreferredNetwork + element) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.add(element); + return this; + } + + /** + * Add all elements to `preferredNetworks` list. A list is initialized for the first + * `add/addAll` call, and subsequent calls adds additional elements to the original list. + * See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount#preferredNetworks} for the + * field documentation. + */ + public Builder addAllPreferredNetwork( + List + elements) { + if (this.preferredNetworks == null) { + this.preferredNetworks = new ArrayList<>(); + } + this.preferredNetworks.addAll(elements); + return this; + } + } + + @Getter + @EqualsAndHashCode(callSuper = false) + public static class PreferredNetworkOptions { + /** ACH-specific network options. */ + @SerializedName("ach") + Ach ach; + + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} value. + * Instead, each key/value pair is serialized as if the key is a root-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 PreferredNetworkOptions(Ach ach, Map extraParams) { + this.ach = ach; + this.extraParams = extraParams; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Ach ach; + + private Map extraParams; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions + build() { + return new PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions(this.ach, this.extraParams); + } + + /** ACH-specific network options. */ + public Builder setAch( + PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions + .Ach + ach) { + this.ach = ach; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions#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 Ach { + /** + * Map of extra parameters for custom features not available in this client library. The + * content in this map is not serialized under this field's {@code @SerializedName} + * value. Instead, each key/value pair is serialized as if the key is a root-level field + * (serialized) name in this param object. Effectively, this map is flattened to its + * parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** Open Enum. ACH submission timing. */ + @SerializedName("submission") + Submission submission; + + /** The transaction purpose for this ACH payment. */ + @SerializedName("transaction_purpose") + TransactionPurpose transactionPurpose; + + private Ach( + Map extraParams, + Submission submission, + TransactionPurpose transactionPurpose) { + this.extraParams = extraParams; + this.submission = submission; + this.transactionPurpose = transactionPurpose; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Map extraParams; + + private Submission submission; + + private TransactionPurpose transactionPurpose; + + /** Finalize and obtain parameter instance from this builder. */ + public PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach + build() { + return new PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach( + this.extraParams, this.submission, this.transactionPurpose); + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions.Ach#extraParams} + * for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the + * first `put/putAll` call, and subsequent calls add additional key/value pairs to the + * original map. See {@link + * PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount.PreferredNetworkOptions.Ach#extraParams} + * for the field documentation. + */ + public Builder putAllExtraParam(Map map) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.putAll(map); + return this; + } + + /** Open Enum. ACH submission timing. */ + public Builder setSubmission( + PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.Submission + submission) { + this.submission = submission; + return this; + } + + /** The transaction purpose for this ACH payment. */ + public Builder setTransactionPurpose( + PayoutIntentUpdateParams.To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.TransactionPurpose + transactionPurpose) { + this.transactionPurpose = transactionPurpose; + return this; + } + } + + public enum Submission implements ApiRequestParams.EnumParam { + @SerializedName("next_day") + NEXT_DAY("next_day"), + + @SerializedName("same_day") + SAME_DAY("same_day"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Submission(String value) { + this.value = value; + } + } + + public enum TransactionPurpose implements ApiRequestParams.EnumParam { + @SerializedName("payroll") + PAYROLL("payroll"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + TransactionPurpose(String value) { + this.value = value; + } + } + } + } + + public enum PreferredNetwork implements ApiRequestParams.EnumParam { + @SerializedName("ach") + ACH("ach"), + + @SerializedName("becs") + BECS("becs"), + + @SerializedName("eft") + EFT("eft"), + + @SerializedName("fedwire") + FEDWIRE("fedwire"), + + @SerializedName("fps") + FPS("fps"), + + @SerializedName("npp") + NPP("npp"), + + @SerializedName("rtp") + RTP("rtp"), + + @SerializedName("sepa_credit") + SEPA_CREDIT("sepa_credit"), + + @SerializedName("sepa_instant") + SEPA_INSTANT("sepa_instant"), + + @SerializedName("swift") + SWIFT("swift"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + PreferredNetwork(String value) { + this.value = value; + } + } + } + } + } +} diff --git a/src/main/java/com/stripe/param/v2/moneymanagement/testhelpers/FinancialAddressDebitParams.java b/src/main/java/com/stripe/param/v2/moneymanagement/testhelpers/FinancialAddressDebitParams.java new file mode 100644 index 00000000000..102cb0033ec --- /dev/null +++ b/src/main/java/com/stripe/param/v2/moneymanagement/testhelpers/FinancialAddressDebitParams.java @@ -0,0 +1,131 @@ +// File generated from our OpenAPI spec +package com.stripe.param.v2.moneymanagement.testhelpers; + +import com.google.gson.annotations.SerializedName; +import com.stripe.net.ApiRequestParams; +import com.stripe.v2.Amount; +import java.util.HashMap; +import java.util.Map; +import lombok.EqualsAndHashCode; +import lombok.Getter; + +@Getter +@EqualsAndHashCode(callSuper = false) +public class FinancialAddressDebitParams extends ApiRequestParams { + /** Required. Object containing the amount value and currency to debit. */ + @SerializedName("amount") + Amount amount; + + /** + * Map of extra parameters for custom features not available in this client library. The content + * in this map is not serialized under this field's {@code @SerializedName} value. Instead, each + * key/value pair is serialized as if the key is a root-level field (serialized) name in this + * param object. Effectively, this map is flattened to its parent instance. + */ + @SerializedName(ApiRequestParams.EXTRA_PARAMS_KEY) + Map extraParams; + + /** + * Required. The network to use in simulating the funds flow. This will be + * reflected in the resulting ReceivedDebit. + */ + @SerializedName("network") + Network network; + + /** + * String explaining funds flow. Use this field to populate the statement descriptor of the + * ReceivedDebit created as an eventual result of this simulation. + */ + @SerializedName("statement_descriptor") + String statementDescriptor; + + private FinancialAddressDebitParams( + Amount amount, Map extraParams, Network network, String statementDescriptor) { + this.amount = amount; + this.extraParams = extraParams; + this.network = network; + this.statementDescriptor = statementDescriptor; + } + + public static Builder builder() { + return new Builder(); + } + + public static class Builder { + private Amount amount; + + private Map extraParams; + + private Network network; + + private String statementDescriptor; + + /** Finalize and obtain parameter instance from this builder. */ + public FinancialAddressDebitParams build() { + return new FinancialAddressDebitParams( + this.amount, this.extraParams, this.network, this.statementDescriptor); + } + + /** Required. Object containing the amount value and currency to debit. */ + public Builder setAmount(Amount amount) { + this.amount = amount; + return this; + } + + /** + * Add a key/value pair to `extraParams` map. A map is initialized for the first `put/putAll` + * call, and subsequent calls add additional key/value pairs to the original map. See {@link + * FinancialAddressDebitParams#extraParams} for the field documentation. + */ + public Builder putExtraParam(String key, Object value) { + if (this.extraParams == null) { + this.extraParams = new HashMap<>(); + } + this.extraParams.put(key, value); + return this; + } + + /** + * Add all map key/value pairs to `extraParams` map. A map is initialized for the first + * `put/putAll` call, and subsequent calls add additional key/value pairs to the original map. + * See {@link FinancialAddressDebitParams#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 network to use in simulating the funds flow. This will be + * reflected in the resulting ReceivedDebit. + */ + public Builder setNetwork(FinancialAddressDebitParams.Network network) { + this.network = network; + return this; + } + + /** + * String explaining funds flow. Use this field to populate the statement descriptor of the + * ReceivedDebit created as an eventual result of this simulation. + */ + public Builder setStatementDescriptor(String statementDescriptor) { + this.statementDescriptor = statementDescriptor; + return this; + } + } + + public enum Network implements ApiRequestParams.EnumParam { + @SerializedName("ach") + ACH("ach"); + + @Getter(onMethod_ = {@Override}) + private final String value; + + Network(String value) { + this.value = value; + } + } +} diff --git a/src/main/java/com/stripe/service/PaymentAttemptRecordService.java b/src/main/java/com/stripe/service/PaymentAttemptRecordService.java index 8b2e70e6c5b..693dad6e834 100644 --- a/src/main/java/com/stripe/service/PaymentAttemptRecordService.java +++ b/src/main/java/com/stripe/service/PaymentAttemptRecordService.java @@ -16,6 +16,7 @@ import com.stripe.param.PaymentAttemptRecordReportAuthenticatedParams; import com.stripe.param.PaymentAttemptRecordReportAuthorizedParams; import com.stripe.param.PaymentAttemptRecordReportCanceledParams; +import com.stripe.param.PaymentAttemptRecordReportEarlyFraudWarningParams; import com.stripe.param.PaymentAttemptRecordReportFailedParams; import com.stripe.param.PaymentAttemptRecordReportGuaranteedParams; import com.stripe.param.PaymentAttemptRecordReportInformationalParams; @@ -188,6 +189,31 @@ public PaymentAttemptRecord reportCanceled( options); return this.request(request, PaymentAttemptRecord.class); } + /** Report that the specified Payment Attempt Record received an early fraud warning. */ + public PaymentAttemptRecord reportEarlyFraudWarning( + String paymentAttemptRecord, PaymentAttemptRecordReportEarlyFraudWarningParams params) + throws StripeException { + return reportEarlyFraudWarning(paymentAttemptRecord, params, (RequestOptions) null); + } + /** Report that the specified Payment Attempt Record received an early fraud warning. */ + public PaymentAttemptRecord reportEarlyFraudWarning( + String paymentAttemptRecord, + PaymentAttemptRecordReportEarlyFraudWarningParams params, + RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/payment_attempt_records/%s/report_early_fraud_warning", + ApiResource.urlEncodeId(paymentAttemptRecord)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PaymentAttemptRecord.class); + } /** Report that the specified Payment Attempt Record failed. */ public PaymentAttemptRecord reportFailed( String paymentAttemptRecord, PaymentAttemptRecordReportFailedParams params) diff --git a/src/main/java/com/stripe/service/PaymentRecordService.java b/src/main/java/com/stripe/service/PaymentRecordService.java index 75d101ff387..aac9045459a 100644 --- a/src/main/java/com/stripe/service/PaymentRecordService.java +++ b/src/main/java/com/stripe/service/PaymentRecordService.java @@ -1,8 +1,10 @@ // File generated from our OpenAPI spec package com.stripe.service; +import com.google.gson.reflect.TypeToken; import com.stripe.exception.StripeException; import com.stripe.model.PaymentRecord; +import com.stripe.model.StripeSearchResult; import com.stripe.net.ApiRequest; import com.stripe.net.ApiRequestParams; import com.stripe.net.ApiResource; @@ -18,6 +20,7 @@ import com.stripe.param.PaymentRecordReportPaymentParams; import com.stripe.param.PaymentRecordReportRefundParams; import com.stripe.param.PaymentRecordRetrieveParams; +import com.stripe.param.PaymentRecordSearchParams; public final class PaymentRecordService extends ApiService { public PaymentRecordService(StripeResponseGetter responseGetter) { @@ -51,6 +54,38 @@ public PaymentRecord retrieve( options); return this.request(request, PaymentRecord.class); } + /** + * Search for PaymentRecords you’ve previously created using Stripe’s Search Query Language. Don’t + * use search in read-after-write flows where strict consistency is necessary. Under normal + * operating conditions, data is searchable in less than a minute. Occasionally, propagation of + * new or updated data can be up to an hour behind during outages. Search functionality is not + * available to merchants in India. + */ + public StripeSearchResult search(PaymentRecordSearchParams params) + throws StripeException { + return search(params, (RequestOptions) null); + } + /** + * Search for PaymentRecords you’ve previously created using Stripe’s Search Query Language. Don’t + * use search in read-after-write flows where strict consistency is necessary. Under normal + * operating conditions, data is searchable in less than a minute. Occasionally, propagation of + * new or updated data can be up to an hour behind during outages. Search functionality is not + * available to merchants in India. + */ + public StripeSearchResult search( + PaymentRecordSearchParams params, RequestOptions options) throws StripeException { + String path = "/v1/payment_records/search"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, new TypeToken>() {}.getType()); + } /** * Report a new payment attempt on the specified Payment Record. A new payment attempt can only be * specified if all other payment attempts are canceled or failed. diff --git a/src/main/java/com/stripe/service/issuing/CreditUnderwritingRecordService.java b/src/main/java/com/stripe/service/issuing/CreditUnderwritingRecordService.java index 36d1885b104..dbd95c67582 100644 --- a/src/main/java/com/stripe/service/issuing/CreditUnderwritingRecordService.java +++ b/src/main/java/com/stripe/service/issuing/CreditUnderwritingRecordService.java @@ -17,6 +17,7 @@ import com.stripe.param.issuing.CreditUnderwritingRecordCreateFromProactiveReviewParams; import com.stripe.param.issuing.CreditUnderwritingRecordListParams; import com.stripe.param.issuing.CreditUnderwritingRecordReportDecisionParams; +import com.stripe.param.issuing.CreditUnderwritingRecordReportOfferAcceptanceParams; import com.stripe.param.issuing.CreditUnderwritingRecordRetrieveParams; public final class CreditUnderwritingRecordService extends ApiService { @@ -168,6 +169,59 @@ public CreditUnderwritingRecord reportDecision( options); return this.request(request, CreditUnderwritingRecord.class); } + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance( + String creditUnderwritingRecord, CreditUnderwritingRecordReportOfferAcceptanceParams params) + throws StripeException { + return reportOfferAcceptance(creditUnderwritingRecord, params, (RequestOptions) null); + } + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance( + String creditUnderwritingRecord, RequestOptions options) throws StripeException { + return reportOfferAcceptance( + creditUnderwritingRecord, + (CreditUnderwritingRecordReportOfferAcceptanceParams) null, + options); + } + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance(String creditUnderwritingRecord) + throws StripeException { + return reportOfferAcceptance( + creditUnderwritingRecord, + (CreditUnderwritingRecordReportOfferAcceptanceParams) null, + (RequestOptions) null); + } + /** + * Update a {@code CreditUnderwritingRecord} object to report that a credit offer has been + * accepted. + */ + public CreditUnderwritingRecord reportOfferAcceptance( + String creditUnderwritingRecord, + CreditUnderwritingRecordReportOfferAcceptanceParams params, + RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/issuing/credit_underwriting_records/%s/report_offer_acceptance", + ApiResource.urlEncodeId(creditUnderwritingRecord)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, CreditUnderwritingRecord.class); + } /** * Creates a {@code CreditUnderwritingRecord} object with information about a credit application * submission. diff --git a/src/main/java/com/stripe/service/testhelpers/issuing/DisputeService.java b/src/main/java/com/stripe/service/testhelpers/issuing/DisputeService.java index 318d4a0d5b6..33d42da7421 100644 --- a/src/main/java/com/stripe/service/testhelpers/issuing/DisputeService.java +++ b/src/main/java/com/stripe/service/testhelpers/issuing/DisputeService.java @@ -11,6 +11,7 @@ import com.stripe.net.RequestOptions; import com.stripe.net.StripeResponseGetter; import com.stripe.param.issuing.DisputeCloseParams; +import com.stripe.param.issuing.DisputeProvisionalCreditParams; import com.stripe.param.issuing.DisputeSimulateNetworkLifecycleDisputeResponseParams; import com.stripe.param.issuing.DisputeSimulateNetworkLifecyclePreArbitrationResponseParams; import com.stripe.param.issuing.DisputeSimulateNetworkLifecyclePreArbitrationSubmissionParams; @@ -39,6 +40,52 @@ public Dispute close(String dispute, DisputeCloseParams params, RequestOptions o options); return this.request(request, Dispute.class); } + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven status + * transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(String dispute, DisputeProvisionalCreditParams params) + throws StripeException { + return provisionalCredit(dispute, params, (RequestOptions) null); + } + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven status + * transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(String dispute, RequestOptions options) throws StripeException { + return provisionalCredit(dispute, (DisputeProvisionalCreditParams) null, options); + } + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven status + * transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit(String dispute) throws StripeException { + return provisionalCredit(dispute, (DisputeProvisionalCreditParams) null, (RequestOptions) null); + } + /** + * Test helper: overrides the {@code grant_deadline} and {@code revocable_after} timestamps on a + * test-mode Issuing dispute’s provisional credit, allowing tests to simulate timer-driven status + * transitions without waiting for real regulatory deadlines to pass. + */ + public Dispute provisionalCredit( + String dispute, DisputeProvisionalCreditParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v1/test_helpers/issuing/disputes/%s/provisional_credit", + ApiResource.urlEncodeId(dispute)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, Dispute.class); + } /** * Test helper: populates {@code network_lifecycle.dispute_response} on a test-mode Visa Issuing * Dispute using placeholder file tokens. Only supported for Visa disputes. diff --git a/src/main/java/com/stripe/service/v2/CoreService.java b/src/main/java/com/stripe/service/v2/CoreService.java index c9645c6be42..f59b9706dec 100644 --- a/src/main/java/com/stripe/service/v2/CoreService.java +++ b/src/main/java/com/stripe/service/v2/CoreService.java @@ -57,6 +57,10 @@ public com.stripe.service.v2.core.FeeEntryService feeEntries() { return new com.stripe.service.v2.core.FeeEntryService(this.getResponseGetter()); } + public com.stripe.service.v2.core.HealthService health() { + return new com.stripe.service.v2.core.HealthService(this.getResponseGetter()); + } + public com.stripe.service.v2.core.VaultService vault() { return new com.stripe.service.v2.core.VaultService(this.getResponseGetter()); } diff --git a/src/main/java/com/stripe/service/v2/MoneyManagementService.java b/src/main/java/com/stripe/service/v2/MoneyManagementService.java index c34bb328335..299a37747fb 100644 --- a/src/main/java/com/stripe/service/v2/MoneyManagementService.java +++ b/src/main/java/com/stripe/service/v2/MoneyManagementService.java @@ -57,6 +57,10 @@ public com.stripe.service.v2.moneymanagement.OutboundTransferService outboundTra this.getResponseGetter()); } + public com.stripe.service.v2.moneymanagement.PayoutIntentService payoutIntents() { + return new com.stripe.service.v2.moneymanagement.PayoutIntentService(this.getResponseGetter()); + } + public com.stripe.service.v2.moneymanagement.PayoutMethodService payoutMethods() { return new com.stripe.service.v2.moneymanagement.PayoutMethodService(this.getResponseGetter()); } @@ -82,6 +86,10 @@ public com.stripe.service.v2.moneymanagement.ReceivedDebitService receivedDebits this.getResponseGetter()); } + public com.stripe.service.v2.moneymanagement.TestHelpersService testHelpers() { + return new com.stripe.service.v2.moneymanagement.TestHelpersService(this.getResponseGetter()); + } + public com.stripe.service.v2.moneymanagement.TransactionEntryService transactionEntries() { return new com.stripe.service.v2.moneymanagement.TransactionEntryService( this.getResponseGetter()); diff --git a/src/main/java/com/stripe/service/v2/billing/ContractService.java b/src/main/java/com/stripe/service/v2/billing/ContractService.java index 10ba8985ef8..409b27f7f2b 100644 --- a/src/main/java/com/stripe/service/v2/billing/ContractService.java +++ b/src/main/java/com/stripe/service/v2/billing/ContractService.java @@ -3,6 +3,7 @@ import com.google.gson.reflect.TypeToken; import com.stripe.exception.StripeException; +import com.stripe.model.v2.DeletedObject; import com.stripe.model.v2.StripeCollection; import com.stripe.model.v2.billing.Contract; import com.stripe.net.ApiRequest; @@ -66,6 +67,17 @@ public Contract create(ContractCreateParams params, RequestOptions options) options); return this.request(request, Contract.class); } + /** Delete a draft Contract object by ID. */ + public DeletedObject delete(String id) throws StripeException { + return delete(id, (RequestOptions) null); + } + /** Delete a draft Contract object by ID. */ + public DeletedObject delete(String id, RequestOptions options) throws StripeException { + String path = String.format("/v2/billing/contracts/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.DELETE, path, null, options); + return this.request(request, DeletedObject.class); + } /** Retrieve a Contract object by ID. */ public Contract retrieve(String id, ContractRetrieveParams params) throws StripeException { return retrieve(id, params, (RequestOptions) null); @@ -167,8 +179,8 @@ public Contract cancel(String id, ContractCancelParams params, RequestOptions op return this.request(request, Contract.class); } - public com.stripe.service.v2.billing.contracts.LicensePricingService licensePricing() { - return new com.stripe.service.v2.billing.contracts.LicensePricingService( + public com.stripe.service.v2.billing.contracts.PricingLinesService pricingLines() { + return new com.stripe.service.v2.billing.contracts.PricingLinesService( this.getResponseGetter()); } } diff --git a/src/main/java/com/stripe/service/v2/billing/contracts/LicensePricingService.java b/src/main/java/com/stripe/service/v2/billing/contracts/LicensePricingService.java deleted file mode 100644 index 5d61e1f26be..00000000000 --- a/src/main/java/com/stripe/service/v2/billing/contracts/LicensePricingService.java +++ /dev/null @@ -1,17 +0,0 @@ -// File generated from our OpenAPI spec -package com.stripe.service.v2.billing.contracts; - -import com.stripe.net.ApiService; -import com.stripe.net.StripeResponseGetter; - -public final class LicensePricingService extends ApiService { - public LicensePricingService(StripeResponseGetter responseGetter) { - super(responseGetter); - } - - public com.stripe.service.v2.billing.contracts.licensepricing.QuantityChangeService - quantityChanges() { - return new com.stripe.service.v2.billing.contracts.licensepricing.QuantityChangeService( - this.getResponseGetter()); - } -} diff --git a/src/main/java/com/stripe/service/v2/billing/contracts/PricingLinesService.java b/src/main/java/com/stripe/service/v2/billing/contracts/PricingLinesService.java new file mode 100644 index 00000000000..7e35e637d45 --- /dev/null +++ b/src/main/java/com/stripe/service/v2/billing/contracts/PricingLinesService.java @@ -0,0 +1,17 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.billing.contracts; + +import com.stripe.net.ApiService; +import com.stripe.net.StripeResponseGetter; + +public final class PricingLinesService extends ApiService { + public PricingLinesService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + public com.stripe.service.v2.billing.contracts.pricinglines.QuantityChangeService + quantityChanges() { + return new com.stripe.service.v2.billing.contracts.pricinglines.QuantityChangeService( + this.getResponseGetter()); + } +} diff --git a/src/main/java/com/stripe/service/v2/billing/contracts/licensepricing/QuantityChangeService.java b/src/main/java/com/stripe/service/v2/billing/contracts/licensepricing/QuantityChangeService.java deleted file mode 100644 index 9e94119ae62..00000000000 --- a/src/main/java/com/stripe/service/v2/billing/contracts/licensepricing/QuantityChangeService.java +++ /dev/null @@ -1,65 +0,0 @@ -// File generated from our OpenAPI spec -package com.stripe.service.v2.billing.contracts.licensepricing; - -import com.google.gson.reflect.TypeToken; -import com.stripe.exception.StripeException; -import com.stripe.model.v2.StripeCollection; -import com.stripe.model.v2.billing.ContractLicensePricingQuantityChange; -import com.stripe.net.ApiRequest; -import com.stripe.net.ApiRequestParams; -import com.stripe.net.ApiResource; -import com.stripe.net.ApiService; -import com.stripe.net.BaseAddress; -import com.stripe.net.RequestOptions; -import com.stripe.net.StripeResponseGetter; -import com.stripe.param.v2.billing.contracts.licensepricing.QuantityChangeListQuantityChangesParams; - -public final class QuantityChangeService extends ApiService { - public QuantityChangeService(StripeResponseGetter responseGetter) { - super(responseGetter); - } - - /** List license quantity changes for a contract given a license pricing ID. */ - public StripeCollection listQuantityChanges( - String contractId, String licensePricingId, QuantityChangeListQuantityChangesParams params) - throws StripeException { - return listQuantityChanges(contractId, licensePricingId, params, (RequestOptions) null); - } - /** List license quantity changes for a contract given a license pricing ID. */ - public StripeCollection listQuantityChanges( - String contractId, String licensePricingId, RequestOptions options) throws StripeException { - return listQuantityChanges( - contractId, licensePricingId, (QuantityChangeListQuantityChangesParams) null, options); - } - /** List license quantity changes for a contract given a license pricing ID. */ - public StripeCollection listQuantityChanges( - String contractId, String licensePricingId) throws StripeException { - return listQuantityChanges( - contractId, - licensePricingId, - (QuantityChangeListQuantityChangesParams) null, - (RequestOptions) null); - } - /** List license quantity changes for a contract given a license pricing ID. */ - public StripeCollection listQuantityChanges( - String contractId, - String licensePricingId, - QuantityChangeListQuantityChangesParams params, - RequestOptions options) - throws StripeException { - String path = - String.format( - "/v2/billing/contracts/%s/license_pricing/%s/quantity_changes", - ApiResource.urlEncodeId(contractId), ApiResource.urlEncodeId(licensePricingId)); - ApiRequest request = - new ApiRequest( - BaseAddress.API, - ApiResource.RequestMethod.GET, - path, - ApiRequestParams.paramsToMap(params), - options); - return this.request( - request, - new TypeToken>() {}.getType()); - } -} diff --git a/src/main/java/com/stripe/service/v2/billing/contracts/pricinglines/QuantityChangeService.java b/src/main/java/com/stripe/service/v2/billing/contracts/pricinglines/QuantityChangeService.java new file mode 100644 index 00000000000..95e037d0712 --- /dev/null +++ b/src/main/java/com/stripe/service/v2/billing/contracts/pricinglines/QuantityChangeService.java @@ -0,0 +1,70 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.billing.contracts.pricinglines; + +import com.google.gson.reflect.TypeToken; +import com.stripe.exception.StripeException; +import com.stripe.model.v2.StripeCollection; +import com.stripe.model.v2.billing.ContractPricingLineQuantityChange; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.v2.billing.contracts.pricinglines.QuantityChangeListContractPricingLineQuantityChangesParams; + +public final class QuantityChangeService extends ApiService { + public QuantityChangeService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** List quantity changes for a pricing line on a contract. */ + public StripeCollection listContractPricingLineQuantityChanges( + String contractId, + String pricingLineId, + QuantityChangeListContractPricingLineQuantityChangesParams params) + throws StripeException { + return listContractPricingLineQuantityChanges( + contractId, pricingLineId, params, (RequestOptions) null); + } + /** List quantity changes for a pricing line on a contract. */ + public StripeCollection listContractPricingLineQuantityChanges( + String contractId, String pricingLineId, RequestOptions options) throws StripeException { + return listContractPricingLineQuantityChanges( + contractId, + pricingLineId, + (QuantityChangeListContractPricingLineQuantityChangesParams) null, + options); + } + /** List quantity changes for a pricing line on a contract. */ + public StripeCollection listContractPricingLineQuantityChanges( + String contractId, String pricingLineId) throws StripeException { + return listContractPricingLineQuantityChanges( + contractId, + pricingLineId, + (QuantityChangeListContractPricingLineQuantityChangesParams) null, + (RequestOptions) null); + } + /** List quantity changes for a pricing line on a contract. */ + public StripeCollection listContractPricingLineQuantityChanges( + String contractId, + String pricingLineId, + QuantityChangeListContractPricingLineQuantityChangesParams params, + RequestOptions options) + throws StripeException { + String path = + String.format( + "/v2/billing/contracts/%s/pricing_lines/%s/quantity_changes", + ApiResource.urlEncodeId(contractId), ApiResource.urlEncodeId(pricingLineId)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request( + request, new TypeToken>() {}.getType()); + } +} diff --git a/src/main/java/com/stripe/service/v2/core/HealthService.java b/src/main/java/com/stripe/service/v2/core/HealthService.java new file mode 100644 index 00000000000..0ae85a3394c --- /dev/null +++ b/src/main/java/com/stripe/service/v2/core/HealthService.java @@ -0,0 +1,15 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.core; + +import com.stripe.net.ApiService; +import com.stripe.net.StripeResponseGetter; + +public final class HealthService extends ApiService { + public HealthService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + public com.stripe.service.v2.core.health.AlertService alerts() { + return new com.stripe.service.v2.core.health.AlertService(this.getResponseGetter()); + } +} diff --git a/src/main/java/com/stripe/service/v2/core/health/AlertService.java b/src/main/java/com/stripe/service/v2/core/health/AlertService.java new file mode 100644 index 00000000000..7c92cee8375 --- /dev/null +++ b/src/main/java/com/stripe/service/v2/core/health/AlertService.java @@ -0,0 +1,62 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.core.health; + +import com.google.gson.reflect.TypeToken; +import com.stripe.exception.StripeException; +import com.stripe.model.v2.StripeCollection; +import com.stripe.model.v2.core.health.Alert; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.v2.core.health.AlertListParams; + +public final class AlertService extends ApiService { + public AlertService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** Retrieves a list of health alerts. */ + public StripeCollection list(AlertListParams params) throws StripeException { + return list(params, (RequestOptions) null); + } + /** Retrieves a list of health alerts. */ + public StripeCollection list(RequestOptions options) throws StripeException { + return list((AlertListParams) null, options); + } + /** Retrieves a list of health alerts. */ + public StripeCollection list() throws StripeException { + return list((AlertListParams) null, (RequestOptions) null); + } + /** Retrieves a list of health alerts. */ + public StripeCollection list(AlertListParams params, RequestOptions options) + throws StripeException { + String path = "/v2/core/health/alerts"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, new TypeToken>() {}.getType()); + } + /** Retrieves a health alert by ID. */ + public Alert retrieve(String id) throws StripeException { + return retrieve(id, (RequestOptions) null); + } + /** Retrieves a health alert by ID. */ + public Alert retrieve(String id, RequestOptions options) throws StripeException { + String path = String.format("/v2/core/health/alerts/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, null, options); + return this.request(request, Alert.class); + } + + public com.stripe.service.v2.core.health.alerts.HistoryService history() { + return new com.stripe.service.v2.core.health.alerts.HistoryService(this.getResponseGetter()); + } +} diff --git a/src/main/java/com/stripe/service/v2/core/health/alerts/HistoryService.java b/src/main/java/com/stripe/service/v2/core/health/alerts/HistoryService.java new file mode 100644 index 00000000000..f133f7cc51f --- /dev/null +++ b/src/main/java/com/stripe/service/v2/core/health/alerts/HistoryService.java @@ -0,0 +1,49 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.core.health.alerts; + +import com.google.gson.reflect.TypeToken; +import com.stripe.exception.StripeException; +import com.stripe.model.v2.StripeCollection; +import com.stripe.model.v2.core.health.AlertHistoryEntry; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.v2.core.health.alerts.HistoryListParams; + +public final class HistoryService extends ApiService { + public HistoryService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** Retrieves a list of alert history entries for a health alert. */ + public StripeCollection list(String id, HistoryListParams params) + throws StripeException { + return list(id, params, (RequestOptions) null); + } + /** Retrieves a list of alert history entries for a health alert. */ + public StripeCollection list(String id, RequestOptions options) + throws StripeException { + return list(id, (HistoryListParams) null, options); + } + /** Retrieves a list of alert history entries for a health alert. */ + public StripeCollection list(String id) throws StripeException { + return list(id, (HistoryListParams) null, (RequestOptions) null); + } + /** Retrieves a list of alert history entries for a health alert. */ + public StripeCollection list( + String id, HistoryListParams params, RequestOptions options) throws StripeException { + String path = String.format("/v2/core/health/alerts/%s/history", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, new TypeToken>() {}.getType()); + } +} diff --git a/src/main/java/com/stripe/service/v2/core/vault/UsBankAccountService.java b/src/main/java/com/stripe/service/v2/core/vault/UsBankAccountService.java index 507919cdc7a..d85c97628b8 100644 --- a/src/main/java/com/stripe/service/v2/core/vault/UsBankAccountService.java +++ b/src/main/java/com/stripe/service/v2/core/vault/UsBankAccountService.java @@ -4,6 +4,7 @@ import com.google.gson.reflect.TypeToken; import com.stripe.exception.BlockedByStripeException; import com.stripe.exception.CannotProceedException; +import com.stripe.exception.ControlledByAlternateResourceException; import com.stripe.exception.ControlledByDashboardException; import com.stripe.exception.InvalidPaymentMethodException; import com.stripe.exception.QuotaExceededException; @@ -156,7 +157,8 @@ public UsBankAccount archive(String id, RequestOptions options) * and eligible to transfer funds with. */ public UsBankAccount confirmMicrodeposits( - String id, UsBankAccountConfirmMicrodepositsParams params) throws StripeException { + String id, UsBankAccountConfirmMicrodepositsParams params) + throws StripeException, ControlledByAlternateResourceException { return confirmMicrodeposits(id, params, (RequestOptions) null); } /** @@ -165,7 +167,7 @@ public UsBankAccount confirmMicrodeposits( * and eligible to transfer funds with. */ public UsBankAccount confirmMicrodeposits(String id, RequestOptions options) - throws StripeException { + throws StripeException, ControlledByAlternateResourceException { return confirmMicrodeposits(id, (UsBankAccountConfirmMicrodepositsParams) null, options); } /** @@ -173,7 +175,8 @@ public UsBankAccount confirmMicrodeposits(String id, RequestOptions options) * Microdeposits request. Once you correctly confirm this, this US Bank Account will be verified * and eligible to transfer funds with. */ - public UsBankAccount confirmMicrodeposits(String id) throws StripeException { + public UsBankAccount confirmMicrodeposits(String id) + throws StripeException, ControlledByAlternateResourceException { return confirmMicrodeposits( id, (UsBankAccountConfirmMicrodepositsParams) null, (RequestOptions) null); } @@ -184,7 +187,7 @@ public UsBankAccount confirmMicrodeposits(String id) throws StripeException { */ public UsBankAccount confirmMicrodeposits( String id, UsBankAccountConfirmMicrodepositsParams params, RequestOptions options) - throws StripeException { + throws StripeException, ControlledByAlternateResourceException { String path = String.format( "/v2/core/vault/us_bank_accounts/%s/confirm_microdeposits", @@ -203,7 +206,8 @@ public UsBankAccount confirmMicrodeposits( * This will start the verification process and you must Confirm Microdeposits to successfully * verify your US Bank Account. */ - public UsBankAccount sendMicrodeposits(String id) throws StripeException { + public UsBankAccount sendMicrodeposits(String id) + throws StripeException, ControlledByAlternateResourceException { return sendMicrodeposits(id, (RequestOptions) null); } /** @@ -211,7 +215,8 @@ public UsBankAccount sendMicrodeposits(String id) throws StripeException { * This will start the verification process and you must Confirm Microdeposits to successfully * verify your US Bank Account. */ - public UsBankAccount sendMicrodeposits(String id, RequestOptions options) throws StripeException { + public UsBankAccount sendMicrodeposits(String id, RequestOptions options) + throws StripeException, ControlledByAlternateResourceException { String path = String.format( "/v2/core/vault/us_bank_accounts/%s/send_microdeposits", ApiResource.urlEncodeId(id)); diff --git a/src/main/java/com/stripe/service/v2/moneymanagement/PayoutIntentService.java b/src/main/java/com/stripe/service/v2/moneymanagement/PayoutIntentService.java new file mode 100644 index 00000000000..da43f47a2bf --- /dev/null +++ b/src/main/java/com/stripe/service/v2/moneymanagement/PayoutIntentService.java @@ -0,0 +1,140 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.moneymanagement; + +import com.google.gson.reflect.TypeToken; +import com.stripe.exception.FeatureNotEnabledException; +import com.stripe.exception.NotCancelableException; +import com.stripe.exception.StripeException; +import com.stripe.model.v2.StripeCollection; +import com.stripe.model.v2.moneymanagement.PayoutIntent; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams; +import com.stripe.param.v2.moneymanagement.PayoutIntentListParams; +import com.stripe.param.v2.moneymanagement.PayoutIntentUpdateParams; + +public final class PayoutIntentService extends ApiService { + public PayoutIntentService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** Returns a list of PayoutIntents. */ + public StripeCollection list(PayoutIntentListParams params) throws StripeException { + return list(params, (RequestOptions) null); + } + /** Returns a list of PayoutIntents. */ + public StripeCollection list(RequestOptions options) throws StripeException { + return list((PayoutIntentListParams) null, options); + } + /** Returns a list of PayoutIntents. */ + public StripeCollection list() throws StripeException { + return list((PayoutIntentListParams) null, (RequestOptions) null); + } + /** Returns a list of PayoutIntents. */ + public StripeCollection list(PayoutIntentListParams params, RequestOptions options) + throws StripeException { + String path = "/v2/money_management/payout_intents"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, new TypeToken>() {}.getType()); + } + /** Creates a PayoutIntent. */ + public PayoutIntent create(PayoutIntentCreateParams params) + throws StripeException, FeatureNotEnabledException { + return create(params, (RequestOptions) null); + } + /** Creates a PayoutIntent. */ + public PayoutIntent create(PayoutIntentCreateParams params, RequestOptions options) + throws StripeException, FeatureNotEnabledException { + String path = "/v2/money_management/payout_intents"; + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PayoutIntent.class); + } + /** Retrieves the details of an existing PayoutIntent by passing the unique PayoutIntent ID. */ + public PayoutIntent retrieve(String id) throws StripeException { + return retrieve(id, (RequestOptions) null); + } + /** Retrieves the details of an existing PayoutIntent by passing the unique PayoutIntent ID. */ + public PayoutIntent retrieve(String id, RequestOptions options) throws StripeException { + String path = + String.format("/v2/money_management/payout_intents/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.GET, path, null, options); + return this.request(request, PayoutIntent.class); + } + /** + * Updates a PayoutIntent. Only pending or requires_action PayoutIntents that are editable can be + * updated. + */ + public PayoutIntent update(String id, PayoutIntentUpdateParams params) + throws StripeException, FeatureNotEnabledException { + return update(id, params, (RequestOptions) null); + } + /** + * Updates a PayoutIntent. Only pending or requires_action PayoutIntents that are editable can be + * updated. + */ + public PayoutIntent update(String id, RequestOptions options) + throws StripeException, FeatureNotEnabledException { + return update(id, (PayoutIntentUpdateParams) null, options); + } + /** + * Updates a PayoutIntent. Only pending or requires_action PayoutIntents that are editable can be + * updated. + */ + public PayoutIntent update(String id) throws StripeException, FeatureNotEnabledException { + return update(id, (PayoutIntentUpdateParams) null, (RequestOptions) null); + } + /** + * Updates a PayoutIntent. Only pending or requires_action PayoutIntents that are editable can be + * updated. + */ + public PayoutIntent update(String id, PayoutIntentUpdateParams params, RequestOptions options) + throws StripeException, FeatureNotEnabledException { + String path = + String.format("/v2/money_management/payout_intents/%s", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, PayoutIntent.class); + } + /** + * Cancels a PayoutIntent. Only pending PayoutIntents or processing PayoutIntents with cancelable + * OutboundPayment/Transfer can be canceled. + */ + public PayoutIntent cancel(String id) throws StripeException, NotCancelableException { + return cancel(id, (RequestOptions) null); + } + /** + * Cancels a PayoutIntent. Only pending PayoutIntents or processing PayoutIntents with cancelable + * OutboundPayment/Transfer can be canceled. + */ + public PayoutIntent cancel(String id, RequestOptions options) + throws StripeException, NotCancelableException { + String path = + String.format("/v2/money_management/payout_intents/%s/cancel", ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest(BaseAddress.API, ApiResource.RequestMethod.POST, path, null, options); + return this.request(request, PayoutIntent.class); + } +} diff --git a/src/main/java/com/stripe/service/v2/moneymanagement/TestHelpersService.java b/src/main/java/com/stripe/service/v2/moneymanagement/TestHelpersService.java new file mode 100644 index 00000000000..6282b62a853 --- /dev/null +++ b/src/main/java/com/stripe/service/v2/moneymanagement/TestHelpersService.java @@ -0,0 +1,17 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.moneymanagement; + +import com.stripe.net.ApiService; +import com.stripe.net.StripeResponseGetter; + +public final class TestHelpersService extends ApiService { + public TestHelpersService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + public com.stripe.service.v2.moneymanagement.testhelpers.FinancialAddressService + financialAddresses() { + return new com.stripe.service.v2.moneymanagement.testhelpers.FinancialAddressService( + this.getResponseGetter()); + } +} diff --git a/src/main/java/com/stripe/service/v2/moneymanagement/testhelpers/FinancialAddressService.java b/src/main/java/com/stripe/service/v2/moneymanagement/testhelpers/FinancialAddressService.java new file mode 100644 index 00000000000..a51ee282176 --- /dev/null +++ b/src/main/java/com/stripe/service/v2/moneymanagement/testhelpers/FinancialAddressService.java @@ -0,0 +1,48 @@ +// File generated from our OpenAPI spec +package com.stripe.service.v2.moneymanagement.testhelpers; + +import com.stripe.exception.StripeException; +import com.stripe.model.v2.moneymanagement.FinancialAddressDebitSimulation; +import com.stripe.net.ApiRequest; +import com.stripe.net.ApiRequestParams; +import com.stripe.net.ApiResource; +import com.stripe.net.ApiService; +import com.stripe.net.BaseAddress; +import com.stripe.net.RequestOptions; +import com.stripe.net.StripeResponseGetter; +import com.stripe.param.v2.moneymanagement.testhelpers.FinancialAddressDebitParams; + +public final class FinancialAddressService extends ApiService { + public FinancialAddressService(StripeResponseGetter responseGetter) { + super(responseGetter); + } + + /** + * Simulate debiting a FinancialAddress in a Sandbox environment. This can be used to remove + * virtual funds and decrease your balance for testing. + */ + public FinancialAddressDebitSimulation debit(String id, FinancialAddressDebitParams params) + throws StripeException { + return debit(id, params, (RequestOptions) null); + } + /** + * Simulate debiting a FinancialAddress in a Sandbox environment. This can be used to remove + * virtual funds and decrease your balance for testing. + */ + public FinancialAddressDebitSimulation debit( + String id, FinancialAddressDebitParams params, RequestOptions options) + throws StripeException { + String path = + String.format( + "/v2/money_management/test_helpers/financial_addresses/%s/debit", + ApiResource.urlEncodeId(id)); + ApiRequest request = + new ApiRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + path, + ApiRequestParams.paramsToMap(params), + options); + return this.request(request, FinancialAddressDebitSimulation.class); + } +} diff --git a/src/test/java/com/stripe/functional/GeneratedExamples.java b/src/test/java/com/stripe/functional/GeneratedExamples.java index 785e6c654bb..eba3a89f704 100644 --- a/src/test/java/com/stripe/functional/GeneratedExamples.java +++ b/src/test/java/com/stripe/functional/GeneratedExamples.java @@ -24951,7 +24951,7 @@ public void testV2BillingContractGetServices() throws StripeException { new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.billing.Contract>>() {}.getType(), - "{\"data\":[{\"object\":\"v2.billing.contract\",\"contract_line_details\":[{\"contract_line\":\"contract_line\",\"contract_line_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"service_action\"}],\"pricing\":{},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"contract_number\":\"contract_number\",\"contract_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"license_quantities\":[{\"license_pricing_id\":\"license_pricing_id\",\"license_pricing_type\":\"price\",\"pricing_line\":\"pricing_line\",\"quantity\":1285004149}],\"livemode\":true,\"pricing_lines\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing\":{\"type\":\"price\"},\"pricing_line\":\"pricing_line\",\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"pricing_overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing_override\":\"pricing_override\",\"priority\":1165461084,\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"multiplier\"}],\"status\":\"draft\",\"status_details\":{}}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"object\":\"v2.billing.contract\",\"contract_number\":\"contract_number\",\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"status\":\"draft\",\"status_details\":{}}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.billing.ContractListParams params = @@ -24977,258 +24977,113 @@ public void testV2BillingContractPostServices() throws StripeException { null, null, com.stripe.model.v2.billing.Contract.class, - "{\"object\":\"v2.billing.contract\",\"contract_line_details\":[{\"contract_line\":\"contract_line\",\"contract_line_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"service_action\"}],\"pricing\":{},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"contract_number\":\"contract_number\",\"contract_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"license_quantities\":[{\"license_pricing_id\":\"license_pricing_id\",\"license_pricing_type\":\"price\",\"pricing_line\":\"pricing_line\",\"quantity\":1285004149}],\"livemode\":true,\"pricing_lines\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing\":{\"type\":\"price\"},\"pricing_line\":\"pricing_line\",\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"pricing_overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing_override\":\"pricing_override\",\"priority\":1165461084,\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"multiplier\"}],\"status\":\"draft\",\"status_details\":{}}"); + "{\"object\":\"v2.billing.contract\",\"contract_number\":\"contract_number\",\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"status\":\"draft\",\"status_details\":{}}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.billing.ContractCreateParams params = com.stripe.param.v2.billing.ContractCreateParams.builder() - .addContractLine( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.builder() + .setContractNumber("contract_number") + .setCurrency("usd") + .addPricingLine( + com.stripe.param.v2.billing.ContractCreateParams.PricingLine.builder() .setEndsAt( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.EndsAt + com.stripe.param.v2.billing.ContractCreateParams.PricingLine.EndsAt .builder() .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) + .setType( + com.stripe.param.v2.billing.ContractCreateParams.PricingLine.EndsAt + .Type.CONTRACT_END) .build()) + .setLookupKey("lookup_key") .putMetadata("key", "metadata") - .addOverride( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Overrides + .setPricing( + com.stripe.param.v2.billing.ContractCreateParams.PricingLine.Pricing .builder() - .setEndsAt( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine - .Overrides.EndsAt.builder() - .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) - .build()) - .setServiceAction( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine - .Overrides.ServiceAction.builder() - .setAdd( - com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Add.builder() - .setCreditGrant( + .setPriceDetails( + com.stripe.param.v2.billing.ContractCreateParams.PricingLine.Pricing + .PriceDetails.builder() + .setPrice("price") + .addPricingOverride( + com.stripe.param.v2.billing.ContractCreateParams.PricingLine + .Pricing.PriceDetails.PricingOverride.builder() + .setEndsAt( com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Add - .CreditGrant.builder() - .setAmount( - com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Add.CreditGrant - .Amount.builder() - .setMonetary( - new com.stripe.v2.Amount(63, "USD")) - .setType( - com.stripe.param.v2.billing - .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Add.CreditGrant - .Amount.Type.MONETARY) - .build()) - .setApplicabilityConfig( + .PricingLine.Pricing.PriceDetails + .PricingOverride.EndsAt.builder() + .setTimestamp( + Instant.parse("1970-01-01T15:18:46.294Z")) + .setType( com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Add.CreditGrant - .ApplicabilityConfig.builder() - .setScope( - com.stripe.param.v2.billing - .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Add.CreditGrant - .ApplicabilityConfig.Scope - .builder() - .addBillableItem( - "billable_items") - .setPriceType( - com.stripe.param.v2.billing - .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Add - .CreditGrant - .ApplicabilityConfig - .Scope.PriceType - .METERED) - .build()) - .build()) - .setCategory( + .ContractCreateParams.PricingLine + .Pricing.PriceDetails.PricingOverride + .EndsAt.Type.CONTRACT_END) + .build()) + .setLookupKey("lookup_key") + .putMetadata("key", "metadata") + .setOverwritePrice( + com.stripe.param.v2.billing.ContractCreateParams + .PricingLine.Pricing.PriceDetails + .PricingOverride.OverwritePrice.builder() + .setTieringMode( com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Add.CreditGrant - .Category.PAID) - .setExpiryConfig( + .ContractCreateParams.PricingLine + .Pricing.PriceDetails.PricingOverride + .OverwritePrice.TieringMode.GRADUATED) + .addTier( com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Add.CreditGrant - .ExpiryConfig.builder() - .setType( + .ContractCreateParams.PricingLine + .Pricing.PriceDetails.PricingOverride + .OverwritePrice.Tier.builder() + .setFlatAmount("flat_amount") + .setUnitAmount("unit_amount") + .setUpToDecimal( + new BigDecimal( + "1387931359.3333333")) + .setUpToInf( com.stripe.param.v2.billing .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Add.CreditGrant - .ExpiryConfig.Type - .END_OF_SERVICE_PERIOD) + .PricingLine.Pricing + .PriceDetails.PricingOverride + .OverwritePrice.Tier.UpToInf + .INF) .build()) - .setName("name") - .setPriority(1165461084L) + .setUnitAmount("unit_amount") .build()) - .setServiceInterval( + .setPriority(1165461084L) + .setStartsAt( com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Add - .ServiceInterval.MONTH) - .setServiceIntervalCount(1375336415L) + .PricingLine.Pricing.PriceDetails + .PricingOverride.StartsAt.builder() + .setTimestamp( + Instant.parse("1970-01-01T15:18:46.294Z")) + .setType( + com.stripe.param.v2.billing + .ContractCreateParams.PricingLine + .Pricing.PriceDetails.PricingOverride + .StartsAt.Type.CONTRACT_START) + .build()) .setType( com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Add.Type - .CREDIT_GRANT) + .PricingLine.Pricing.PriceDetails + .PricingOverride.Type.OVERWRITE_PRICE) .build()) - .setReplace( - com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Replace.builder() - .setCreditGrant( + .addQuantityChange( + com.stripe.param.v2.billing.ContractCreateParams.PricingLine + .Pricing.PriceDetails.QuantityChange.builder() + .setEffectiveAt( com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Replace - .CreditGrant.builder() - .setAmount( - com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Replace - .CreditGrant.Amount.builder() - .setMonetary( - new com.stripe.v2.Amount(63, "USD")) - .setType( - com.stripe.param.v2.billing - .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Replace - .CreditGrant.Amount.Type - .MONETARY) - .build()) - .setApplicabilityConfig( - com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Replace - .CreditGrant.ApplicabilityConfig - .builder() - .setScope( - com.stripe.param.v2.billing - .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Replace - .CreditGrant.ApplicabilityConfig - .Scope.builder() - .addBillableItem( - "billable_items") - .setPriceType( - com.stripe.param.v2.billing - .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Replace - .CreditGrant - .ApplicabilityConfig - .Scope.PriceType - .METERED) - .build()) - .build()) - .setCategory( - com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Replace - .CreditGrant.Category.PAID) - .setExpiryConfig( + .PricingLine.Pricing.PriceDetails.QuantityChange + .EffectiveAt.builder() + .setTimestamp( + Instant.parse("1970-01-01T15:18:46.294Z")) + .setType( com.stripe.param.v2.billing - .ContractCreateParams.ContractLine - .Overrides.ServiceAction.Replace - .CreditGrant.ExpiryConfig.builder() - .setType( - com.stripe.param.v2.billing - .ContractCreateParams - .ContractLine.Overrides - .ServiceAction.Replace - .CreditGrant.ExpiryConfig.Type - .END_OF_SERVICE_PERIOD) - .build()) - .setName("name") - .setPriority(1165461084L) + .ContractCreateParams.PricingLine + .Pricing.PriceDetails.QuantityChange + .EffectiveAt.Type.TIMESTAMP) .build()) - .setId("obj_123") - .setLookupKey("lookup_key") - .setServiceInterval( - com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Replace - .ServiceInterval.MONTH) - .setServiceIntervalCount(1375336415L) - .setType( - com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Replace - .Type.CREDIT_GRANT) + .setSet(new BigDecimal("75841.33333333333")) .build()) - .setType( - com.stripe.param.v2.billing.ContractCreateParams - .ContractLine.Overrides.ServiceAction.Type.ADD) - .build()) - .setStartsAt( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine - .Overrides.StartsAt.builder() - .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) - .build()) - .setType( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine - .Overrides.Type.SERVICE_ACTION) - .build()) - .setPricing( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.Pricing - .builder() - .build()) - .setStartsAt( - com.stripe.param.v2.billing.ContractCreateParams.ContractLine.StartsAt - .builder() - .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) - .build()) - .build()) - .setContractNumber("contract_number") - .setCurrency("usd") - .addLicenseQuantityAction( - com.stripe.param.v2.billing.ContractCreateParams.LicenseQuantityAction.builder() - .setEffectiveAt( - com.stripe.param.v2.billing.ContractCreateParams.LicenseQuantityAction - .EffectiveAt.builder() - .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) - .setType( - com.stripe.param.v2.billing.ContractCreateParams - .LicenseQuantityAction.EffectiveAt.Type.TIMESTAMP) - .build()) - .setLicensePricingId("license_pricing_id") - .setLicensePricingLookupKey("license_pricing_lookup_key") - .setLicensePricingType( - com.stripe.param.v2.billing.ContractCreateParams.LicenseQuantityAction - .LicensePricingType.PRICE) - .setPricingLine("pricing_line") - .setSet( - com.stripe.param.v2.billing.ContractCreateParams.LicenseQuantityAction.Set - .builder() - .setQuantity(1285004149L) - .build()) - .setType( - com.stripe.param.v2.billing.ContractCreateParams.LicenseQuantityAction.Type - .SET) - .build()) - .addPricingLine( - com.stripe.param.v2.billing.ContractCreateParams.PricingLine.builder() - .setEndsAt( - com.stripe.param.v2.billing.ContractCreateParams.PricingLine.EndsAt - .builder() - .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) - .setType( - com.stripe.param.v2.billing.ContractCreateParams.PricingLine.EndsAt - .Type.CONTRACT_END) - .build()) - .setLookupKey("lookup_key") - .putMetadata("key", "metadata") - .setPricing( - com.stripe.param.v2.billing.ContractCreateParams.PricingLine.Pricing - .builder() - .setPriceDetails( - com.stripe.param.v2.billing.ContractCreateParams.PricingLine.Pricing - .PriceDetails.builder() - .setPrice("price") - .setQuantity(1285004149L) .build()) .setType( com.stripe.param.v2.billing.ContractCreateParams.PricingLine.Pricing @@ -25243,80 +25098,6 @@ public void testV2BillingContractPostServices() throws StripeException { .StartsAt.Type.CONTRACT_START) .build()) .build()) - .addPricingOverride( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride.builder() - .setEndsAt( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride.EndsAt - .builder() - .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) - .setType( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride - .EndsAt.Type.CONTRACT_END) - .build()) - .setLookupKey("lookup_key") - .setMultiplier( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride.Multiplier - .builder() - .addCriterion( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride - .Multiplier.Criterion.builder() - .addBillableItemId("billable_item_ids") - .addBillableItemLookupKey("billable_item_lookup_keys") - .addBillableItemType( - com.stripe.param.v2.billing.ContractCreateParams - .PricingOverride.Multiplier.Criterion.BillableItemType - .METERED) - .addMetadataCondition( - com.stripe.param.v2.billing.ContractCreateParams - .PricingOverride.Multiplier.Criterion.MetadataCondition - .builder() - .addAllOf( - com.stripe.param.v2.billing.ContractCreateParams - .PricingOverride.Multiplier.Criterion - .MetadataCondition.AllOf.builder() - .setKey("key") - .setValue("value") - .build()) - .build()) - .addRateCardId("rate_card_ids") - .setType( - com.stripe.param.v2.billing.ContractCreateParams - .PricingOverride.Multiplier.Criterion.Type.EXCLUDE) - .build()) - .setFactor("factor") - .build()) - .setOverwritePrice( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride - .OverwritePrice.builder() - .setPrice("price") - .setTieringMode( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride - .OverwritePrice.TieringMode.GRADUATED) - .addTier( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride - .OverwritePrice.Tier.builder() - .setFlatAmount("flat_amount") - .setUnitAmount("unit_amount") - .setUpToDecimal(new BigDecimal("1387931359.3333333")) - .setUpToInf( - com.stripe.param.v2.billing.ContractCreateParams - .PricingOverride.OverwritePrice.Tier.UpToInf.INF) - .build()) - .setUnitAmount("unit_amount") - .build()) - .setPriority(1165461084L) - .setStartsAt( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride.StartsAt - .builder() - .setTimestamp(Instant.parse("1970-01-01T15:18:46.294Z")) - .setType( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride - .StartsAt.Type.CONTRACT_START) - .build()) - .setType( - com.stripe.param.v2.billing.ContractCreateParams.PricingOverride.Type - .MULTIPLIER) - .build()) .build(); com.stripe.model.v2.billing.Contract contract = @@ -25330,6 +25111,29 @@ public void testV2BillingContractPostServices() throws StripeException { null); } + @Test + public void testV2BillingContractDeleteServices() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.DELETE, + "/v2/billing/contracts/id_123", + null, + null, + com.stripe.model.v2.DeletedObject.class, + "{\"id\":\"abc_123\",\"object\":\"some.object.tag\"}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.model.v2.DeletedObject deletedObject = + client.v2().billing().contracts().delete("id_123"); + assertNotNull(deletedObject); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.DELETE, + "/v2/billing/contracts/id_123", + null, + null); + } + @Test public void testV2BillingContractGet2Services() throws StripeException { stubRequest( @@ -25339,7 +25143,7 @@ public void testV2BillingContractGet2Services() throws StripeException { null, null, com.stripe.model.v2.billing.Contract.class, - "{\"object\":\"v2.billing.contract\",\"contract_line_details\":[{\"contract_line\":\"contract_line\",\"contract_line_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"service_action\"}],\"pricing\":{},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"contract_number\":\"contract_number\",\"contract_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"license_quantities\":[{\"license_pricing_id\":\"license_pricing_id\",\"license_pricing_type\":\"price\",\"pricing_line\":\"pricing_line\",\"quantity\":1285004149}],\"livemode\":true,\"pricing_lines\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing\":{\"type\":\"price\"},\"pricing_line\":\"pricing_line\",\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"pricing_overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing_override\":\"pricing_override\",\"priority\":1165461084,\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"multiplier\"}],\"status\":\"draft\",\"status_details\":{}}"); + "{\"object\":\"v2.billing.contract\",\"contract_number\":\"contract_number\",\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"status\":\"draft\",\"status_details\":{}}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.billing.ContractRetrieveParams params = @@ -25365,7 +25169,7 @@ public void testV2BillingContractPost2Services() throws StripeException { null, null, com.stripe.model.v2.billing.Contract.class, - "{\"object\":\"v2.billing.contract\",\"contract_line_details\":[{\"contract_line\":\"contract_line\",\"contract_line_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"service_action\"}],\"pricing\":{},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"contract_number\":\"contract_number\",\"contract_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"license_quantities\":[{\"license_pricing_id\":\"license_pricing_id\",\"license_pricing_type\":\"price\",\"pricing_line\":\"pricing_line\",\"quantity\":1285004149}],\"livemode\":true,\"pricing_lines\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing\":{\"type\":\"price\"},\"pricing_line\":\"pricing_line\",\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"pricing_overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing_override\":\"pricing_override\",\"priority\":1165461084,\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"multiplier\"}],\"status\":\"draft\",\"status_details\":{}}"); + "{\"object\":\"v2.billing.contract\",\"contract_number\":\"contract_number\",\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"status\":\"draft\",\"status_details\":{}}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.billing.ContractUpdateParams params = @@ -25391,7 +25195,7 @@ public void testV2BillingContractPost3Services() throws StripeException { null, null, com.stripe.model.v2.billing.Contract.class, - "{\"object\":\"v2.billing.contract\",\"contract_line_details\":[{\"contract_line\":\"contract_line\",\"contract_line_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"service_action\"}],\"pricing\":{},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"contract_number\":\"contract_number\",\"contract_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"license_quantities\":[{\"license_pricing_id\":\"license_pricing_id\",\"license_pricing_type\":\"price\",\"pricing_line\":\"pricing_line\",\"quantity\":1285004149}],\"livemode\":true,\"pricing_lines\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing\":{\"type\":\"price\"},\"pricing_line\":\"pricing_line\",\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"pricing_overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing_override\":\"pricing_override\",\"priority\":1165461084,\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"multiplier\"}],\"status\":\"draft\",\"status_details\":{}}"); + "{\"object\":\"v2.billing.contract\",\"contract_number\":\"contract_number\",\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"status\":\"draft\",\"status_details\":{}}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.billing.ContractActivateParams params = @@ -25417,7 +25221,7 @@ public void testV2BillingContractPost4Services() throws StripeException { null, null, com.stripe.model.v2.billing.Contract.class, - "{\"object\":\"v2.billing.contract\",\"contract_line_details\":[{\"contract_line\":\"contract_line\",\"contract_line_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"service_action\"}],\"pricing\":{},\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"contract_number\":\"contract_number\",\"contract_value_details\":{\"total\":\"total\"},\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"license_quantities\":[{\"license_pricing_id\":\"license_pricing_id\",\"license_pricing_type\":\"price\",\"pricing_line\":\"pricing_line\",\"quantity\":1285004149}],\"livemode\":true,\"pricing_lines\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing\":{\"type\":\"price\"},\"pricing_line\":\"pricing_line\",\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"}}],\"pricing_overrides\":[{\"ends_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"pricing_override\":\"pricing_override\",\"priority\":1165461084,\"starts_at\":{\"timestamp\":\"1970-01-01T15:18:46.294Z\"},\"type\":\"multiplier\"}],\"status\":\"draft\",\"status_details\":{}}"); + "{\"object\":\"v2.billing.contract\",\"contract_number\":\"contract_number\",\"created\":\"1970-01-12T21:42:34.472Z\",\"currency\":\"usd\",\"customer\":\"customer\",\"id\":\"obj_123\",\"livemode\":true,\"status\":\"draft\",\"status_details\":{}}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.billing.ContractCancelParams params = @@ -25435,41 +25239,42 @@ public void testV2BillingContractPost4Services() throws StripeException { } @Test - public void testV2BillingContractsLicensePricingQuantityChangeGetServices() - throws StripeException { + public void testV2BillingContractsPricingLinesQuantityChangeGetServices() throws StripeException { stubRequest( BaseAddress.API, ApiResource.RequestMethod.GET, - "/v2/billing/contracts/contract_id_123/license_pricing/license_pricing_id_123/quantity_changes", + "/v2/billing/contracts/contract_id_123/pricing_lines/pricing_line_id_123/quantity_changes", null, null, new TypeToken< com.stripe.model.v2.StripeCollection< - com.stripe.model.v2.billing.ContractLicensePricingQuantityChange>>() {}.getType(), - "{\"data\":[{\"object\":\"v2.billing.contract_license_pricing_quantity_change\",\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"license_pricing_id\":\"license_pricing_id\",\"license_pricing_type\":\"price\",\"livemode\":true,\"pricing_line\":\"pricing_line\",\"quantity\":1285004149}],\"next_page_url\":null,\"previous_page_url\":null}"); + com.stripe.model.v2.billing.ContractPricingLineQuantityChange>>() {}.getType(), + "{\"data\":[{\"object\":\"v2.billing.contract_pricing_line_quantity_change\",\"created\":\"1970-01-12T21:42:34.472Z\",\"effective_at\":\"1970-01-03T20:38:28.043Z\",\"id\":\"obj_123\",\"livemode\":true,\"pricing\":{\"type\":\"price\"},\"pricing_line\":\"pricing_line\",\"quantity\":\"856669432.6666666\"}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); - com.stripe.param.v2.billing.contracts.licensepricing.QuantityChangeListQuantityChangesParams + com.stripe.param.v2.billing.contracts.pricinglines + .QuantityChangeListContractPricingLineQuantityChangesParams params = - com.stripe.param.v2.billing.contracts.licensepricing - .QuantityChangeListQuantityChangesParams.builder() + com.stripe.param.v2.billing.contracts.pricinglines + .QuantityChangeListContractPricingLineQuantityChangesParams.builder() .build(); com.stripe.model.v2.StripeCollection< - com.stripe.model.v2.billing.ContractLicensePricingQuantityChange> + com.stripe.model.v2.billing.ContractPricingLineQuantityChange> stripeCollection = client .v2() .billing() .contracts() - .licensePricing() + .pricingLines() .quantityChanges() - .listQuantityChanges("contract_id_123", "license_pricing_id_123", params); + .listContractPricingLineQuantityChanges( + "contract_id_123", "pricing_line_id_123", params); assertNotNull(stripeCollection); verifyRequest( BaseAddress.API, ApiResource.RequestMethod.GET, - "/v2/billing/contracts/contract_id_123/license_pricing/license_pricing_id_123/quantity_changes", + "/v2/billing/contracts/contract_id_123/pricing_lines/pricing_line_id_123/quantity_changes", params.toMap(), null); } @@ -27931,7 +27736,7 @@ public void testV2CommerceProductCatalogImportGetServices() throws StripeExcepti new TypeToken< com.stripe.model.v2.StripeCollection< com.stripe.model.v2.commerce.ProductCatalogImport>>() {}.getType(), - "{\"data\":[{\"object\":\"v2.commerce.product_catalog_import\",\"created\":\"1970-01-12T21:42:34.472Z\",\"feed_type\":\"pricing\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"status\":\"awaiting_upload\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + "{\"data\":[{\"object\":\"v2.commerce.product_catalog_import\",\"created\":\"1970-01-12T21:42:34.472Z\",\"feed_type\":\"pricing\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"mode\":\"upsert\",\"status\":\"awaiting_upload\"}],\"next_page_url\":null,\"previous_page_url\":null}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.commerce.productcatalog.ImportListParams params = @@ -27957,7 +27762,7 @@ public void testV2CommerceProductCatalogImportPostServices() throws StripeExcept null, null, com.stripe.model.v2.commerce.ProductCatalogImport.class, - "{\"object\":\"v2.commerce.product_catalog_import\",\"created\":\"1970-01-12T21:42:34.472Z\",\"feed_type\":\"pricing\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"status\":\"awaiting_upload\"}"); + "{\"object\":\"v2.commerce.product_catalog_import\",\"created\":\"1970-01-12T21:42:34.472Z\",\"feed_type\":\"pricing\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"mode\":\"upsert\",\"status\":\"awaiting_upload\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.commerce.productcatalog.ImportCreateParams params = @@ -27988,7 +27793,7 @@ public void testV2CommerceProductCatalogImportGet2Services() throws StripeExcept null, null, com.stripe.model.v2.commerce.ProductCatalogImport.class, - "{\"object\":\"v2.commerce.product_catalog_import\",\"created\":\"1970-01-12T21:42:34.472Z\",\"feed_type\":\"pricing\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"status\":\"awaiting_upload\"}"); + "{\"object\":\"v2.commerce.product_catalog_import\",\"created\":\"1970-01-12T21:42:34.472Z\",\"feed_type\":\"pricing\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"mode\":\"upsert\",\"status\":\"awaiting_upload\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.commerce.ProductCatalogImport productCatalogImport = @@ -28362,7 +28167,7 @@ public void testV2CoreAccountLinkPostServices() throws StripeException { .build()) .addConfiguration( com.stripe.param.v2.core.AccountLinkCreateParams.UseCase - .AccountOnboarding.Configuration.STORER) + .AccountOnboarding.Configuration.MERCHANT) .setRefreshUrl("refresh_url") .setReturnUrl("return_url") .build()) @@ -28382,7 +28187,7 @@ public void testV2CoreAccountLinkPostServices() throws StripeException { .build()) .addConfiguration( com.stripe.param.v2.core.AccountLinkCreateParams.UseCase - .AccountUpdate.Configuration.STORER) + .AccountUpdate.Configuration.MERCHANT) .setRefreshUrl("refresh_url") .setReturnUrl("return_url") .build()) @@ -28626,7 +28431,7 @@ public void testV2CoreBatchJobPostServices() throws StripeException { null, null, com.stripe.model.v2.core.BatchJob.class, - "{\"object\":\"v2.core.batch_job\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"maximum_rps\":1686015830,\"metadata\":{\"key\":\"metadata\"},\"skip_validation\":true,\"status\":\"batch_failed\"}"); + "{\"object\":\"v2.core.batch_job\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"skip_validation\":true,\"status\":\"batch_failed\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.param.v2.core.BatchJobCreateParams params = @@ -28639,7 +28444,6 @@ public void testV2CoreBatchJobPostServices() throws StripeException { com.stripe.param.v2.core.BatchJobCreateParams.Endpoint.Path .V1_PRODUCT_CREATE) .build()) - .putMetadata("key", "metadata") .setSkipValidation(true) .build(); @@ -28662,7 +28466,7 @@ public void testV2CoreBatchJobGetServices() throws StripeException { null, null, com.stripe.model.v2.core.BatchJob.class, - "{\"object\":\"v2.core.batch_job\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"maximum_rps\":1686015830,\"metadata\":{\"key\":\"metadata\"},\"skip_validation\":true,\"status\":\"batch_failed\"}"); + "{\"object\":\"v2.core.batch_job\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"skip_validation\":true,\"status\":\"batch_failed\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.BatchJob batchJob = client.v2().core().batchJobs().retrieve("id_123"); @@ -28680,7 +28484,7 @@ public void testV2CoreBatchJobPost2Services() throws StripeException { null, null, com.stripe.model.v2.core.BatchJob.class, - "{\"object\":\"v2.core.batch_job\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"maximum_rps\":1686015830,\"metadata\":{\"key\":\"metadata\"},\"skip_validation\":true,\"status\":\"batch_failed\"}"); + "{\"object\":\"v2.core.batch_job\",\"created\":\"1970-01-12T21:42:34.472Z\",\"id\":\"obj_123\",\"livemode\":true,\"metadata\":{\"key\":\"metadata\"},\"skip_validation\":true,\"status\":\"batch_failed\"}"); StripeClient client = new StripeClient(networkSpy); com.stripe.model.v2.core.BatchJob batchJob = client.v2().core().batchJobs().cancel("id_123"); @@ -29173,6 +28977,85 @@ public void testV2CoreFeeEntryGet2Services() throws StripeException { BaseAddress.API, ApiResource.RequestMethod.GET, "/v2/core/fee_entries/id_123", null, null); } + @Test + public void testV2CoreHealthAlertGetServices() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/core/health/alerts", + null, + null, + new TypeToken< + com.stripe.model.v2.StripeCollection< + com.stripe.model.v2.core.health.Alert>>() {}.getType(), + "{\"data\":[{\"object\":\"v2.core.health.alert\",\"created\":\"1970-01-12T21:42:34.472Z\",\"documentation_links\":[{\"label\":\"label\",\"url\":\"url\"}],\"grouping_key\":\"grouping_key\",\"grouping_type\":\"incident\",\"id\":\"obj_123\",\"livemode\":true,\"severity\":\"non_critical\",\"started_at\":\"1970-01-19T03:34:50.959Z\",\"status\":\"open\",\"summary\":\"summary\",\"type\":\"api_error\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.param.v2.core.health.AlertListParams params = + com.stripe.param.v2.core.health.AlertListParams.builder().build(); + + com.stripe.model.v2.StripeCollection stripeCollection = + client.v2().core().health().alerts().list(params); + assertNotNull(stripeCollection); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/core/health/alerts", + params.toMap(), + null); + } + + @Test + public void testV2CoreHealthAlertGet2Services() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/core/health/alerts/id_123", + null, + null, + com.stripe.model.v2.core.health.Alert.class, + "{\"object\":\"v2.core.health.alert\",\"created\":\"1970-01-12T21:42:34.472Z\",\"documentation_links\":[{\"label\":\"label\",\"url\":\"url\"}],\"grouping_key\":\"grouping_key\",\"grouping_type\":\"incident\",\"id\":\"obj_123\",\"livemode\":true,\"severity\":\"non_critical\",\"started_at\":\"1970-01-19T03:34:50.959Z\",\"status\":\"open\",\"summary\":\"summary\",\"type\":\"api_error\"}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.model.v2.core.health.Alert alert = + client.v2().core().health().alerts().retrieve("id_123"); + assertNotNull(alert); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/core/health/alerts/id_123", + null, + null); + } + + @Test + public void testV2CoreHealthAlertsHistoryGetServices() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/core/health/alerts/id_123/history", + null, + null, + new TypeToken< + com.stripe.model.v2.StripeCollection< + com.stripe.model.v2.core.health.AlertHistoryEntry>>() {}.getType(), + "{\"data\":[{\"object\":\"v2.core.health.alert_history_entry\",\"at\":\"1970-01-01T00:00:03.123Z\",\"id\":\"obj_123\",\"livemode\":true,\"transition\":\"impact_updated\",\"type\":\"api_error\"}],\"next_page_url\":null,\"previous_page_url\":null}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.param.v2.core.health.alerts.HistoryListParams params = + com.stripe.param.v2.core.health.alerts.HistoryListParams.builder().build(); + + com.stripe.model.v2.StripeCollection + stripeCollection = client.v2().core().health().alerts().history().list("id_123", params); + assertNotNull(stripeCollection); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/core/health/alerts/id_123/history", + params.toMap(), + null); + } + @Test public void testV2CoreVaultGbBankAccountGetServices() throws StripeException { stubRequest( @@ -30560,6 +30443,41 @@ public void testV2MoneyManagementOutboundPaymentPostServices() throws StripeExce com.stripe.param.v2.moneymanagement.OutboundPaymentCreateParams.To.builder() .setCurrency("usd") .setPayoutMethod("payout_method") + .setPayoutMethodOptions( + com.stripe.param.v2.moneymanagement.OutboundPaymentCreateParams.To + .PayoutMethodOptions.builder() + .setBankAccount( + com.stripe.param.v2.moneymanagement.OutboundPaymentCreateParams.To + .PayoutMethodOptions.BankAccount.builder() + .setPreferredNetworkOptions( + com.stripe.param.v2.moneymanagement + .OutboundPaymentCreateParams.To.PayoutMethodOptions + .BankAccount.PreferredNetworkOptions.builder() + .setAch( + com.stripe.param.v2.moneymanagement + .OutboundPaymentCreateParams.To + .PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.builder() + .setSubmission( + com.stripe.param.v2.moneymanagement + .OutboundPaymentCreateParams.To + .PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.Submission + .NEXT_DAY) + .setTransactionPurpose( + com.stripe.param.v2.moneymanagement + .OutboundPaymentCreateParams.To + .PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach + .TransactionPurpose.PAYROLL) + .build()) + .build()) + .addPreferredNetwork( + com.stripe.param.v2.moneymanagement + .OutboundPaymentCreateParams.To.PayoutMethodOptions + .BankAccount.PreferredNetwork.SEPA_CREDIT) + .build()) + .build()) .setRecipient("recipient") .build()) .build(); @@ -30861,6 +30779,18 @@ public void testV2MoneyManagementOutboundTransferPostServices() throws StripeExc com.stripe.param.v2.moneymanagement.OutboundTransferCreateParams.To.builder() .setCurrency("usd") .setPayoutMethod("payout_method") + .setPayoutMethodOptions( + com.stripe.param.v2.moneymanagement.OutboundTransferCreateParams.To + .PayoutMethodOptions.builder() + .setBankAccount( + com.stripe.param.v2.moneymanagement.OutboundTransferCreateParams.To + .PayoutMethodOptions.BankAccount.builder() + .addPreferredNetwork( + com.stripe.param.v2.moneymanagement + .OutboundTransferCreateParams.To.PayoutMethodOptions + .BankAccount.PreferredNetwork.SEPA_CREDIT) + .build()) + .build()) .build()) .build(); @@ -30921,6 +30851,180 @@ public void testV2MoneyManagementOutboundTransferPost2Services() throws StripeEx null); } + @Test + public void testV2MoneyManagementPayoutIntentGetServices() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/money_management/payout_intents", + null, + null, + new TypeToken< + com.stripe.model.v2.StripeCollection< + com.stripe.model.v2.moneymanagement.PayoutIntent>>() {}.getType(), + "{\"data\":[{\"object\":\"v2.money_management.payout_intent\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"currency\":\"usd\",\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"latest_payout\":{\"type\":\"outbound_payment\"},\"livemode\":true,\"status\":\"canceled\",\"to\":{}}],\"next_page_url\":null,\"previous_page_url\":null}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.param.v2.moneymanagement.PayoutIntentListParams params = + com.stripe.param.v2.moneymanagement.PayoutIntentListParams.builder().build(); + + com.stripe.model.v2.StripeCollection + stripeCollection = client.v2().moneyManagement().payoutIntents().list(params); + assertNotNull(stripeCollection); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/money_management/payout_intents", + params.toMap(), + null); + } + + @Test + public void testV2MoneyManagementPayoutIntentPostServices() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/payout_intents", + null, + null, + com.stripe.model.v2.moneymanagement.PayoutIntent.class, + "{\"object\":\"v2.money_management.payout_intent\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"currency\":\"usd\",\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"latest_payout\":{\"type\":\"outbound_payment\"},\"livemode\":true,\"status\":\"canceled\",\"to\":{}}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams params = + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams.builder() + .setAmount(new com.stripe.v2.Amount(96, "USD")) + .setFrom( + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams.From.builder() + .setCurrency("usd") + .setFinancialAccount("financial_account") + .build()) + .setTo( + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams.To.builder() + .setCurrency("usd") + .setPayoutMethod("payout_method") + .setPayoutMethodOptions( + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams.To + .PayoutMethodOptions.builder() + .setBankAccount( + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams.To + .PayoutMethodOptions.BankAccount.builder() + .setPreferredNetworkOptions( + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams + .To.PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.builder() + .setAch( + com.stripe.param.v2.moneymanagement + .PayoutIntentCreateParams.To.PayoutMethodOptions + .BankAccount.PreferredNetworkOptions.Ach + .builder() + .setSubmission( + com.stripe.param.v2.moneymanagement + .PayoutIntentCreateParams.To + .PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach.Submission + .NEXT_DAY) + .setTransactionPurpose( + com.stripe.param.v2.moneymanagement + .PayoutIntentCreateParams.To + .PayoutMethodOptions.BankAccount + .PreferredNetworkOptions.Ach + .TransactionPurpose.PAYROLL) + .build()) + .build()) + .addPreferredNetwork( + com.stripe.param.v2.moneymanagement.PayoutIntentCreateParams + .To.PayoutMethodOptions.BankAccount.PreferredNetwork + .SEPA_CREDIT) + .build()) + .build()) + .setRecipient("recipient") + .build()) + .build(); + + com.stripe.model.v2.moneymanagement.PayoutIntent payoutIntent = + client.v2().moneyManagement().payoutIntents().create(params); + assertNotNull(payoutIntent); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/payout_intents", + params.toMap(), + null); + } + + @Test + public void testV2MoneyManagementPayoutIntentGet2Services() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/money_management/payout_intents/id_123", + null, + null, + com.stripe.model.v2.moneymanagement.PayoutIntent.class, + "{\"object\":\"v2.money_management.payout_intent\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"currency\":\"usd\",\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"latest_payout\":{\"type\":\"outbound_payment\"},\"livemode\":true,\"status\":\"canceled\",\"to\":{}}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.model.v2.moneymanagement.PayoutIntent payoutIntent = + client.v2().moneyManagement().payoutIntents().retrieve("id_123"); + assertNotNull(payoutIntent); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.GET, + "/v2/money_management/payout_intents/id_123", + null, + null); + } + + @Test + public void testV2MoneyManagementPayoutIntentPost2Services() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/payout_intents/id_123", + null, + null, + com.stripe.model.v2.moneymanagement.PayoutIntent.class, + "{\"object\":\"v2.money_management.payout_intent\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"currency\":\"usd\",\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"latest_payout\":{\"type\":\"outbound_payment\"},\"livemode\":true,\"status\":\"canceled\",\"to\":{}}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.param.v2.moneymanagement.PayoutIntentUpdateParams params = + com.stripe.param.v2.moneymanagement.PayoutIntentUpdateParams.builder().build(); + + com.stripe.model.v2.moneymanagement.PayoutIntent payoutIntent = + client.v2().moneyManagement().payoutIntents().update("id_123", params); + assertNotNull(payoutIntent); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/payout_intents/id_123", + params.toMap(), + null); + } + + @Test + public void testV2MoneyManagementPayoutIntentPost3Services() throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/payout_intents/id_123/cancel", + null, + null, + com.stripe.model.v2.moneymanagement.PayoutIntent.class, + "{\"object\":\"v2.money_management.payout_intent\",\"amount\":{\"currency\":\"USD\",\"value\":96},\"created\":\"1970-01-12T21:42:34.472Z\",\"from\":{\"currency\":\"usd\",\"financial_account\":\"financial_account\"},\"id\":\"obj_123\",\"latest_payout\":{\"type\":\"outbound_payment\"},\"livemode\":true,\"status\":\"canceled\",\"to\":{}}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.model.v2.moneymanagement.PayoutIntent payoutIntent = + client.v2().moneyManagement().payoutIntents().cancel("id_123"); + assertNotNull(payoutIntent); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/payout_intents/id_123/cancel", + null, + null); + } + @Test public void testV2MoneyManagementPayoutMethodGetServices() throws StripeException { stubRequest( @@ -31222,6 +31326,44 @@ public void testV2MoneyManagementRecipientVerificationPost2Services() throws Str null); } + @Test + public void testV2MoneyManagementTestHelpersFinancialAddressPostServices() + throws StripeException { + stubRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/test_helpers/financial_addresses/id_123/debit", + null, + null, + com.stripe.model.v2.moneymanagement.FinancialAddressDebitSimulation.class, + "{\"object\":\"v2.money_management.financial_address_debit_simulation\",\"livemode\":true,\"status\":\"status\"}"); + StripeClient client = new StripeClient(networkSpy); + + com.stripe.param.v2.moneymanagement.testhelpers.FinancialAddressDebitParams params = + com.stripe.param.v2.moneymanagement.testhelpers.FinancialAddressDebitParams.builder() + .setAmount(new com.stripe.v2.Amount(96, "USD")) + .setNetwork( + com.stripe.param.v2.moneymanagement.testhelpers.FinancialAddressDebitParams.Network + .ACH) + .build(); + + com.stripe.model.v2.moneymanagement.FinancialAddressDebitSimulation + financialAddressDebitSimulation = + client + .v2() + .moneyManagement() + .testHelpers() + .financialAddresses() + .debit("id_123", params); + assertNotNull(financialAddressDebitSimulation); + verifyRequest( + BaseAddress.API, + ApiResource.RequestMethod.POST, + "/v2/money_management/test_helpers/financial_addresses/id_123/debit", + params.toMap(), + null); + } + @Test public void testV2MoneyManagementTransactionGetServices() throws StripeException { stubRequest( @@ -32451,18 +32593,18 @@ public void testControlledByAlternateResourceErrorServices() throws StripeExcept stubRequestReturnError( BaseAddress.API, ApiResource.RequestMethod.POST, - "/v2/money_management/outbound_setup_intents", + "/v2/core/vault/us_bank_accounts/id_123/confirm_microdeposits", null, null, "{\"error\":{\"type\":\"controlled_by_alternate_resource\",\"code\":\"payout_method_cannot_be_archived\"}}", 400); StripeClient client = new StripeClient(networkSpy); - com.stripe.param.v2.moneymanagement.OutboundSetupIntentCreateParams params = - com.stripe.param.v2.moneymanagement.OutboundSetupIntentCreateParams.builder().build(); + com.stripe.param.v2.core.vault.UsBankAccountConfirmMicrodepositsParams params = + com.stripe.param.v2.core.vault.UsBankAccountConfirmMicrodepositsParams.builder().build(); try { - client.v2().moneyManagement().outboundSetupIntents().create(params); + client.v2().core().vault().usBankAccounts().confirmMicrodeposits("id_123", params); } catch (ControlledByAlternateResourceException e) { } @@ -32470,7 +32612,7 @@ public void testControlledByAlternateResourceErrorServices() throws StripeExcept verifyRequest( BaseAddress.API, ApiResource.RequestMethod.POST, - "/v2/money_management/outbound_setup_intents", + "/v2/core/vault/us_bank_accounts/id_123/confirm_microdeposits", params.toMap(), null); }