Design a multiparty platform
Stripe Terminal is fully compatible with Stripe Connect, enabling your platform or marketplace to accept in-person payments. If you aren’t familiar with Stripe Connect, we recommend going through the Explore Connect guide.
There are two options for integrating Terminal with Connect, depending on the account type you choose for your platform’s connected accounts. To decide which option best suits your business’s needs, refer to the following table:
Custom or Express | Standard | |
---|---|---|
Who owns the API resources? | Platform | Connected accounts |
Who has access to the Terminal hardware ordering dashboard and APIs? | Platform | Connected accounts |
Which charge types can I use? |
Express or Custom Connect
In a Connect integration with Express or Custom accounts, all API resources belong to the platform account. As needed, you can associate Terminal objects like Readers and Locations with a particular connected account by including them in the metadata object on these resources.
When processing payments, you specify the connected account as the destination for the funds using the on_behalf_of
, transfer_data[destination]
, and application_fee_amount
parameters. This creates a transfer to the connected account automatically and establishes the connected account as the merchant of record.
Standard Connect
In a Connect integration with Standard accounts, all API resources belong to individual connected accounts. When making API requests such as for creating locations, readers, and payments, you pass the connected account ID in the Stripe-Account
header. This tells Stripe that the request is effectively being made by the connected account.
When processing payments, you also pass the connected account’s ID in the Stripe-Account
header, which creates the charge directly on the connected account.