Sign in
An image of the Stripe logo
Create account
Sign in
Home
Payments
Business operations
Financial services
Developer tools
No-code
All products
Home
Payments
Business operations
Home
Payments
Business operations
Financial services
Developer tools
Support
Overview
Online payments
Products and prices
Invoicing
Subscriptions
Quotes
In-person payments
Multiparty payments
    Overview
    Get started
    Collect payments then pay out
    Enable other businesses to accept payments directly
    Pay out money
    Explore Connect
    Onboard your accounts
    Choose your account type
    Standard
    Express
    Custom
    Service agreement types
    Payment methods
    Account capabilities
      Country availability
    Additional verifications
    Update verified info
    Connect embedded UIs
    Quickstart
    Get started with Connect embedded UIs
    Accept payments
    Create a charge
    Create a payments page
    Create payment links with Connect
    Connect integration guide
    Automatic payment methods
    Set statement descriptors
    Connect platforms using the Payment Methods API
    Create subscriptions
    Create invoices
    Debit Express and Custom connected accounts
    Pay out
    Set bank and debit card payouts
    Bank accounts
    Manage payout schedule
    Manual payouts
    Payout reversals
    Instant Payouts
    Cross-border payouts
    Crypto payouts
    Manage funds
    Add money to your platform balance
    Account balance
    Handle multiple currencies
    Manage accounts
    Best practices
    Listen for updates
    Dashboard account management
    Understanding risk offerings
    Platform controls for Standard accounts
    Make API calls for connected accounts
    Set MCCs
    Testing
    Manage tax forms
    Overview
    Get started with tax reporting
    1099 Tax Support and Communication Guide
    Tax form settings
    Calculation methods
    File tax forms
    File tax forms with states
    Identify forms with missing information
    Update tax forms
    Deliver tax forms
    E-delivery for 1099 tax forms
    Correct tax forms
    Split tax forms
    Tax year changeover
    What's new for tax year 2022
After the payment
Add payment methods
Payment Links
Stripe Checkout
Stripe Elements
About the APIs
Regulation support
Implementation guides
Testing
Connect
·
HomePaymentsMultiparty payments

Account capabilities

Learn about capabilities you can enable for accounts and the requirements you must satisfy to use them.

The capabilities you request for a connected account determine the information you need to collect for that account. To reduce onboarding effort, only request the capabilities you need. The more capabilities you request, the more information you must collect.

You can start by completing the platform profile to understand which capabilities might be appropriate for your platform.

Supported capabilities

The following is a list of available capabilities. Click on the items to get more information about them:

Transfers

Card payments

US tax reporting

Payment methods

India international payments

Multiple capabilities

Requesting multiple capabilities for a connected account is common but consider the following if you do this:

  • Capabilities operate independently of each other.
  • If a connected account is set with both card_payments and transfers, then both capabilities become disabled if the status of either one is inactive.
  • You can request or unrequest any capability for a connected account at any time during the account’s lifecycle.

Capabilities also allow you to collect information for multiple purposes at the same time, so users are not asked to submit the same information more than once. An example would be collecting both required tax information and the information required for a requested capability. If you’re onboarding a user with the transfers capability and they’re required to file an IRS FORM 1099-MISC (a US federal tax reporting form), you could collect information for both at the same time.

Create an account with capabilities

Capabilities are set on the Account object. To find the list of available capabilities, use the list_capabilities endpoint.

Account creation differs by account type. For more details on this, see Standard accounts, Express accounts, and Custom accounts.

Command Line
curl https://api.stripe.com/v1/accounts \ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d type=custom \ -d country=US \ -d "capabilities[card_payments][requested]"=true \ -d "capabilities[transfers][requested]"=true

Information requirements vary depending on the capability, but they often relate to identity verification or other information specific to a payment type.

When your connected account is successfully created, you can view what its requirements are:

Command Line
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
\ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
:

In the response, check the requirements hash to see what information is needed. The values for payouts_enabled and charges_enabled indicate whether payouts and charges can be made for the account.

More about capabilities

The basics of account creation are covered above. However, there can be instances where you’ll want to preview information requirements or manage capabilities on existing accounts. The following sections describe how to perform these actions using the Capabilities API.

Preview information requirements

You can preview what information is needed from your user for a particular capability either before or after that capability has been requested.

When you request capabilities, account.updated webhooks fire and the account’s requirements might change. If you preview the requirements first, collect what’s required for the account, and then request the capability, you can assist in enabling charges and payouts for the account more quickly. You also avoid the possibility of the account getting disabled since the information was already collected in advance.

Below is an example that lists the requirements for the card_payments capability for a specific account.

Command Line
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
/capabilities/card_payments
\ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
:

In the response, check the requirements hash to see what information is needed:

{ "id": "card_payments", "object": "capability", "account": "{{CONNECTED_STRIPE_ACCOUNT_ID}}", "requested": false, "requested_at": null, "requirements": { "past_due": [], "currently_due": ["company.tax_id", ...], "eventually_due": [...], "disabled_reason": ..., "current_deadline": ..., }, "status": "unrequested" }

The value for status identifies whether the capability has been requested. When it is requested, requirements are activated for the account.

While these steps demonstrate how to preview a capability’s requirements before requesting it, you can use the same endpoint to view what the current requirements are for a capability. This can help you stay informed of what a capability’s requirements are and also of any requirement changes.

Request and unrequest capabilities Express accounts Custom accounts

After account creation, you can request additional capabilities. Do this by setting requested to true, specifying which capability you want, and which connected account it’s for. If the capability request is successful, the API returns requested: true in the response.

If you prefer, you can request and unrequest an account’s capabilities from the Dashboard instead of using the API.

The example below requests the transfers capability for a specific connected account:

Command Line
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
/capabilities/transfers
\ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d requested=true

The example below requests multiple capabilities for a specific connected account at once:

Command Line
curl https://api.stripe.com/v1/accounts/
{{CONNECTED_ACCOUNT_ID}}
\ -u
sk_test_4eC39HqLyjWDarjtT1zdp7dc
: \ -d "capabilities[bancontact_payments][requested]"=true \ -d "capabilities[eps_payments][requested]"=true \ -d "capabilities[giropay_payments][requested]"=true \ -d "capabilities[ideal_payments][requested]"=true \ -d "capabilities[p24_payments][requested]"=true \ -d "capabilities[sofort_payments][requested]"=true \ -d "capabilities[sepa_debit_payments][requested]"=true

To unrequest capabilities for an account, use the same API call but set requested to false instead.

See also

  • Create a charge
Was this page helpful?
Questions? Contact us.
Watch our developer tutorials.
Check out our product changelog.
Powered by Markdoc
You can unsubscribe at any time. Read our privacy policy.
On this page
Supported capabilities
Multiple capabilities
Create an account with capabilities
More about capabilities
See also
Stripe Shell
Test mode
Welcome to the Stripe Shell! Stripe Shell is a browser-based shell with the Stripe CLI pre-installed. Login to your Stripe account and press Control + Backtick on your keyboard to start managing your Stripe resources in test mode. - View supported Stripe commands: - Find webhook events: - Listen for webhook events: - Call Stripe APIs: stripe [api resource] [operation] (e.g. )
The Stripe Shell is best experienced on desktop.
$