Every country has its own requirements that accounts must meet for Stripe to be able to pay out funds to individuals and companies. These are typically known as Know Your Customer (KYC) requirements. Regardless of the country, broadly speaking, the requirements Stripe must meet are:
- Collecting information about the individual or company receiving funds
- Verifying information to establish that we know who our customers are
Connect platforms collect the required information from users and provide it to Stripe. This may include information about the legal entity and personal information about the representative of the business, as well as those who own or control the business. Stripe then attempts verification. In some cases, Stripe may be able to verify an account by confirming some or all of the keyed-in data provided. In other cases, Stripe may require additional information, including, for example, a scan of a valid government-issued ID, a proof of address document, or both.
This page explains the verification flow options to meet Stripe KYC requirements, but the easiest way to manage verification is to integrate Connect Onboarding, which lets Stripe take care of the complexity around the basic KYC obligations associated with an account’s capabilities. Handling the details of account verification is initially complex and requires vigilance to keep up with the constantly evolving regulatory changes around the world.
Stripe recommends using Connect Onboarding. If you decide to handle account verification yourself, continue reading to learn about the verification flow options, how API fields translate to companies and individuals, and how to localize information requests. You should also read the Handling Identity Verification with the API guide to learn how to programmatically provide information and handle requests.
Even after Stripe verifies a user, platforms still must monitor and prevent fraud. Platforms shouldn’t rely on Stripe’s verification to meet any independent legal KYC or verification requirements.
Verification requirements for connected accounts vary by account, depending on:
- Business type (for example, individual, company)
- Business structure (for example, public corporation, private partnership)
- The service agreement type between Stripe and the connected account
- The risk level
You must collect and verify specific information to enable charges and payouts. For example, for a company in the US, you might need to collect:
- Information about the business (for example, name, address, tax ID number).
- Information about the person opening the Stripe account (for example, name, date of birth).
- Information about beneficial owners (for example, name, email).
At certain variable thresholds—usually when a specified amount of time has passed or volume of charges have been made—you may need to collect and verify additional information. Stripe temporarily pauses charges or payouts if the information isn’t provided or verified according to the thresholds for required information. For example, additional information might include verification of the company tax ID number.
As the platform, you must decide if you want to collect the required information from your connected accounts upfront or incrementally (incremental onboarding). Some pros and cons for each method are listed below.
|Upfront onboarding||Incremental onboarding|
To help you determine which flow to build, review the required information for the countries where your connected accounts are located. While Stripe tries to minimize any impact to users, remember that requirements may change over time.
The specific KYC information depends on the type of business entity. They are:
individual—Collect information about the person.
company—Collect information about the company. Depending on the countries your connected accounts are in, you might also have to collect information about beneficial owners.
non_profit—Collect information about the non-profit organization.
government_entity(available for US connected accounts only)—Collect information about the government entity.
If you or your users are unsure of their entity type, the information might be in the business formation documents or tax documents for that entity.
For all business types other than
individual, you can further classify your user’s business by identifying its legal (business) structure. A business structure describes the details of a business entity such as day-to-day operations, tax burdens, liability, and organizational schema. You can classify it by using company[structure] in the
Providing this information to Stripe gets you the most accurate business classification for compliance purposes. While not required, this information might reveal you have fewer onboarding requirements to collect. For example, owner information is required for private companies, but not required for public companies. By default, a
company is considered private if information on the
company[structure] isn’t provided.
Internationalization and localization
If you support users in multiple countries, consider internationalization and localization when asking for information. Creating an interface that uses not only the user’s preferred language but also the proper localized terminology results in a smoother onboarding experience.
For example, instead of requesting a business tax ID from your users, regardless of country, request:
- EIN, US
- Business Number, Canada
- Company Number, UK
You can find recommended country-specific labels along with the other required verification information.