Explore Connect
This guide describes how to accept a payment, route part or all of the funds to your seller or service provider’s bank accounts, and (optionally) move a portion into your own balance. It also describes how to top up your platform’s balance using your own money.
In this example, the guide assumes you’re using either Express or Custom accounts. If you’re interested in Standard accounts, refer to Enable other businesses to accept payments directly for further details.
You’ll complete the following steps:
- Create a connected account to represent your seller or service provider in the API.
- Accept a payment for the connected account.
- After that, you can configure the way that your users get funds paid out to their external accounts.
- Lastly, you can complete and customize your integration. This includes managing connected accounts in the Dashboard, testing your integration, and exploring several other features that Connect offers.
Prerequisites
- In the Connect tab of your Dashboard, register your platform by clicking Get started.
- Activate your account by providing some details about your business.
- Fill out your platform profile. Stripe uses this information to provide you an optimal integration path that’s based on your specific business model.
Other guides
Because this guide covers Connect very broadly, it goes into less detail than our other guides. We recommend starting with the more specific guide for your use case if you’re doing one of the following:
Create a connected account
When a user (a seller or service provider) signs up on your platform, create a user Account (known as a connected account) so you can accept payments and move funds to their bank account. Connected accounts represent your user in Stripe’s API and help facilitate the collection of onboarding requirements needed so Stripe can verify the user’s identity.
Account types
The three different types of connected accounts are:
- Standard account: A Stripe account controlled directly by the account holder (that is, your platform’s user). A user with a Standard account has a relationship with Stripe, is able to log into the Stripe Dashboard, can process charges on their own, and can disconnect their account from your platform.
- Express account: An account where Stripe handles user onboarding, account management, and identity verification. Your platform can manage payout schedules, customize the flow of funds, and control branding.
- Custom account: This account is almost completely invisible to the account holder and Stripe has no direct contact with them. Custom accounts require the most integration effort and are suitable for platforms who want to control the entire user experience.
After you fill out the platform profile, a connected account type is recommended to you. This recommendation is the most straightforward path for most users.
Capabilities
Capabilities define what your connected account can do and track whether they’ve met the verification requirements to do so. Connected accounts with the transfers capability can accept transfers of funds from your platform, while connected accounts with the card_payments capability can directly process payments without routing the funds through your platform. To know which capabilities Stripe recommends for your business model, refer to your completed platform profile.
Onboarding Express accounts
If you’re onboarding Express accounts, Stripe collects all the user requirements information for you (excluding any fields you choose to pre-fill). For instructions on how to onboard Express accounts, refer to Using Connect with Express accounts.
Onboarding Custom accounts
If you’re onboarding Custom accounts, Stripe can collect the user requirements information for you with Connect Onboarding. Create the connected account, providing any required fields you already have in the account creation request. After that, create an account link and redirect your user to that account link so they can provide the rest of the required information. Make sure to set up a webhook to collect any new requirements that become due.
Stripe recommends that you don’t build a completely custom onboarding flow. Updates to identity verification requirements occur as laws and regulations change around the world. If you’re building your own onboarding flow, you must plan on reviewing and updating onboarding requirements at least every six months to ensure you remain compliant. Some platforms create their own flow to collect basic requirements but use the Stripe-hosted form to collect edge-case requirements when initial verification fails. If you decide to build your own flow, start with Identity verification for Custom accounts.
Accept a payment
To know which charge type Stripe recommends for your business model, refer to your completed platform profile. If you’re interested in adding funds to your platform’s balance from a linked bank account, refer to Topping up your platform account—if you decide to use this method, you can skip the next paragraph and learn more about fulfilling customer purchases.
If you’d like to use Stripe’s hosted payment form, follow the using Checkout with Connect guide. If you’re building your own payment form, use Stripe Elements for your frontend and refer to the charge creation guide for your backend. Both of these resources provide information on how to build your user interface with Stripe, route funds to your connected account’s balance, take an application fee, and refund customers.
Fulfillment
If you’re using Checkout, read the fulfillment guide for Checkout to learn how to synchronously or asynchronously monitor for completed payments to then enable your sellers or service providers to fulfill purchases.
If you’re not using Checkout, use webhooks to hook into any business logic on your end that you need to in order to fulfill the purchase, which will have different event types.
Disputes
If your platform is the settlement merchant on your charges, you’re responsible for disputes. Make sure you understand the best practices for responding to disputes.
Pay your users
When the funds from the payment settle and your user’s connected account has a positive Stripe balance, you can pay out those funds to their bank account.
Collecting bank account information
For Express accounts, Stripe is responsible for collecting the user’s bank account information so you don’t have to.
If you’re using Custom accounts, use Stripe Elements to collect the information on the frontend and use the Accounts API on the back-end to store it. Set up a webhook so that you can request new information from your user if a payout fails.
Configuring payouts
Configuring payouts requires no action—by default, funds that have settled in your connected accounts’ balances are paid out on a daily rolling basis. However, you can configure your connected accounts’ automatic payout schedules, trigger payouts manually instead of automatically, or pay out instantly.
Next steps
At this point you should have a working integration. After you finish working through this guide, you can see the connected account and balance in your account Dashboard.
Testing
The Connect-specific testing resource provides tokens to help simulate flows for connected accounts and onboarding, payouts, and top-ups. To test your payments and disputes flow there are a number of test cards available to simulate payment outcomes.
The steps in this guide are the minimum required to build a working Connect integration. You may need to take several other steps, depending on your business needs.
See also
- Use your Stripe Dashboard
- Best practices, including detecting fraud and providing user support
- Set merchant category codes
- Integrate with the Express Dashboard
- Collect information required for U.S. taxes
- Customize statement descriptors
- Share customers across connected accounts
- Work with multiple currencies
- Debit a connected account