Onboarding flow options
You can onboard your Custom connected accounts in a few different ways.
|Onboarding Flow||Description||Required Action|
|API-based||You build custom flows using Stripe APIs for your connected accounts. Your integration must meet all of Stripe’s onboarding requirements.||You’re responsible for identifying requirements changes and updating your flows to handle them.|
|Embedded new||(Recommended method) Your connected accounts interact with a highly themeable and customizable UI in an embedded component without leaving your application.||No action required. Stripe automatically updates embedded onboarding components to handle requirements changes.|
|Stripe-hosted||Your application redirects your connected accounts to Stripe to complete the onboarding process in a co-branded interface.||No action required. Stripe automatically updates hosted onboarding to handle requirements changes.|
If you use embedded components or Stripe-hosted onboarding, requirements changes don’t require you to update your onboarding flow. Skip to the section on collecting updated information.
If you use a custom API-based onboarding flow, handle updated requirements by following these steps or by replacing your onboarding flow with embedded components or Stripe-hosted onboarding.
Modify your API-based onboarding flow
1. Preview updated verification requirements
When verification requirements change, you must collect updated information by a certain date. Otherwise, connected accounts won’t be able to use the capabilities you request (for example,
card_payments). See details about the information you need to collect based on an account’s region, capabilities requested, and other factors.
You can avoid disruption of your connected accounts’ capabilities by planning the collection of updated information before the
current_deadline. To preview information about upcoming requirements changes, look at the Account object’s future_requirements hash.
2. Add required fields to your onboarding flow
When you’ve identified the updated information you need to collect, add corresponding fields to your onboarding flow and update your connected accounts using the Accounts API.
To avoid disruption to your connected accounts, have your onboarding flow address all requirements listed in the Account object’s future_requirements.currently_due list.
3. Test your updated onboarding flow
To simulate future verification requirements, create a test account using the Accounts API with
enforce_future_requirements in the email field. That populates the account’s
requirements hash with all known future verification requirements.
To verify that your updated onboarding flow fulfills the account requirements, onboard the test account and check its
requirements hash. If your flow covers all the requirements, the currently_due list is empty.
4. Listen for account status changes to enable functionality
Detect account status changes by listening to the
account.updated event. After an account has gone through your onboarding flow, inspect the
pending_verification lists in the account’s
requirements hash. When both are empty, and
requirements.disabled_reason is null, you can enable functionality for the account. When
payouts_enabled is true, the account can receive payouts. When
charges_enabled is true, unlock payments for the account.