Account onboarding
Show a localized onboarding form that validates data.
The Account onboarding component uses the Accounts API to read requirements and generate an onboarding form that’s localized for all Stripe-supported countries and that validates data. In addition, Embedded onboarding handles all business types, various configurations of company representatives, document uploads, identity verification, and verification statuses. For more information, see Embedded onboarding.
Requirements collection options
With embedded onboarding, you can control the collection of currently_
or eventually_
requirements, along with the inclusion of future requirements. You can customize this behavior by using the collectionOptions
attribute when integrating the account onboarding component.
External account collection
Use the external_account_collection feature to control whether the component collects external account information. This parameter is enabled by default, and only platforms responsible for collecting updated information when requirements are due or change (including Custom accounts) can disable it. When enabled, this option requires user authentication. You can opt out of Stripe user authentication with the disable_stripe_user_authentication parameter.
Disable Stripe user authentication
Use the disable_stripe_user_authentication feature to control whether the component requires Stripe user authentication. By default, this parameter is false when external_
is true and true otherwise. Only platforms responsible for collecting updated information when requirements are due or change (including Custom accounts) can disable Stripe authentication.
We recommend implementing 2FA or equivalent security measures as a best practice. For account configurations that support this feature, such as Custom accounts, you assume liability for connected accounts if they can’t pay back negative balances.
Customize policies shown to your users
Connected accounts see Stripe’s service agreement and Privacy Policy during embedded onboarding. Connected account users who haven’t accepted Stripe’s services agreement must accept it on the final onboarding screen. Embedded onboarding also has a footer with links to Stripe’s service agreement and Privacy Policy.
For connected accounts where the platform is responsible for requirement collection, you have additional options to customize the onboarding flow, as outlined below.
Handle service agreement acceptance on your own
If you’re a platform onboarding connected accounts where you’re responsible for requirement collection, you can collect Terms of Service acceptance using your own process instead of using the embedded account onboarding component. If using your own process, the final onboarding screen only asks your connected accounts to confirm the information they entered, and you must secure their acceptance of Stripe’s service agreement.
Embedded onboarding still has links to the terms of service (for example, in the footer) that you can replace by linking to your own agreements and privacy policy.
Link to your agreements and privacy policy
Connected accounts see the Stripe service agreement and Privacy Policy throughout embedded onboarding. For the connected accounts where you’re responsible for requirement collection, you can replace the links with your own agreements and policy. Follow the instructions to incorporate the Stripe services agreement and link to the Stripe Privacy Policy.
Create an Account Session
When creating an Account Session, enable account onboarding by specifying account_
in the components
parameter.
After creating the Account Session and initializing ConnectJS, you can render the Account onboarding component in the front end:
The stepchange
object
Every time the connected account navigates from one step to another in the onboarding process, a stepchange
object is passed to the step change handler with the following properties.
Name | Type | Example value |
step | string See the possible step values | business_ |
The unique reference to an onboarding step. |
Restrictions
- The
stepchange
object is only for analytics. - Steps can appear in any order and can be repeated.
- Possible
step
values can change at any time.
Step Values
Each page in onboarding has a unique step name. This step
is an exhaustive list of pages the user could see in the onboarding process. These values can change at any time without notice.
Steps | Description |
---|---|
stripe_ | User authentication includes a popup to a Stripe-owned window. The connected account must authenticate before they can continue their workflow. |
risk_ | Guides the connected account to resolve risk-related requirements. |
legal_ | Connected accounts can optionally reuse existing information when onboarding new accounts. |
business_ | Sets the business type of the connected account. In certain cases the connected account can also set their country. |
business_ | Collects information related to the connected account’s business. |
business_ | Collects a proof of entity document establishing the business’ entity ID number, such as the company’s articles of incorporation. Or allows users to correct wrongly entered information related to the entity. |
business_ | Collects documents needed to verify that bank account information, such as the legal owner’s name and account number, match the information on the user’s Stripe account. |
business_ | Collects other documents and verification requirements related to the business. |
representative_ | Collects information about the account representative. |
representative_ | Collects a government-issued ID verifying the existence of the account representative. |
representative_ | Collects an additional document to verifying the details of the account representative. |
legal_ | Collects the legal guardians consent for accounts opened by minors. |
owners | Collects information about the beneficial owners of a company. |
directors | Collects information about the directors of a company. |
executives | Collects information about the executives of a company. |
confirm_ | Allows connected accounts to attest that the beneficial owner information provided to Stripe is both current and correct. |
risa_ | Answers questions concerning the Revised Installment Sales Act. (only for Japan) |
treasury_ | Collects Treasury and Card Issuing terms of service when requesting those capabilities. |
external_ | Collects the external account of the connected account. |
support_ | Collects information that helps customers recognize the connected accounts business. This support information may be visible in payment statements, invoices, and receipts. |
climate | Allows a connected account to opt into Stripe Climate. |
tax | Allows a connected account to opt into Stripe Tax. |
summary | Final review step of onboarding. The connected account can update entered information from this step. The terms of service and privacy URL is displayed in this screen. |
summary_ | From the summary step, a connected account can update information related to risk requirements. |
summary_ | From the summary step, a connected account can update information related to their business. |
summary_ | From the summary step, a connected account can update information related to their businesses public facing information. |
summary_ | From the summary step, a connected account can update information about each person on their account. |
summary_ | From the summary step, a connected account can update information related to their external account. |
summary_ | From the summary step, a connected account can update information related to their Stripe Tax integration. |
summary_ | From the summary step, a connected account can update information related to their W8/W9 certified tax information. This is shown when Stripe must collect W8/W9 information. |
summary_ | From the summary step, a connected account can update information related to their Stripe Climate integration. |