Account capabilities
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
U.S. tax reporting
Payment methods
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
andtransfers
, then both capabilities become disabled if thestatus
of either one isinactive
. - 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 U.S. 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.
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:
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.
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:
The example below requests multiple capabilities for a specific connected account at once:
To unrequest capabilities for an account, use the same API call but set requested
to false
instead.