Marketplace payments with Stripe Connect: the basics
How Stripe Connect works for a marketplace: connected accounts, the three charge types, taking a platform fee, onboarding sellers and who covers refunds.
Leer en español →
Stripe Connect lets a marketplace take a payment from a buyer, keep a platform fee and send the rest to the seller, without the platform building its own payout system. Each seller gets a connected account that Stripe verifies through an onboarding flow. Each payment uses one of three charge types (direct charges, destination charges, or separate charges and transfers), and that choice decides whose name appears on the buyer's statement, who pays Stripe's fees and whose balance covers refunds and disputes.
This guide explains the pieces in plain terms, how to choose a charge type, how seller onboarding works today and the mistakes that are expensive to undo later.
What are the parts of a Connect integration?
Stripe lists five: your app, your platform's Stripe account, the connected accounts (your sellers or service providers), payments, and payouts. Your platform uses its own API keys to create payments and act on behalf of connected accounts.
For new platforms, Stripe now steers you to the Accounts v2 API. Instead of picking a fixed account type, you give each account configurations: merchant to accept payments, recipient to receive transfers from your platform, and customer if the same account also pays you. The older Standard, Express and Custom account types still work for existing platforms, but Stripe's docs mark them as legacy and tell new platforms to use Accounts v2.
Which charge type should a marketplace use?
This is the most important decision, and it's hard to change once money is flowing.
| Direct charges | Destination charges | Separate charges and transfers | |
|---|---|---|---|
| Buyer pays | The seller's account | Your platform | Your platform |
| Typical fit | SaaS for independent businesses | One seller per order, platform-branded service | One cart with several sellers, or seller unknown at payment time |
| Stripe fees come from | You choose: seller or platform | Platform | Platform |
| Refunds and chargebacks reduce | Seller's balance | Platform's balance | Platform's balance |
| Your cut | Application fee | Keep part of the amount or an application fee | Transfer less than you charged |
Stripe's own examples: an e-commerce or SaaS platform for independent sellers fits direct charges; a rideshare app or a site matching contractors with homeowners fits destination charges; a food delivery app splitting one order between several restaurants fits separate charges and transfers.
For a typical early marketplace, where a buyer books or buys from one seller on your branded site, destination charges are a common starting point. The buyer deals with your brand, you control the experience, and you decide how much of each payment goes to the seller.
What does "the platform covers refunds" mean in practice?
With destination charges and separate charges and transfers, refunds and chargebacks come out of your platform's balance first. To recover the seller's share you reverse the transfer you made to them. If the seller has already been paid out and their balance is empty, the loss can stay with you. Plan for this before launch: hold payouts for a while after a service is delivered, keep a reserve, and write your refund policy into your seller terms. Our guide on refunds and disputes in Stripe covers how disputes play out.
How do sellers get onboarded?
Stripe has to verify every connected account before it can accept payments or receive payouts. You choose how that verification looks:
- Stripe-hosted onboarding. A Stripe web form with your name, colour and icon, localised for Stripe's supported countries. The least work.
- Embedded onboarding. A component inside your app, which you can theme, with limited Stripe branding.
- API onboarding. You build the whole form yourself. Stripe notes that you must review and update onboarding requirements at least every 6 months.
Stripe recommends the first two because they update automatically when compliance requirements change. For a small team, that's decisive: requirements differ by country and change over time, and API onboarding makes keeping up your job.
In your app, store the connected account ID on the seller's record and listen for account update events, so you know when a seller can actually accept payments and receive payouts. Don't list a seller as bookable until their account is ready.
How do you take a platform fee?
With destination charges, you either transfer less than the full amount to the seller, or transfer the full amount and collect an application fee from it. With direct charges you set an application fee on each charge, which goes to your platform's balance when the seller is paid. Calculate the fee on your server from your own rules, never from a value the browser sends, for the same reason you never trust a price from the frontend. Our Checkout vs Payment Element guide covers that mistake.
What usually goes wrong in AI-built marketplaces?
- Paying sellers from the platform's balance by hand instead of using transfers tied to each charge. The accounting quickly stops adding up.
- Mixing charge types by accident, for example some payments created on the seller's account and some on the platform's, so refunds land in different places.
- No plan for the seller who disappears. A seller paid out yesterday whose buyer disputes today is the platform's problem with indirect charges.
- Testing only the happy path. Stripe's docs note a sandbox limitation for Connect: you can't create connections between a platform's sandbox and connected account sandboxes. Test onboarding, a refund, a dispute and a payout delay in whatever test setup Stripe offers for your platform.
Also check product compatibility before you commit. Stripe's comparison shows that Metronome doesn't support Connect, while basic usage-based billing does, which matters if you plan usage-based pricing.
Quick answers
Do I need Connect to sell my own product? No. Connect is for paying out other people. A single business selling its own subscriptions only needs regular Stripe payments.
Can sellers have their own Stripe Dashboard? Yes, depending on how you configure their accounts. Accounts v2 lets you set the Dashboard access each account gets.
Is Connect available in every country? No. Availability depends on your platform's country, and cross-border payouts have their own eligibility rules. Check Stripe's Connect country list for your case.
Can I change charge type later? It's possible, but it affects refunds, reporting and seller terms. Choosing carefully at the start saves a migration.
Building a marketplace and want the money flow right first time?
Charge type, onboarding and refunds are much cheaper to get right before the first payout than after. Our Stripe payments service and custom software development cover Connect builds. You can also run the free app health check, read Stripe's guide to Connect charge types, or describe your marketplace to us.


