Capabilities Framework Overview

    Learn about the capabilities framework and some of the use cases it supports.

    Government regulations require platforms to collect and verify personal and business information from their users. For global platforms, this is particularly complex because regulations vary widely across the world.

    Stripe's capabilities framework helps make sure that your users are asked to provide only required information. Each account your platform creates represents an individual or business. Instead of requesting all possible information from everyone, you request only the information required by the capabilities that are assigned to the connected account. Information requirements for a given capability can vary by factors including business type, country, and activity. The capability framework matches information requirements to each account you onboard. This approach to collecting information helps you optimize onboarding flows. For support details, see Country availability.

    You can review the specific set of requirements associated with a capability with the API. To make onboarding as easy as possible for your platform and your users, you should request only the capabilities you require. The more capabilities you request for a connected account, the more information you're required to collect.

    For example, a ride-hailing platform can use the transfers capability to specify that the platform can transfer payments to drivers. The onboarding requirements for this capability are minimal. An e-commerce platform can use the card_payments capability to enable sellers to accept card payments directly from their customers. Requirements are generally more stringent for connected accounts that process payments.

    Multiple capabilities

    Capabilities operate independently of each other and it is common to set multiple capabilities on an account.

    If both card_payments and transfers are set on an account, however, both capabilities are disabled if either capability is set to inactive.

    You can request or unrequest any capability for a connected account at any time during your connected account's lifecycle.

    For example, assume that when you onboarded a user, you requested the transfers capability so they can receive payments from your platform. Also assume that your platform is required to file an IRS FORM 1099-MISC, a U.S. federal tax reporting form, for this user. You can collect the required information for the IRS Form 1099-MISC during onboarding time or later, depending on how your platform handles tax preparation.

    Supported capabilities

    Below is a listing of capabilities that are available for use. Click on the items to get more information about them:

    Country availability

    If you’re creating connected accounts in the U.S., capabilities must be requested starting with API version 2019-02-19.

    If you’re creating connected accounts in Australia, Austria, Belgium, Denmark, Estonia, Finland, France, Germany, Greece, Ireland, Italy, Latvia, Lithuania, Luxembourg, the Netherlands, New Zealand, Norway, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden, Switzerland, or the United Kingdom, capabilities must be requested starting with API version 2019-09-09.

    If you need to create connected accounts in countries other than the aforementioned, you can skip capabilities. Instead, read about the Connect account types and the different ways to create charges.

    For U.S. platforms creating U.S. connected accounts, based on how you responded to the platform profile questionnaire, Stripe helps you with account setup by providing recommendations for your integration and enabling some capabilities for your connected accounts. You may test capabilities in test mode before completing the platform profile, but you won’t be able to use them in live mode.

    For platforms creating connected accounts in Australia, Austria, Belgium, Denmark, Estonia, Finland, France, Germany, Greece, Ireland, Italy, Latvia, Lithuania, Luxembourg, the Netherlands, New Zealand, Norway, Poland, Portugal, Slovakia, Slovenia, Spain, Sweden, Switzerland, or the United Kingdom, request both the card_payments and transfers capabilities to enable card processing for your connected accounts.

    For platforms not in the U.S. but creating connected accounts in the U.S., request both the card_payments and transfers capabilities to enable card processing for your connected accounts.

    Capabilities don’t currently apply to local payment methods.

    Next steps

    You can expand on what you've learned here by reading these other pages:

    Was this page helpful?

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.

    Questions?

    We're always happy to help with code or other questions you might have. Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    On this page