Class Account

All Implemented Interfaces:
HasId, MetadataStore<Account>, PaymentSource, StripeActiveObject, StripeObjectInterface

public class Account extends ApiResource implements MetadataStore<Account>, PaymentSource
For new integrations, we recommend using the Accounts v2 API, in place of /v1/accounts and /v1/customers to represent a user.

This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.

For accounts where controller.requirement_collection is application, which includes Custom accounts, the properties below are always returned.

For accounts where controller.requirement_collection is 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.

  • Constructor Details

    • Account

      public Account()
  • Method Details

    • capabilities

      public CapabilityCollection capabilities() throws StripeException
      Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
      Throws:
      StripeException
    • capabilities

      public CapabilityCollection capabilities(Map<String,Object> params) throws StripeException
      Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
      Throws:
      StripeException
    • capabilities

      public CapabilityCollection capabilities(Map<String,Object> params, RequestOptions options) throws StripeException
      Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
      Throws:
      StripeException
    • capabilities

      public CapabilityCollection capabilities(AccountCapabilitiesParams params) throws StripeException
      Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
      Throws:
      StripeException
    • capabilities

      public CapabilityCollection capabilities(AccountCapabilitiesParams params, RequestOptions options) throws StripeException
      Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
      Throws:
      StripeException
    • create

      public static Account create(Map<String,Object> params) throws StripeException
      With Connect, you can create Stripe accounts for your users. To do this, you’ll first need to register your platform.

      If you’ve already collected information for your connected accounts, you can prefill that information when creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. You can prefill any information on the account.

      Throws:
      StripeException
    • create

      public static Account create(Map<String,Object> params, RequestOptions options) throws StripeException
      With Connect, you can create Stripe accounts for your users. To do this, you’ll first need to register your platform.

      If you’ve already collected information for your connected accounts, you can prefill that information when creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. You can prefill any information on the account.

      Throws:
      StripeException
    • create

      public static Account create(AccountCreateParams params) throws StripeException
      With Connect, you can create Stripe accounts for your users. To do this, you’ll first need to register your platform.

      If you’ve already collected information for your connected accounts, you can prefill that information when creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. You can prefill any information on the account.

      Throws:
      StripeException
    • create

      public static Account create(AccountCreateParams params, RequestOptions options) throws StripeException
      With Connect, you can create Stripe accounts for your users. To do this, you’ll first need to register your platform.

      If you’ve already collected information for your connected accounts, you can prefill that information when creating the account. Connect Onboarding won’t ask for the prefilled information during account onboarding. You can prefill any information on the account.

      Throws:
      StripeException
    • delete

      public Account delete() throws StripeException
      With Connect, you can delete accounts you manage.

      Test-mode accounts can be deleted at any time.

      Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode 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 settings instead.

      Throws:
      StripeException
    • delete

      public Account delete(RequestOptions options) throws StripeException
      With Connect, you can delete accounts you manage.

      Test-mode accounts can be deleted at any time.

      Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode 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 settings instead.

      Throws:
      StripeException
    • delete

      public Account delete(Map<String,Object> params) throws StripeException
      With Connect, you can delete accounts you manage.

      Test-mode accounts can be deleted at any time.

      Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode 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 settings instead.

      Throws:
      StripeException
    • delete

      public Account delete(Map<String,Object> params, RequestOptions options) throws StripeException
      With Connect, you can delete accounts you manage.

      Test-mode accounts can be deleted at any time.

      Live-mode accounts that have access to the standard dashboard and Stripe is responsible for negative account balances cannot be deleted, which includes Standard accounts. All other Live-mode 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 settings instead.

      Throws:
      StripeException
    • list

      public static AccountCollection list(Map<String,Object> params) throws StripeException
      Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.
      Throws:
      StripeException
    • list

      public static AccountCollection list(Map<String,Object> params, RequestOptions options) throws StripeException
      Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.
      Throws:
      StripeException
    • list

      public static AccountCollection list(AccountListParams params) throws StripeException
      Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.
      Throws:
      StripeException
    • list

      public static AccountCollection list(AccountListParams params, RequestOptions options) throws StripeException
      Returns a list of accounts connected to your platform via Connect. If you’re not a platform, the list is empty.
      Throws:
      StripeException
    • persons

      public PersonCollection persons() throws StripeException
      Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
      Throws:
      StripeException
    • persons

      public PersonCollection persons(Map<String,Object> params) throws StripeException
      Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
      Throws:
      StripeException
    • persons

      public PersonCollection persons(Map<String,Object> params, RequestOptions options) throws StripeException
      Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
      Throws:
      StripeException
    • persons

      public PersonCollection persons(AccountPersonsParams params) throws StripeException
      Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
      Throws:
      StripeException
    • persons

      public PersonCollection persons(AccountPersonsParams params, RequestOptions options) throws StripeException
      Returns a list of people associated with the account’s legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
      Throws:
      StripeException
    • reject

      public Account reject(Map<String,Object> params) throws StripeException
      With Connect, you can reject accounts that you have flagged as suspicious.

      Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected.

      Throws:
      StripeException
    • reject

      public Account reject(Map<String,Object> params, RequestOptions options) throws StripeException
      With Connect, you can reject accounts that you have flagged as suspicious.

      Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected.

      Throws:
      StripeException
    • reject

      public Account reject(AccountRejectParams params) throws StripeException
      With Connect, you can reject accounts that you have flagged as suspicious.

      Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected.

      Throws:
      StripeException
    • reject

      public Account reject(AccountRejectParams params, RequestOptions options) throws StripeException
      With Connect, you can reject accounts that you have flagged as suspicious.

      Only accounts where your platform is liable for negative account balances, which includes Custom and Express accounts, can be rejected.

      Throws:
      StripeException
    • retrieve

      public static Account retrieve(String account) throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • retrieve

      public static Account retrieve(String account, RequestOptions options) throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • retrieve

      public static Account retrieve(String account, Map<String,Object> params, RequestOptions options) throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • retrieve

      public static Account retrieve(String account, AccountRetrieveParams params, RequestOptions options) throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • retrieve

      public static Account retrieve() throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • retrieve

      public static Account retrieve(RequestOptions options) throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • retrieve

      public static Account retrieve(Map<String,Object> params, RequestOptions options) throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • retrieve

      public static Account retrieve(AccountRetrieveParams params, RequestOptions options) throws StripeException
      Retrieves the details of an account.
      Throws:
      StripeException
    • unreject

      public Account unreject() throws StripeException
      With Connect, you can unreject accounts that you have previously rejected.

      Only accounts that were rejected by your platform can be unrejected. This API cannot be used to unreject accounts that were rejected by Stripe.

      Unreject will only enable charges and/or payouts if there are no other restrictions other than those placed by a previous rejection. If you have separately paused charges and/or payouts outside of rejection, those pauses will remain in place after unrejection.

      Throws:
      StripeException
    • unreject

      public Account unreject(RequestOptions options) throws StripeException
      With Connect, you can unreject accounts that you have previously rejected.

      Only accounts that were rejected by your platform can be unrejected. This API cannot be used to unreject accounts that were rejected by Stripe.

      Unreject will only enable charges and/or payouts if there are no other restrictions other than those placed by a previous rejection. If you have separately paused charges and/or payouts outside of rejection, those pauses will remain in place after unrejection.

      Throws:
      StripeException
    • unreject

      public Account unreject(Map<String,Object> params) throws StripeException
      With Connect, you can unreject accounts that you have previously rejected.

      Only accounts that were rejected by your platform can be unrejected. This API cannot be used to unreject accounts that were rejected by Stripe.

      Unreject will only enable charges and/or payouts if there are no other restrictions other than those placed by a previous rejection. If you have separately paused charges and/or payouts outside of rejection, those pauses will remain in place after unrejection.

      Throws:
      StripeException
    • unreject

      public Account unreject(Map<String,Object> params, RequestOptions options) throws StripeException
      With Connect, you can unreject accounts that you have previously rejected.

      Only accounts that were rejected by your platform can be unrejected. This API cannot be used to unreject accounts that were rejected by Stripe.

      Unreject will only enable charges and/or payouts if there are no other restrictions other than those placed by a previous rejection. If you have separately paused charges and/or payouts outside of rejection, those pauses will remain in place after unrejection.

      Throws:
      StripeException
    • unreject

      public Account unreject(AccountUnrejectParams params) throws StripeException
      With Connect, you can unreject accounts that you have previously rejected.

      Only accounts that were rejected by your platform can be unrejected. This API cannot be used to unreject accounts that were rejected by Stripe.

      Unreject will only enable charges and/or payouts if there are no other restrictions other than those placed by a previous rejection. If you have separately paused charges and/or payouts outside of rejection, those pauses will remain in place after unrejection.

      Throws:
      StripeException
    • unreject

      public Account unreject(AccountUnrejectParams params, RequestOptions options) throws StripeException
      With Connect, you can unreject accounts that you have previously rejected.

      Only accounts that were rejected by your platform can be unrejected. This API cannot be used to unreject accounts that were rejected by Stripe.

      Unreject will only enable charges and/or payouts if there are no other restrictions other than those placed by a previous rejection. If you have separately paused charges and/or payouts outside of rejection, those pauses will remain in place after unrejection.

      Throws:
      StripeException
    • update

      public Account update(Map<String,Object> params) throws StripeException
      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 application, which includes Custom accounts, you can update any information on the account.

      For accounts where controller.requirement_collection is 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 documentation to learn more about updating accounts.

      Specified by:
      update in interface MetadataStore<Account>
      Throws:
      StripeException
    • update

      public Account update(Map<String,Object> params, RequestOptions options) throws StripeException
      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 application, which includes Custom accounts, you can update any information on the account.

      For accounts where controller.requirement_collection is 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 documentation to learn more about updating accounts.

      Specified by:
      update in interface MetadataStore<Account>
      Throws:
      StripeException
    • update

      public Account update(AccountUpdateParams params) throws StripeException
      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 application, which includes Custom accounts, you can update any information on the account.

      For accounts where controller.requirement_collection is 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 documentation to learn more about updating accounts.

      Throws:
      StripeException
    • update

      public Account update(AccountUpdateParams params, RequestOptions options) throws StripeException
      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 application, which includes Custom accounts, you can update any information on the account.

      For accounts where controller.requirement_collection is 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 documentation to learn more about updating accounts.

      Throws:
      StripeException
    • setResponseGetter

      public void setResponseGetter(StripeResponseGetter responseGetter)
      Description copied from interface: StripeActiveObject
      Method is used by the containing object or StripeResponseGetter implementations to set the StripeResponseGetter instance used to make further requests.
      Specified by:
      setResponseGetter in interface StripeActiveObject
      Overrides:
      setResponseGetter in class ApiResource
      Parameters:
      responseGetter - the StripeResponseGetter instance to use for making further requests.
    • getBusinessProfile

      public Account.BusinessProfile getBusinessProfile()
      Business information about the account.
    • getBusinessType

      public String getBusinessType()
      The business type.

      One of company, government_entity, individual, or non_profit.

    • getCapabilities

      public Account.Capabilities getCapabilities()
    • getChargesEnabled

      public Boolean getChargesEnabled()
      Whether the account can process charges.
    • getCompany

      public Account.Company getCompany()
    • getController

      public Account.Controller getController()
    • getCountry

      public String getCountry()
      The account's country.
    • getCreated

      public Long getCreated()
      Time at which the account was connected. Measured in seconds since the Unix epoch.
    • getDefaultCurrency

      public String getDefaultCurrency()
      Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country.
    • getDeleted

      public Boolean getDeleted()
      Always true for a deleted object.
    • getDetailsSubmitted

      public Boolean getDetailsSubmitted()
      Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to an onboarding flow to finish submitting account details.
    • getEmail

      public String getEmail()
      An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform.
    • getExternalAccounts

      public ExternalAccountCollection getExternalAccounts()
      External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where controller[is_controller] is true.
    • getFutureRequirements

      public Account.FutureRequirements getFutureRequirements()
    • getGroups

      public Account.Groups getGroups()
      The groups associated with the account.
    • getIndividual

      public Person getIndividual()
      This is an object representing a person associated with a Stripe account.

      A platform can only access a subset of data in a person for an account where account.controller.requirement_collection is stripe, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.

      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.

    • getObject

      public String getObject()
      String representing the object's type. Objects of the same type share the same value.

      Equal to account.

    • getPayoutsEnabled

      public Boolean getPayoutsEnabled()
      Whether the funds in this account can be paid out.
    • getRequirements

      public Account.Requirements getRequirements()
    • getSettings

      public Account.Settings getSettings()
      Options for customizing how the account functions within Stripe.
    • getTosAcceptance

      public Account.TosAcceptance getTosAcceptance()
    • getType

      public String getType()
      The Stripe account type. Can be standard, express, custom, or none.
    • setBusinessProfile

      public void setBusinessProfile(Account.BusinessProfile businessProfile)
      Business information about the account.
    • setBusinessType

      public void setBusinessType(String businessType)
      The business type.

      One of company, government_entity, individual, or non_profit.

    • setCapabilities

      public void setCapabilities(Account.Capabilities capabilities)
    • setChargesEnabled

      public void setChargesEnabled(Boolean chargesEnabled)
      Whether the account can process charges.
    • setCompany

      public void setCompany(Account.Company company)
    • setController

      public void setController(Account.Controller controller)
    • setCountry

      public void setCountry(String country)
      The account's country.
    • setCreated

      public void setCreated(Long created)
      Time at which the account was connected. Measured in seconds since the Unix epoch.
    • setDefaultCurrency

      public void setDefaultCurrency(String defaultCurrency)
      Three-letter ISO currency code representing the default currency for the account. This must be a currency that Stripe supports in the account's country.
    • setDeleted

      public void setDeleted(Boolean deleted)
      Always true for a deleted object.
    • setDetailsSubmitted

      public void setDetailsSubmitted(Boolean detailsSubmitted)
      Whether account details have been submitted. Accounts with Stripe Dashboard access, which includes Standard accounts, cannot receive payouts before this is true. Accounts where this is false should be directed to an onboarding flow to finish submitting account details.
    • setEmail

      public void setEmail(String email)
      An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform.
    • setExternalAccounts

      public void setExternalAccounts(ExternalAccountCollection externalAccounts)
      External accounts (bank accounts and debit cards) currently attached to this account. External accounts are only returned for requests where controller[is_controller] is true.
    • setFutureRequirements

      public void setFutureRequirements(Account.FutureRequirements futureRequirements)
    • setGroups

      public void setGroups(Account.Groups groups)
      The groups associated with the account.
    • setId

      public void setId(String id)
      Unique identifier for the object.
    • setIndividual

      public void setIndividual(Person individual)
      This is an object representing a person associated with a Stripe account.

      A platform can only access a subset of data in a person for an account where account.controller.requirement_collection is stripe, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.

      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.

    • setMetadata

      public void setMetadata(Map<String,String> metadata)
      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.
    • setObject

      public void setObject(String object)
      String representing the object's type. Objects of the same type share the same value.

      Equal to account.

    • setPayoutsEnabled

      public void setPayoutsEnabled(Boolean payoutsEnabled)
      Whether the funds in this account can be paid out.
    • setRequirements

      public void setRequirements(Account.Requirements requirements)
    • setSettings

      public void setSettings(Account.Settings settings)
      Options for customizing how the account functions within Stripe.
    • setTosAcceptance

      public void setTosAcceptance(Account.TosAcceptance tosAcceptance)
    • setType

      public void setType(String type)
      The Stripe account type. Can be standard, express, custom, or none.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • canEqual

      protected boolean canEqual(Object other)
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getId

      public String getId()
      Unique identifier for the object.
      Specified by:
      getId in interface HasId
    • getMetadata

      public Map<String,String> getMetadata()
      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.
      Specified by:
      getMetadata in interface MetadataStore<Account>