From 9b56e21553c1ee063ec261eb84483ad5f2d05a35 Mon Sep 17 00:00:00 2001 From: "stripe-openapi[bot]" <105521251+stripe-openapi[bot]@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:29:21 -0700 Subject: [PATCH] Update generated code (#1784) * Update generated code for v974 * Update generated code for v975 * Update generated code for v976 * Update generated code for v977 * Update generated code for v979 * Update generated code for v982 * Update generated code for v983 * Update generated code for v985 * Update generated code for v987 * Update generated code for v988 * Update generated code for v989 * Update generated code for v990 * Update generated code for v991 * Update generated code for v991 * Update generated code for v992 --------- Co-authored-by: Stripe OpenAPI <105521251+stripe-openapi[bot]@users.noreply.github.com> --- OPENAPI_VERSION | 2 +- src/main/java/com/stripe/model/Account.java | 224 +++++++++++------- src/main/java/com/stripe/model/Balance.java | 6 +- .../java/com/stripe/model/BankAccount.java | 14 +- .../java/com/stripe/model/Capability.java | 19 +- src/main/java/com/stripe/model/Card.java | 16 +- .../com/stripe/model/ConfirmationToken.java | 2 +- src/main/java/com/stripe/model/Event.java | 12 +- src/main/java/com/stripe/model/Invoice.java | 40 ++-- .../com/stripe/model/InvoiceLineItem.java | 5 +- src/main/java/com/stripe/model/LoginLink.java | 53 +++-- src/main/java/com/stripe/model/Mandate.java | 16 ++ .../java/com/stripe/model/PaymentIntent.java | 40 ++++ .../model/PaymentMethodConfiguration.java | 47 ++++ src/main/java/com/stripe/model/Person.java | 17 +- .../java/com/stripe/model/SetupAttempt.java | 16 ++ src/main/java/com/stripe/model/Token.java | 34 ++- .../com/stripe/model/WebhookEndpoint.java | 6 +- .../com/stripe/model/checkout/Session.java | 44 +++- .../model/entitlements/ActiveEntitlement.java | 35 ++- .../stripe/model/issuing/Authorization.java | 12 + .../com/stripe/param/AccountCreateParams.java | 140 ++++++----- .../com/stripe/param/AccountUpdateParams.java | 158 +++++++----- .../com/stripe/param/InvoiceCreateParams.java | 6 + .../param/InvoiceLineItemUpdateParams.java | 15 +- .../com/stripe/param/InvoiceUpdateParams.java | 6 + ...aymentMethodConfigurationCreateParams.java | 192 +++++++++++++++ .../PaymentMethodConfigurationListParams.java | 79 +++++- ...aymentMethodConfigurationUpdateParams.java | 192 +++++++++++++++ .../com/stripe/param/PriceCreateParams.java | 8 +- .../param/ProductFeatureCreateParams.java | 10 +- .../param/SubscriptionCreateParams.java | 6 + .../param/SubscriptionUpdateParams.java | 6 + .../VerificationSessionCreateParams.java | 201 ++-------------- .../VerificationSessionUpdateParams.java | 185 +-------------- .../AccountExternalAccountService.java | 36 ++- .../service/AccountLoginLinkService.java | 32 +-- .../com/stripe/service/AccountService.java | 120 ++++++---- .../java/com/stripe/service/EventService.java | 8 +- .../com/stripe/service/InvoiceService.java | 32 +-- .../java/com/stripe/service/TokenService.java | 20 +- 41 files changed, 1338 insertions(+), 774 deletions(-) diff --git a/OPENAPI_VERSION b/OPENAPI_VERSION index e0b27350867..6eb80deb21c 100644 --- a/OPENAPI_VERSION +++ b/OPENAPI_VERSION @@ -1 +1 @@ -v972 \ No newline at end of file +v992 \ No newline at end of file diff --git a/src/main/java/com/stripe/model/Account.java b/src/main/java/com/stripe/model/Account.java index 1e2cb9c6dc3..eb9dce8a3b5 100644 --- a/src/main/java/com/stripe/model/Account.java +++ b/src/main/java/com/stripe/model/Account.java @@ -29,12 +29,17 @@ * account like its current requirements or if the account is enabled to make live charges or * receive payouts. * - *
For Custom accounts, the properties below are always returned. For other accounts, some - * properties are returned until that account has started to go through Connect Onboarding. Once you - * create an Account Link or Account Session, some properties are only - * returned for Custom accounts. Learn about the differences between accounts. + *
For accounts where controller.requirement_collection + * is {@code application}, which includes Custom accounts, the properties below are always returned. + * + *
For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, some properties are only
+ * returned until you create an Account Link or
+ * Account Session to start Connect
+ * Onboarding. Learn about the differences between
+ * accounts.
*/
@Getter
@Setter
@@ -45,10 +50,11 @@ public class Account extends ApiResource implements MetadataStore One of {@code company}, {@code government_entity}, {@code individual}, or {@code
* non_profit}.
@@ -90,8 +96,8 @@ public class Account extends ApiResource implements MetadataStore A platform cannot access a Standard or Express account's persons after the account starts
- * onboarding, such as after generating an account link for the account. See the Standard onboarding or Express onboarding documentation
- * for information about platform prefilling and account onboarding steps.
+ * A platform cannot access a person for an account where account.controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, after creating an Account Link
+ * or Account Session to start Connect onboarding.
*
- * Related guide: Handling
- * identity verification with the API
+ * See the Standard onboarding or Express onboarding documentation for
+ * information about prefilling information and account onboarding steps. Learn more about handling
+ * identity verification with the API.
*/
@SerializedName("individual")
Person individual;
@@ -165,7 +172,10 @@ public class Account extends ApiResource implements MetadataStore Accounts created using test-mode keys can be deleted at any time. Standard accounts created
- * using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys
- * can only be deleted once all balances are zero.
+ * Test-mode accounts can be deleted at any time.
+ *
+ * Live-mode accounts where Stripe is responsible for negative account balances cannot be
+ * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
+ * negative account balances, which includes Custom and Express accounts, can be deleted when all
+ * balances are zero.
*
* If you want to delete your own account, use the account information tab in your account
@@ -316,11 +329,14 @@ public Account delete() throws StripeException {
}
/**
- * With Connect, you can delete accounts you manage.
+ * With Connect, you can delete accounts you manage.
+ *
+ * Test-mode accounts can be deleted at any time.
*
- * Accounts created using test-mode keys can be deleted at any time. Standard accounts created
- * using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys
- * can only be deleted once all balances are zero.
+ * Live-mode accounts where Stripe is responsible for negative account balances cannot be
+ * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
+ * negative account balances, which includes Custom and Express accounts, can be deleted when all
+ * balances are zero.
*
* If you want to delete your own account, use the account information tab in your account
@@ -331,11 +347,14 @@ public Account delete(RequestOptions options) throws StripeException {
}
/**
- * With Connect, you can delete accounts you manage.
+ * With Connect, you can delete accounts you manage.
+ *
+ * Test-mode accounts can be deleted at any time.
*
- * Accounts created using test-mode keys can be deleted at any time. Standard accounts created
- * using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys
- * can only be deleted once all balances are zero.
+ * Live-mode accounts where Stripe is responsible for negative account balances cannot be
+ * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
+ * negative account balances, which includes Custom and Express accounts, can be deleted when all
+ * balances are zero.
*
* If you want to delete your own account, use the account information tab in your account
@@ -346,11 +365,14 @@ public Account delete(Map Accounts created using test-mode keys can be deleted at any time. Standard accounts created
- * using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys
- * can only be deleted once all balances are zero.
+ * Test-mode accounts can be deleted at any time.
+ *
+ * Live-mode accounts where Stripe is responsible for negative account balances cannot be
+ * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
+ * negative account balances, which includes Custom and Express accounts, can be deleted when all
+ * balances are zero.
*
* If you want to delete your own account, use the account information tab in your account
@@ -473,22 +495,24 @@ public PersonCollection persons(AccountPersonsParams params, RequestOptions opti
}
/**
- * With Connect, you may flag accounts as
- * suspicious.
+ * With Connect, you can reject accounts that you have
+ * flagged as suspicious.
*
- * Test-mode Custom and Express accounts can be rejected at any time. Accounts created using
- * live-mode keys may only be rejected once all balances are zero.
+ * Only accounts where your platform is liable for negative account balances, which includes
+ * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
+ * Live-mode accounts can only be rejected after all balances are zero.
*/
public Account reject(Map Test-mode Custom and Express accounts can be rejected at any time. Accounts created using
- * live-mode keys may only be rejected once all balances are zero.
+ * Only accounts where your platform is liable for negative account balances, which includes
+ * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
+ * Live-mode accounts can only be rejected after all balances are zero.
*/
public Account reject(Map Test-mode Custom and Express accounts can be rejected at any time. Accounts created using
- * live-mode keys may only be rejected once all balances are zero.
+ * Only accounts where your platform is liable for negative account balances, which includes
+ * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
+ * Live-mode accounts can only be rejected after all balances are zero.
*/
public Account reject(AccountRejectParams params) throws StripeException {
return reject(params, (RequestOptions) null);
}
/**
- * With Connect, you may flag accounts as
- * suspicious.
+ * With Connect, you can reject accounts that you have
+ * flagged as suspicious.
*
- * Test-mode Custom and Express accounts can be rejected at any time. Accounts created using
- * live-mode keys may only be rejected once all balances are zero.
+ * Only accounts where your platform is liable for negative account balances, which includes
+ * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
+ * Live-mode accounts can only be rejected after all balances are zero.
*/
public Account reject(AccountRejectParams params, RequestOptions options) throws StripeException {
String path = String.format("/v1/accounts/%s/reject", ApiResource.urlEncodeId(this.getId()));
@@ -603,14 +629,20 @@ public static Account retrieve(AccountRetrieveParams params, RequestOptions opti
}
/**
- * Updates a connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our params) throws StripeException {
}
/**
- * Updates a connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our params, RequestOptions options) throws
}
/**
- * Updates a connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our fee behavior on
+ * connected accounts.
*
* One of {@code account}, {@code application}, {@code application_custom}, or {@code
* application_express}.
@@ -2205,10 +2257,10 @@ public static class Payments extends StripeObject {
public static class Payouts extends StripeObject {
/**
* A Boolean indicating if Stripe should try to reclaim negative balances from an attached
- * bank account. See our Understanding Connect Account
- * Balances documentation for details. Default value is {@code false} for Custom accounts,
- * otherwise {@code true}.
+ * bank account. See Understanding
+ * Connect account balances for details. The default value is {@code false} when controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, otherwise {@code true}.
*/
@SerializedName("debit_negative_balances")
Boolean debitNegativeBalances;
diff --git a/src/main/java/com/stripe/model/Balance.java b/src/main/java/com/stripe/model/Balance.java
index 7f4bbf7a542..f1d056f3533 100644
--- a/src/main/java/com/stripe/model/Balance.java
+++ b/src/main/java/com/stripe/model/Balance.java
@@ -45,8 +45,10 @@ public class Balance extends ApiResource {
List On the other hand External
- * Accounts are transfer destinations on {@code Account} objects for Custom accounts. They can be bank
- * accounts or debit cards as well, and are documented in the links above.
+ * On the other hand External Accounts are
+ * transfer destinations on {@code Account} objects for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts. They can be bank accounts
+ * or debit cards as well, and are documented in the links above.
*
- * Related guide: Bank debits
- * and transfers
+ * Related guide: Bank debits and
+ * transfers
*/
@Getter
@Setter
diff --git a/src/main/java/com/stripe/model/Capability.java b/src/main/java/com/stripe/model/Capability.java
index 79ed5b62d65..0efd8ecc523 100644
--- a/src/main/java/com/stripe/model/Capability.java
+++ b/src/main/java/com/stripe/model/Capability.java
@@ -333,18 +333,23 @@ public static class Requirements extends StripeObject {
/**
* If the capability is disabled, this string describes why. Can be {@code
- * requirements.past_due}, {@code requirements.pending_verification}, {@code listed}, {@code
- * platform_paused}, {@code rejected.fraud}, {@code rejected.listed}, {@code
- * rejected.terms_of_service}, {@code rejected.other}, {@code under_review}, or {@code other}.
+ * requirements.fields_needed}, {@code pending.onboarding}, {@code pending.review}, {@code
+ * rejected.fraud}, {@code rejected.other}, {@code platform_paused}, {@code
+ * action_required.requested_capabilities}, {@code rejected.inactivty}, or {@code
+ * rejected.unsupported_business}.
*
* {@code rejected.unsupported_business} means that the account's business is not supported
* by the capability. For example, payment methods may restrict the businesses they support in
- * their terms of service:
+ * their terms of service, such as in Afterpay Clearpay's
+ * terms of service.
*
- * - Afterpay
- * Clearpay's terms of service
+ * {@code rejected.inactivity} means that the capability has been paused for inactivity. This
+ * disabled reason currently only applies to the Issuing capability. See Issuing:
+ * Managing Inactive Connects for more details.
*
- * If you believe that the rejection is in error, please contact support at
+ * If you believe that a rejection is in error, please contact support at
* https://support.stripe.com/contact/ for assistance.
*/
@SerializedName("disabled_reason")
diff --git a/src/main/java/com/stripe/model/Card.java b/src/main/java/com/stripe/model/Card.java
index 748e835a287..570012472a9 100644
--- a/src/main/java/com/stripe/model/Card.java
+++ b/src/main/java/com/stripe/model/Card.java
@@ -31,7 +31,10 @@ public class Card extends ApiResource
implements MetadataStore When using Connect, you can also receive event
+ * When using Connect, you can also receive event
* notifications that occur in connected accounts. For these events, there's an additional {@code
* account} attribute in the received {@code Event} object.
*
@@ -208,7 +208,7 @@ public class Event extends ApiResource implements HasId {
/**
* List events, going back up to 30 days. Each event data is rendered according to Stripe API
* version at its creation time, specified in event object {@code api_version} attribute
+ * href="https://docs.stripe.com/api/events/object">event object {@code api_version} attribute
* (not according to your current Stripe API version or {@code Stripe-Version} header).
*/
public static EventCollection list(Map You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public static Invoice upcoming() throws StripeException {
return upcoming((Map You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public static Invoice upcoming(Map You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public static Invoice upcoming(Map You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public static Invoice upcoming(InvoiceUpcomingParams params) throws StripeException {
return upcoming(params, (RequestOptions) null);
@@ -1711,10 +1711,10 @@ public static Invoice upcoming(InvoiceUpcomingParams params) throws StripeExcept
*
* You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public static Invoice upcoming(InvoiceUpcomingParams params, RequestOptions options)
throws StripeException {
diff --git a/src/main/java/com/stripe/model/InvoiceLineItem.java b/src/main/java/com/stripe/model/InvoiceLineItem.java
index e4f1d7173ef..fec132b62d9 100644
--- a/src/main/java/com/stripe/model/InvoiceLineItem.java
+++ b/src/main/java/com/stripe/model/InvoiceLineItem.java
@@ -88,8 +88,9 @@ public class InvoiceLineItem extends ApiResource implements HasId, MetadataStore
/**
* 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. Note that for line items with {@code type=subscription} this will reflect
- * the metadata of the subscription that caused the line item to be created.
+ * structured format. Note that for line items with {@code type=subscription}, {@code metadata}
+ * reflects the current metadata from the subscription associated with the line item, unless the
+ * invoice line was directly updated with different metadata after creation.
*/
@Getter(onMethod_ = {@Override})
@SerializedName("metadata")
diff --git a/src/main/java/com/stripe/model/LoginLink.java b/src/main/java/com/stripe/model/LoginLink.java
index d1e362a7513..352dcbb36a8 100644
--- a/src/main/java/com/stripe/model/LoginLink.java
+++ b/src/main/java/com/stripe/model/LoginLink.java
@@ -16,7 +16,10 @@
import lombok.Setter;
/**
- * Login Links are single-use login link for an Express account to access their Stripe dashboard.
+ * Login Links are single-use URLs for a connected account to access the Express Dashboard. The
+ * connected account's account.controller.stripe_dashboard.type
+ * must be {@code express} to have access to the Express Dashboard.
*/
@Getter
@Setter
@@ -39,22 +42,22 @@ public class LoginLink extends ApiResource {
String url;
/**
- * Creates a single-use login link for an Express account to access their Stripe dashboard.
+ * Creates a single-use login link for a connected account to access the Express Dashboard.
*
- * You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public static LoginLink createOnAccount(String account) throws StripeException {
return createOnAccount(account, (Map You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public static LoginLink createOnAccount(String account, RequestOptions options)
throws StripeException {
@@ -62,11 +65,11 @@ public static LoginLink createOnAccount(String account, RequestOptions options)
}
/**
- * Creates a single-use login link for an Express account to access their Stripe dashboard.
+ * Creates a single-use login link for a connected account to access the Express Dashboard.
*
- * You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public static LoginLink createOnAccount(String account, Map You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public static LoginLink createOnAccount(
String account, Map You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public static LoginLink createOnAccount(String account, LoginLinkCreateOnAccountParams params)
throws StripeException {
@@ -102,11 +105,11 @@ public static LoginLink createOnAccount(String account, LoginLinkCreateOnAccount
}
/**
- * Creates a single-use login link for an Express account to access their Stripe dashboard.
+ * Creates a single-use login link for a connected account to access the Express Dashboard.
*
- * You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public static LoginLink createOnAccount(
String account, LoginLinkCreateOnAccountParams params, RequestOptions options)
diff --git a/src/main/java/com/stripe/model/Mandate.java b/src/main/java/com/stripe/model/Mandate.java
index 4149e5e62d3..b183a0c3915 100644
--- a/src/main/java/com/stripe/model/Mandate.java
+++ b/src/main/java/com/stripe/model/Mandate.java
@@ -192,6 +192,9 @@ public static class PaymentMethodDetails extends StripeObject {
@SerializedName("acss_debit")
AcssDebit acssDebit;
+ @SerializedName("amazon_pay")
+ AmazonPay amazonPay;
+
@SerializedName("au_becs_debit")
AuBecsDebit auBecsDebit;
@@ -210,6 +213,9 @@ public static class PaymentMethodDetails extends StripeObject {
@SerializedName("paypal")
Paypal paypal;
+ @SerializedName("revolut_pay")
+ RevolutPay revolutPay;
+
@SerializedName("sepa_debit")
SepaDebit sepaDebit;
@@ -256,6 +262,11 @@ public static class AcssDebit extends StripeObject {
String transactionType;
}
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class AmazonPay extends StripeObject {}
+
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
@@ -329,6 +340,11 @@ public static class Paypal extends StripeObject {
String payerId;
}
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class RevolutPay extends StripeObject {}
+
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
diff --git a/src/main/java/com/stripe/model/PaymentIntent.java b/src/main/java/com/stripe/model/PaymentIntent.java
index d8b7f65b010..3ea0311e2b0 100644
--- a/src/main/java/com/stripe/model/PaymentIntent.java
+++ b/src/main/java/com/stripe/model/PaymentIntent.java
@@ -2570,6 +2570,26 @@ public static class AmazonPay extends StripeObject {
*/
@SerializedName("capture_method")
String captureMethod;
+
+ /**
+ * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+ *
+ * Providing this parameter will attach the payment method
+ * to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any
+ * required actions from the user are complete. If no Customer was provided, the payment
+ * method can still be attached to a Customer after
+ * the transaction completes.
+ *
+ * When processing card payments, Stripe also uses {@code setup_future_usage} to
+ * dynamically optimize your payment flow and comply with regional legislation and network
+ * rules, such as SCA.
+ *
+ * One of {@code none}, or {@code off_session}.
+ */
+ @SerializedName("setup_future_usage")
+ String setupFutureUsage;
}
@Getter
@@ -3598,6 +3618,26 @@ public static class RevolutPay extends StripeObject {
*/
@SerializedName("capture_method")
String captureMethod;
+
+ /**
+ * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+ *
+ * Providing this parameter will attach the payment method
+ * to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any
+ * required actions from the user are complete. If no Customer was provided, the payment
+ * method can still be attached to a Customer after
+ * the transaction completes.
+ *
+ * When processing card payments, Stripe also uses {@code setup_future_usage} to
+ * dynamically optimize your payment flow and comply with regional legislation and network
+ * rules, such as SCA.
+ *
+ * One of {@code none}, or {@code off_session}.
+ */
+ @SerializedName("setup_future_usage")
+ String setupFutureUsage;
}
@Getter
diff --git a/src/main/java/com/stripe/model/PaymentMethodConfiguration.java b/src/main/java/com/stripe/model/PaymentMethodConfiguration.java
index bac951c0d22..238c8e176be 100644
--- a/src/main/java/com/stripe/model/PaymentMethodConfiguration.java
+++ b/src/main/java/com/stripe/model/PaymentMethodConfiguration.java
@@ -152,6 +152,9 @@ public class PaymentMethodConfiguration extends ApiResource implements HasId {
@SerializedName("livemode")
Boolean livemode;
+ @SerializedName("mobilepay")
+ Mobilepay mobilepay;
+
/** The configuration's name. */
@SerializedName("name")
String name;
@@ -1441,6 +1444,49 @@ public static class DisplayPreference extends StripeObject {
}
}
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class Mobilepay extends StripeObject {
+ /**
+ * Whether this payment method may be offered at checkout. True if {@code display_preference} is
+ * {@code on} and the payment method's capability is active.
+ */
+ @SerializedName("available")
+ Boolean available;
+
+ @SerializedName("display_preference")
+ DisplayPreference displayPreference;
+
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class DisplayPreference extends StripeObject {
+ /**
+ * For child configs, whether or not the account's preference will be observed. If {@code
+ * false}, the parent configuration's default is used.
+ */
+ @SerializedName("overridable")
+ Boolean overridable;
+
+ /**
+ * The account's display preference.
+ *
+ * One of {@code none}, {@code off}, or {@code on}.
+ */
+ @SerializedName("preference")
+ String preference;
+
+ /**
+ * The effective display preference value.
+ *
+ * One of {@code off}, or {@code on}.
+ */
+ @SerializedName("value")
+ String value;
+ }
+ }
+
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
@@ -1985,6 +2031,7 @@ public void setResponseGetter(StripeResponseGetter responseGetter) {
trySetResponseGetter(klarna, responseGetter);
trySetResponseGetter(konbini, responseGetter);
trySetResponseGetter(link, responseGetter);
+ trySetResponseGetter(mobilepay, responseGetter);
trySetResponseGetter(oxxo, responseGetter);
trySetResponseGetter(p24, responseGetter);
trySetResponseGetter(paynow, responseGetter);
diff --git a/src/main/java/com/stripe/model/Person.java b/src/main/java/com/stripe/model/Person.java
index bb27327fa45..5cab04c11b5 100644
--- a/src/main/java/com/stripe/model/Person.java
+++ b/src/main/java/com/stripe/model/Person.java
@@ -21,15 +21,16 @@
/**
* This is an object representing a person associated with a Stripe account.
*
- * A platform cannot access a Standard or Express account's persons after the account starts
- * onboarding, such as after generating an account link for the account. See the Standard onboarding or Express onboarding documentation for
- * information about platform prefilling and account onboarding steps.
+ * A platform cannot access a person for an account where account.controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, after creating an Account Link
+ * or Account Session to start Connect onboarding.
*
- * Related guide: Handling
- * identity verification with the API
+ * See the Standard onboarding or Express onboarding documentation for
+ * information about prefilling information and account onboarding steps. Learn more about handling identity
+ * verification with the API.
*/
@Getter
@Setter
diff --git a/src/main/java/com/stripe/model/SetupAttempt.java b/src/main/java/com/stripe/model/SetupAttempt.java
index d9a679854c6..0fc0a7a8f24 100644
--- a/src/main/java/com/stripe/model/SetupAttempt.java
+++ b/src/main/java/com/stripe/model/SetupAttempt.java
@@ -270,6 +270,9 @@ public static class PaymentMethodDetails extends StripeObject {
@SerializedName("acss_debit")
AcssDebit acssDebit;
+ @SerializedName("amazon_pay")
+ AmazonPay amazonPay;
+
@SerializedName("au_becs_debit")
AuBecsDebit auBecsDebit;
@@ -303,6 +306,9 @@ public static class PaymentMethodDetails extends StripeObject {
@SerializedName("paypal")
Paypal paypal;
+ @SerializedName("revolut_pay")
+ RevolutPay revolutPay;
+
@SerializedName("sepa_debit")
SepaDebit sepaDebit;
@@ -325,6 +331,11 @@ public static class PaymentMethodDetails extends StripeObject {
@EqualsAndHashCode(callSuper = false)
public static class AcssDebit extends StripeObject {}
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class AmazonPay extends StripeObject {}
+
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
@@ -793,6 +804,11 @@ public static class Link extends StripeObject {}
@EqualsAndHashCode(callSuper = false)
public static class Paypal extends StripeObject {}
+ @Getter
+ @Setter
+ @EqualsAndHashCode(callSuper = false)
+ public static class RevolutPay extends StripeObject {}
+
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
diff --git a/src/main/java/com/stripe/model/Token.java b/src/main/java/com/stripe/model/Token.java
index cecad6f2404..7f97e8638e7 100644
--- a/src/main/java/com/stripe/model/Token.java
+++ b/src/main/java/com/stripe/model/Token.java
@@ -33,7 +33,7 @@
*
* You can't store or use tokens more than once. To store card or bank account information for
* later use, create Customer objects or Custom accounts. External accounts. Radar, our integrated solution for automatic fraud
* protection, performs best with integrations that use client-side tokenization.
*/
@@ -44,13 +44,15 @@ public class Token extends ApiResource implements HasId {
/**
* These bank accounts are payment methods on {@code Customer} objects.
*
- * On the other hand External
- * Accounts are transfer destinations on {@code Account} objects for Custom accounts. They can be bank
+ * On the other hand External Accounts
+ * are transfer destinations on {@code Account} objects for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts. They can be bank
* accounts or debit cards as well, and are documented in the links above.
*
- * Related guide: Bank debits
- * and transfers
+ * Related guide: Bank debits and
+ * transfers
*/
@SerializedName("bank_account")
BankAccount bankAccount;
@@ -104,7 +106,10 @@ public class Token extends ApiResource implements HasId {
/**
* Creates a single-use token that represents a bank account’s details. You can use this token
* with any API method in place of a bank account dictionary. You can only use this token once. To
- * do so, attach it to a Custom account.
+ * do so, attach it to a connected account
+ * where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public static Token create(Map Most users configure webhooks from the
* dashboard, which provides a user interface for registering and testing your webhook
* endpoints.
*
- * Related guide: Setting up webhooks
+ * Related guide: Setting up webhooks
*/
@Getter
@Setter
@@ -91,7 +91,7 @@ public class WebhookEndpoint extends ApiResource implements HasId, MetadataStore
/**
* The endpoint's secret, used to generate webhook signatures. Only returned at
+ * href="https://docs.stripe.com/webhooks/signatures">webhook signatures. Only returned at
* creation.
*/
@SerializedName("secret")
diff --git a/src/main/java/com/stripe/model/checkout/Session.java b/src/main/java/com/stripe/model/checkout/Session.java
index 7702bf6d6d1..5e6d0563ed1 100644
--- a/src/main/java/com/stripe/model/checkout/Session.java
+++ b/src/main/java/com/stripe/model/checkout/Session.java
@@ -1630,7 +1630,27 @@ public static class Alipay extends StripeObject {
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
- public static class AmazonPay extends StripeObject {}
+ public static class AmazonPay extends StripeObject {
+ /**
+ * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+ *
+ * Providing this parameter will attach the payment method
+ * to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any
+ * required actions from the user are complete. If no Customer was provided, the payment
+ * method can still be attached to a Customer after
+ * the transaction completes.
+ *
+ * When processing card payments, Stripe also uses {@code setup_future_usage} to
+ * dynamically optimize your payment flow and comply with regional legislation and network
+ * rules, such as SCA.
+ *
+ * One of {@code none}, or {@code off_session}.
+ */
+ @SerializedName("setup_future_usage")
+ String setupFutureUsage;
+ }
@Getter
@Setter
@@ -2292,7 +2312,27 @@ public static class Pix extends StripeObject {
@Getter
@Setter
@EqualsAndHashCode(callSuper = false)
- public static class RevolutPay extends StripeObject {}
+ public static class RevolutPay extends StripeObject {
+ /**
+ * Indicates that you intend to make future payments with this PaymentIntent's payment method.
+ *
+ * Providing this parameter will attach the payment method
+ * to the PaymentIntent's Customer, if present, after the PaymentIntent is confirmed and any
+ * required actions from the user are complete. If no Customer was provided, the payment
+ * method can still be attached to a Customer after
+ * the transaction completes.
+ *
+ * When processing card payments, Stripe also uses {@code setup_future_usage} to
+ * dynamically optimize your payment flow and comply with regional legislation and network
+ * rules, such as SCA.
+ *
+ * One of {@code none}, or {@code off_session}.
+ */
+ @SerializedName("setup_future_usage")
+ String setupFutureUsage;
+ }
@Getter
@Setter
diff --git a/src/main/java/com/stripe/model/entitlements/ActiveEntitlement.java b/src/main/java/com/stripe/model/entitlements/ActiveEntitlement.java
index 720a5008042..f65ad2b80d8 100644
--- a/src/main/java/com/stripe/model/entitlements/ActiveEntitlement.java
+++ b/src/main/java/com/stripe/model/entitlements/ActiveEntitlement.java
@@ -3,6 +3,7 @@
import com.google.gson.annotations.SerializedName;
import com.stripe.exception.StripeException;
+import com.stripe.model.ExpandableField;
import com.stripe.model.HasId;
import com.stripe.net.ApiMode;
import com.stripe.net.ApiRequest;
@@ -10,6 +11,7 @@
import com.stripe.net.ApiResource;
import com.stripe.net.BaseAddress;
import com.stripe.net.RequestOptions;
+import com.stripe.net.StripeResponseGetter;
import com.stripe.param.entitlements.ActiveEntitlementListParams;
import com.stripe.param.entitlements.ActiveEntitlementRetrieveParams;
import java.util.Map;
@@ -22,9 +24,14 @@
@Setter
@EqualsAndHashCode(callSuper = false)
public class ActiveEntitlement extends ApiResource implements HasId {
- /** The feature that the customer is entitled to. */
+ /**
+ * The Feature that the customer is
+ * entitled to.
+ */
@SerializedName("feature")
- String feature;
+ @Getter(lombok.AccessLevel.NONE)
+ @Setter(lombok.AccessLevel.NONE)
+ ExpandableField Required when account.controller.stripe_dashboard.type
+ * is {@code none}, which includes Custom accounts.
*/
@SerializedName("capabilities")
Capabilities capabilities;
/**
* Information about the company or business. This field is available for any {@code
- * business_type}. Once you create an Account
- * Link or Account Session, this
- * property can only be updated for Custom accounts.
+ * business_type}. Once you create an Account
+ * Link or Account Session, this
+ * property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("company")
Company company;
@@ -81,7 +88,10 @@ public class AccountCreateParams extends ApiRequestParams {
/**
* The email address of the account holder. This is only to make the account easier to identify to
- * you. Stripe only emails Custom accounts with your consent.
+ * you. If controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, Stripe doesn't email the account
+ * without your consent.
*/
@SerializedName("email")
String email;
@@ -92,20 +102,22 @@ public class AccountCreateParams extends ApiRequestParams {
/**
* A card or bank account to attach to the account for receiving payouts (you won’t be able
- * to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
+ * href="https://stripe.com/connect/bank-debit-card-payouts">payouts (you won’t be able to use
+ * it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
* external_account} parameter for bank account creation. Required when account.controller.stripe_dashboard.type
+ * is {@code none}, which includes Custom accounts.
*/
public Builder setCapabilities(AccountCreateParams.Capabilities capabilities) {
this.capabilities = capabilities;
@@ -299,10 +320,11 @@ public Builder setCapabilities(AccountCreateParams.Capabilities capabilities) {
/**
* Information about the company or business. This field is available for any {@code
- * business_type}. Once you create an Account Link or Account Session, this property can
- * only be updated for Custom accounts.
+ * business_type}. Once you create an Account
+ * Link or Account Session, this
+ * property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Builder setCompany(AccountCreateParams.Company company) {
this.company = company;
@@ -348,7 +370,10 @@ public Builder setDocuments(AccountCreateParams.Documents documents) {
/**
* The email address of the account holder. This is only to make the account easier to identify
- * to you. Stripe only emails Custom accounts with your consent.
+ * to you. If controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, Stripe doesn't email the account
+ * without your consent.
*/
public Builder setEmail(String email) {
this.email = email;
@@ -383,21 +408,22 @@ public Builder addAllExpand(List Required when account.controller.stripe_dashboard.type
+ * is {@code none}, which includes Custom accounts.
*/
@SerializedName("capabilities")
Capabilities capabilities;
/**
* Information about the company or business. This field is available for any {@code
- * business_type}. Once you create an Account
- * Link or Account Session, this
- * property can only be updated for Custom accounts.
+ * business_type}. Once you create an Account
+ * Link or Account Session, this
+ * property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("company")
Company company;
@@ -65,7 +72,10 @@ public class AccountUpdateParams extends ApiRequestParams {
/**
* The email address of the account holder. This is only to make the account easier to identify to
- * you. Stripe only emails Custom accounts with your consent.
+ * you. If controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, Stripe doesn't email the account
+ * without your consent.
*/
@SerializedName("email")
Object email;
@@ -76,20 +86,22 @@ public class AccountUpdateParams extends ApiRequestParams {
/**
* A card or bank account to attach to the account for receiving payouts (you won’t be able
- * to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
+ * href="https://stripe.com/connect/bank-debit-card-payouts">payouts (you won’t be able to use
+ * it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
* external_account} parameter for bank account creation. Required when account.controller.stripe_dashboard.type
+ * is {@code none}, which includes Custom accounts.
*/
public Builder setCapabilities(AccountUpdateParams.Capabilities capabilities) {
this.capabilities = capabilities;
@@ -270,10 +291,11 @@ public Builder setCapabilities(AccountUpdateParams.Capabilities capabilities) {
/**
* Information about the company or business. This field is available for any {@code
- * business_type}. Once you create an Account Link or Account Session, this property can
- * only be updated for Custom accounts.
+ * business_type}. Once you create an Account
+ * Link or Account Session, this
+ * property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Builder setCompany(AccountUpdateParams.Company company) {
this.company = company;
@@ -308,7 +330,10 @@ public Builder setDocuments(AccountUpdateParams.Documents documents) {
/**
* The email address of the account holder. This is only to make the account easier to identify
- * to you. Stripe only emails Custom accounts with your consent.
+ * to you. If controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, Stripe doesn't email the account
+ * without your consent.
*/
public Builder setEmail(String email) {
this.email = email;
@@ -317,7 +342,10 @@ public Builder setEmail(String email) {
/**
* The email address of the account holder. This is only to make the account easier to identify
- * to you. Stripe only emails Custom accounts with your consent.
+ * to you. If controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, Stripe doesn't email the account
+ * without your consent.
*/
public Builder setEmail(EmptyParam email) {
this.email = email;
@@ -352,21 +380,22 @@ public Builder addAllExpand(List You can only update bank accounts when account.controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*
* You can re-enable a disabled bank account by performing an update call without providing any
* arguments or changes.
@@ -90,8 +95,13 @@ public ExternalAccount update(
}
/**
* Updates the metadata, account holder name, account holder type of a bank account belonging to a
- * Custom account, and optionally
- * sets it as the default for its currency. Other bank account details are not editable by design.
+ * connected account and optionally sets it as the default for its currency. Other bank account
+ * details are not editable by design.
+ *
+ * You can only update bank accounts when account.controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*
* You can re-enable a disabled bank account by performing an update call without providing any
* arguments or changes.
@@ -102,8 +112,13 @@ public ExternalAccount update(String account, String id, RequestOptions options)
}
/**
* Updates the metadata, account holder name, account holder type of a bank account belonging to a
- * Custom account, and optionally
- * sets it as the default for its currency. Other bank account details are not editable by design.
+ * connected account and optionally sets it as the default for its currency. Other bank account
+ * details are not editable by design.
+ *
+ * You can only update bank accounts when account.controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*
* You can re-enable a disabled bank account by performing an update call without providing any
* arguments or changes.
@@ -113,8 +128,13 @@ public ExternalAccount update(String account, String id) throws StripeException
}
/**
* Updates the metadata, account holder name, account holder type of a bank account belonging to a
- * Custom account, and optionally
- * sets it as the default for its currency. Other bank account details are not editable by design.
+ * connected account and optionally sets it as the default for its currency. Other bank account
+ * details are not editable by design.
+ *
+ * You can only update bank accounts when account.controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*
* You can re-enable a disabled bank account by performing an update call without providing any
* arguments or changes.
diff --git a/src/main/java/com/stripe/service/AccountLoginLinkService.java b/src/main/java/com/stripe/service/AccountLoginLinkService.java
index 9ce2f478e83..47f91d1a9c5 100644
--- a/src/main/java/com/stripe/service/AccountLoginLinkService.java
+++ b/src/main/java/com/stripe/service/AccountLoginLinkService.java
@@ -19,42 +19,42 @@ public AccountLoginLinkService(StripeResponseGetter responseGetter) {
}
/**
- * Creates a single-use login link for an Express account to access their Stripe dashboard.
+ * Creates a single-use login link for a connected account to access the Express Dashboard.
*
- * You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public LoginLink create(String account, AccountLoginLinkCreateParams params)
throws StripeException {
return create(account, params, (RequestOptions) null);
}
/**
- * Creates a single-use login link for an Express account to access their Stripe dashboard.
+ * Creates a single-use login link for a connected account to access the Express Dashboard.
*
- * You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public LoginLink create(String account, RequestOptions options) throws StripeException {
return create(account, (AccountLoginLinkCreateParams) null, options);
}
/**
- * Creates a single-use login link for an Express account to access their Stripe dashboard.
+ * Creates a single-use login link for a connected account to access the Express Dashboard.
*
- * You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public LoginLink create(String account) throws StripeException {
return create(account, (AccountLoginLinkCreateParams) null, (RequestOptions) null);
}
/**
- * Creates a single-use login link for an Express account to access their Stripe dashboard.
+ * Creates a single-use login link for a connected account to access the Express Dashboard.
*
- * You may only create login links for Express accounts connected to your
- * platform.
+ * You can only create login links for accounts that use the Express Dashboard and are connected to
+ * your platform.
*/
public LoginLink create(
String account, AccountLoginLinkCreateParams params, RequestOptions options)
diff --git a/src/main/java/com/stripe/service/AccountService.java b/src/main/java/com/stripe/service/AccountService.java
index 588f148642a..d9f59b62281 100644
--- a/src/main/java/com/stripe/service/AccountService.java
+++ b/src/main/java/com/stripe/service/AccountService.java
@@ -26,11 +26,14 @@ public AccountService(StripeResponseGetter responseGetter) {
}
/**
- * With Connect, you can delete accounts you manage.
+ * With Connect, you can delete accounts you manage.
*
- * Accounts created using test-mode keys can be deleted at any time. Standard accounts created
- * using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys
- * can only be deleted once all balances are zero.
+ * Test-mode accounts can be deleted at any time.
+ *
+ * Live-mode accounts where Stripe is responsible for negative account balances cannot be
+ * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
+ * negative account balances, which includes Custom and Express accounts, can be deleted when all
+ * balances are zero.
*
* If you want to delete your own account, use the account information tab in your account
@@ -40,11 +43,14 @@ public Account delete(String account) throws StripeException {
return delete(account, (RequestOptions) null);
}
/**
- * With Connect, you can delete accounts you manage.
+ * With Connect, you can delete accounts you manage.
+ *
+ * Test-mode accounts can be deleted at any time.
*
- * Accounts created using test-mode keys can be deleted at any time. Standard accounts created
- * using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys
- * can only be deleted once all balances are zero.
+ * Live-mode accounts where Stripe is responsible for negative account balances cannot be
+ * deleted, which includes Standard accounts. Live-mode accounts where your platform is liable for
+ * negative account balances, which includes Custom and Express accounts, can be deleted when all
+ * balances are zero.
*
* If you want to delete your own account, use the account information tab in your account
@@ -84,14 +90,20 @@ public Account retrieve(String account, AccountRetrieveParams params, RequestOpt
return this.request(request, Account.class);
}
/**
- * Updates a connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our connected account by setting
- * the values of the parameters passed. Any parameters not provided are left unchanged.
+ * Updates a connected account by setting the
+ * values of the parameters passed. Any parameters not provided are left unchanged.
+ *
+ * For accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts, you can update any information on the
+ * account.
*
- * For Custom accounts, you can update any information on the account. For other accounts, you
- * can update all information until that account has started to go through Connect Onboarding.
- * Once you create an Account Link or Account Session, some properties can
- * only be changed or updated for Custom accounts.
+ * For accounts where controller.requirement_collection
+ * is {@code stripe}, which includes Standard and Express accounts, you can update all information
+ * until you create an Account Link or Account Session to start Connect onboarding,
+ * after which some properties can no longer be updated.
*
* To update your own account, use the Dashboard. Refer to our Connect, you may flag accounts as
- * suspicious.
+ * With Connect, you can reject accounts that you have
+ * flagged as suspicious.
*
- * Test-mode Custom and Express accounts can be rejected at any time. Accounts created using
- * live-mode keys may only be rejected once all balances are zero.
+ * Only accounts where your platform is liable for negative account balances, which includes
+ * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
+ * Live-mode accounts can only be rejected after all balances are zero.
*/
public Account reject(String account, AccountRejectParams params) throws StripeException {
return reject(account, params, (RequestOptions) null);
}
/**
- * With Connect, you may flag accounts as
- * suspicious.
+ * With Connect, you can reject accounts that you have
+ * flagged as suspicious.
*
- * Test-mode Custom and Express accounts can be rejected at any time. Accounts created using
- * live-mode keys may only be rejected once all balances are zero.
+ * Only accounts where your platform is liable for negative account balances, which includes
+ * Custom and Express accounts, can be rejected. Test-mode accounts can be rejected at any time.
+ * Live-mode accounts can only be rejected after all balances are zero.
*/
public Account reject(String account, AccountRejectParams params, RequestOptions options)
throws StripeException {
diff --git a/src/main/java/com/stripe/service/EventService.java b/src/main/java/com/stripe/service/EventService.java
index 8a91e4ec0cb..c64a00c9c18 100644
--- a/src/main/java/com/stripe/service/EventService.java
+++ b/src/main/java/com/stripe/service/EventService.java
@@ -24,7 +24,7 @@ public EventService(StripeResponseGetter responseGetter) {
/**
* List events, going back up to 30 days. Each event data is rendered according to Stripe API
* version at its creation time, specified in event object {@code api_version} attribute
+ * href="https://docs.stripe.com/api/events/object">event object {@code api_version} attribute
* (not according to your current Stripe API version or {@code Stripe-Version} header).
*/
public StripeCollection You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public Invoice upcoming(InvoiceUpcomingParams params) throws StripeException {
return upcoming(params, (RequestOptions) null);
@@ -291,10 +291,10 @@ public Invoice upcoming(InvoiceUpcomingParams params) throws StripeException {
*
* You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public Invoice upcoming(RequestOptions options) throws StripeException {
return upcoming((InvoiceUpcomingParams) null, options);
@@ -312,10 +312,10 @@ public Invoice upcoming(RequestOptions options) throws StripeException {
*
* You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public Invoice upcoming() throws StripeException {
return upcoming((InvoiceUpcomingParams) null, (RequestOptions) null);
@@ -333,10 +333,10 @@ public Invoice upcoming() throws StripeException {
*
* You can preview the effects of updating a subscription, including a preview of what
* proration will take place. To ensure that the actual proration is calculated exactly the same
- * as the previewed proration, you should pass the {@code subscription_proration_date} parameter
- * when doing the actual subscription update. The recommended way to get only the prorations being
- * previewed is to consider only proration line items where {@code period[start]} is equal to the
- * {@code subscription_proration_date} value passed in the request.
+ * as the previewed proration, you should pass the {@code subscription_details.proration_date}
+ * parameter when doing the actual subscription update. The recommended way to get only the
+ * prorations being previewed is to consider only proration line items where {@code period[start]}
+ * is equal to the {@code subscription_details.proration_date} value passed in the request.
*/
public Invoice upcoming(InvoiceUpcomingParams params, RequestOptions options)
throws StripeException {
diff --git a/src/main/java/com/stripe/service/TokenService.java b/src/main/java/com/stripe/service/TokenService.java
index 9913bec3797..1d325d99d4f 100644
--- a/src/main/java/com/stripe/service/TokenService.java
+++ b/src/main/java/com/stripe/service/TokenService.java
@@ -48,7 +48,10 @@ public Token retrieve(String token, TokenRetrieveParams params, RequestOptions o
/**
* Creates a single-use token that represents a bank account’s details. You can use this token
* with any API method in place of a bank account dictionary. You can only use this token once. To
- * do so, attach it to a Custom account.
+ * do so, attach it to a connected account
+ * where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Token create(TokenCreateParams params) throws StripeException {
return create(params, (RequestOptions) null);
@@ -56,7 +59,10 @@ public Token create(TokenCreateParams params) throws StripeException {
/**
* Creates a single-use token that represents a bank account’s details. You can use this token
* with any API method in place of a bank account dictionary. You can only use this token once. To
- * do so, attach it to a Custom account.
+ * do so, attach it to a connected account
+ * where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Token create(RequestOptions options) throws StripeException {
return create((TokenCreateParams) null, options);
@@ -64,7 +70,10 @@ public Token create(RequestOptions options) throws StripeException {
/**
* Creates a single-use token that represents a bank account’s details. You can use this token
* with any API method in place of a bank account dictionary. You can only use this token once. To
- * do so, attach it to a Custom account.
+ * do so, attach it to a connected account
+ * where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Token create() throws StripeException {
return create((TokenCreateParams) null, (RequestOptions) null);
@@ -72,7 +81,10 @@ public Token create() throws StripeException {
/**
* Creates a single-use token that represents a bank account’s details. You can use this token
* with any API method in place of a bank account dictionary. You can only use this token once. To
- * do so, attach it to a Custom account.
+ * do so, attach it to a connected account
+ * where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Token create(TokenCreateParams params, RequestOptions options) throws StripeException {
String path = "/v1/tokens";
+ * href="https://stripe.com/api#account_create_bank_account">bank account creation.
*
* By default, providing an external account sets it as the new default external account for its
* currency, and deletes the old default if one exists. To add additional external accounts
* without replacing the existing default for the currency, use the bank account or card creation APIs. After you create
- * an Account Link or Account Session, this property can only
- * be updated for Custom accounts.
+ * href="https://stripe.com/api#account_create_bank_account">bank account or card creation APIs. After you create an
+ * Account Link or Account Session, this property can only be
+ * updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("external_account")
String externalAccount;
@@ -122,9 +134,11 @@ public class AccountCreateParams extends ApiRequestParams {
/**
* Information about the person represented by the account. This field is null unless {@code
* business_type} is set to {@code individual}. Once you create an Account Link or Account Session, this property can only
- * be updated for Custom accounts.
+ * href="https://stripe.com/api/account_links">Account Link or Account Session, this property can only be
+ * updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("individual")
Individual individual;
@@ -144,8 +158,10 @@ public class AccountCreateParams extends ApiRequestParams {
/**
* Details on the account's acceptance of the Stripe Services
- * Agreement This property can only be updated for Custom accounts.
+ * href="https://stripe.com/connect/updating-accounts#tos-acceptance">Stripe Services
+ * Agreement. This property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("tos_acceptance")
TosAcceptance tosAcceptance;
@@ -276,10 +292,11 @@ public Builder setBusinessProfile(AccountCreateParams.BusinessProfile businessPr
}
/**
- * The business type. Once you create an Account Link or Account Session, this property can
- * only be updated for Custom accounts.
+ * The business type. Once you create an Account
+ * Link or Account Session, this
+ * property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Builder setBusinessType(AccountCreateParams.BusinessType businessType) {
this.businessType = businessType;
@@ -288,9 +305,13 @@ public Builder setBusinessType(AccountCreateParams.BusinessType businessType) {
/**
* Each key of the dictionary represents a capability, and each capability maps to its settings
- * (e.g. whether it has been requested or not). Each capability will be inactive until you have
- * provided its specific requirements and Stripe has verified them. An account may have some of
- * its requested capabilities be active and some be inactive.
+ * (for example, whether it has been requested or not). Each capability is inactive until you
+ * have provided its specific requirements and Stripe has verified them. An account might have
+ * some of its requested capabilities be active and some be inactive.
+ *
+ *
+ * href="https://stripe.com/api#account_create_bank_account">bank account creation.
*
* By default, providing an external account sets it as the new default external account for its
* currency, and deletes the old default if one exists. To add additional external accounts
* without replacing the existing default for the currency, use the bank account or card creation APIs. After you
- * create an Account Link or Account Session, this property can
- * only be updated for Custom accounts.
+ * href="https://stripe.com/api#account_create_bank_account">bank account or card creation APIs. After you create an
+ * Account Link or Account Session, this property can only be
+ * updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Builder setExternalAccount(String externalAccount) {
this.externalAccount = externalAccount;
@@ -433,9 +459,11 @@ public Builder putAllExtraParam(Map
+ * href="https://stripe.com/api#account_create_bank_account">bank account creation.
*
* By default, providing an external account sets it as the new default external account for its
* currency, and deletes the old default if one exists. To add additional external accounts
* without replacing the existing default for the currency, use the bank account or card creation APIs. After you create
- * an Account Link or Account Session, this property can only
- * be updated for Custom accounts.
+ * href="https://stripe.com/api#account_create_bank_account">bank account or card creation APIs. After you create an
+ * Account Link or Account Session, this property can only be
+ * updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("external_account")
Object externalAccount;
@@ -106,9 +118,11 @@ public class AccountUpdateParams extends ApiRequestParams {
/**
* Information about the person represented by the account. This field is null unless {@code
* business_type} is set to {@code individual}. Once you create an Account Link or Account Session, this property can only
- * be updated for Custom accounts.
+ * href="https://stripe.com/api/account_links">Account Link or Account Session, this property can only be
+ * updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("individual")
Individual individual;
@@ -128,8 +142,10 @@ public class AccountUpdateParams extends ApiRequestParams {
/**
* Details on the account's acceptance of the Stripe Services
- * Agreement This property can only be updated for Custom accounts.
+ * href="https://stripe.com/connect/updating-accounts#tos-acceptance">Stripe Services
+ * Agreement. This property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
@SerializedName("tos_acceptance")
TosAcceptance tosAcceptance;
@@ -247,10 +263,11 @@ public Builder setBusinessProfile(AccountUpdateParams.BusinessProfile businessPr
}
/**
- * The business type. Once you create an Account Link or Account Session, this property can
- * only be updated for Custom accounts.
+ * The business type. Once you create an Account
+ * Link or Account Session, this
+ * property can only be updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Builder setBusinessType(AccountUpdateParams.BusinessType businessType) {
this.businessType = businessType;
@@ -259,9 +276,13 @@ public Builder setBusinessType(AccountUpdateParams.BusinessType businessType) {
/**
* Each key of the dictionary represents a capability, and each capability maps to its settings
- * (e.g. whether it has been requested or not). Each capability will be inactive until you have
- * provided its specific requirements and Stripe has verified them. An account may have some of
- * its requested capabilities be active and some be inactive.
+ * (for example, whether it has been requested or not). Each capability is inactive until you
+ * have provided its specific requirements and Stripe has verified them. An account might have
+ * some of its requested capabilities be active and some be inactive.
+ *
+ *
+ * href="https://stripe.com/api#account_create_bank_account">bank account creation.
*
* By default, providing an external account sets it as the new default external account for its
* currency, and deletes the old default if one exists. To add additional external accounts
* without replacing the existing default for the currency, use the bank account or card creation APIs. After you
- * create an Account Link or Account Session, this property can
- * only be updated for Custom accounts.
+ * href="https://stripe.com/api#account_create_bank_account">bank account or card creation APIs. After you create an
+ * Account Link or Account Session, this property can only be
+ * updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Builder setExternalAccount(String externalAccount) {
this.externalAccount = externalAccount;
@@ -375,21 +404,22 @@ public Builder setExternalAccount(String externalAccount) {
/**
* A card or bank account to attach to the account for receiving payouts (you won’t be able
- * to use it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
+ * href="https://stripe.com/connect/bank-debit-card-payouts">payouts (you won’t be able to
+ * use it for top-ups). You can provide either a token, like the ones returned by Stripe.js, or a dictionary, as documented in the {@code
* external_account} parameter for bank account creation.
- *
+ * href="https://stripe.com/api#account_create_bank_account">bank account creation.
*
* By default, providing an external account sets it as the new default external account for its
* currency, and deletes the old default if one exists. To add additional external accounts
* without replacing the existing default for the currency, use the bank account or card creation APIs. After you
- * create an Account Link or Account Session, this property can
- * only be updated for Custom accounts.
+ * href="https://stripe.com/api#account_create_bank_account">bank account or card creation APIs. After you create an
+ * Account Link or Account Session, this property can only be
+ * updated for accounts where controller.requirement_collection
+ * is {@code application}, which includes Custom accounts.
*/
public Builder setExternalAccount(EmptyParam externalAccount) {
this.externalAccount = externalAccount;
@@ -425,9 +455,11 @@ public Builder putAllExtraParam(Map