How do Stripe Connect payouts work for a marketplace?
- Type
- Applies to
- Medusa v2.x
- Updated
Short answer
Stripe Connect pays marketplace sellers by charging the customer, transferring each seller's share to their connected account, and paying out to their bank on a schedule. For multi-seller carts, Stripe's docs point to separate charges and transfers. On Medusa, Mercur's Stripe Connect package handles seller onboarding and transfers after commission; you decide when payouts run.
How Stripe Connect moves money in a marketplace
Stripe Connect is Stripe's product for platforms that route payments between customers and many sellers. Each seller gets a connected account, a Stripe account your platform manages on their behalf.
Money moves in three stages. A charge takes the customer's payment. A transfer moves funds from the platform's Stripe balance to a connected account's balance. A payout moves the connected account's balance to the seller's bank. Mercur's Stripe Connect guide notes that transfers are instant ledger movements, while bank payouts take 1 to 3 business days depending on the country.
Which Stripe Connect charge type fits a multi-vendor cart
Stripe's charge types guide describes three options.
With destination charges and separate charges and transfers, Stripe debits its fees, refunds, and chargebacks from the platform balance. Separate charges and transfers is the only type that splits one payment across several sellers, and Stripe notes it needs a more complex integration.
How the marketplace takes its commission
With destination charges, you set Copy to clipboardapplication_fee_amount on the PaymentIntent, and Stripe sends that amount back to the platform after the transfer (application fees). With separate charges and transfers, there is no application fee field. You keep your commission by transferring less than you charged, and Stripe recommends a ledger to track what each seller is owed.
Connected account types and who handles KYC
Stripe's account types page now labels Standard, Express, and Custom as legacy types. Stripe recommends the Accounts v2 API for new platforms, where configurations such as Copy to clipboardmerchant and Copy to clipboardrecipient enable receiving payments or transfers.
For existing Express accounts, Stripe handles onboarding and identity verification (KYC), and sellers get the Express Dashboard. The platform carries fraud and dispute liability for Express and Custom accounts.
How payout timing works
Stripe pays out connected account balances on a schedule set per account. The payout schedule interval is Copy to clipboardmanual, Copy to clipboarddaily, Copy to clipboardweekly, or Copy to clipboardmonthly, and a delay setting controls how long funds wait before they are available. Platforms that carry fraud and dispute liability can change the interval.
How Mercur implements Stripe Connect payouts on Medusa
Medusa core has a Stripe payment provider for charging customers, but no Connect payout provider. Mercur, which Medusa describes as an open core marketplace platform built by its Expert partners at Rigby, adds the Copy to clipboard@mercurjs/payout-stripe-connect package. It uses separate charges and transfers, so the platform is the merchant of record for VAT, disputes, and chargebacks.
123456789101112131415{resolve: "@mercurjs/core/modules/payout",options: {providers: [{resolve: "@mercurjs/payout-stripe-connect",id: "stripe-connect",options: {apiKey: process.env.STRIPE_API_KEY,webhookSecret: process.env.STRIPE_PAYOUT_WEBHOOK_SECRET,},},],},}
Mercur's payout pipeline docs state that core doesn't ship the job that triggers payouts, and that Copy to clipboardcreatePayoutWorkflow doesn't check capture, fulfillment, or earlier payouts. Add those guards in your trigger.
When this setup is not the right choice
- Sellers must be the merchant of record. Separate charges and transfers puts VAT and disputes on the platform. Direct charges need a different payout provider, which you would build.
- You are starting a new Connect platform and want Accounts v2. Mercur's provider creates Express accounts, a type Stripe now calls legacy. Check Stripe's current guidance before launch.
- Long seller lead times. Card authorizations typically expire after 7 days, per Mercur's guide, so made-to-order sellers may need a different capture strategy.
Common questions
What is the difference between a transfer and a payout in Stripe Connect?
A transfer moves funds from the platform's Stripe balance to a connected account's balance. A payout moves a connected account's balance to the seller's bank account on its payout schedule.
Can I use application_fee_amount with separate charges and transfers?
No. Stripe's application fee field applies to destination and direct charges. With separate charges and transfers, the platform keeps its commission by transferring less than it charged.
Does Medusa support Stripe Connect natively?
No. Medusa core includes a Stripe payment provider for charging customers but no Connect payout provider. Mercur adds one with the @mercurjs/payout-stripe-connect package.
Who handles seller identity verification with Stripe Connect?
For Express connected accounts, Stripe runs onboarding and identity verification on a Stripe-hosted page. Mercur marks a seller's payout account active only after Stripe reports details submitted, charges and payouts enabled, and no outstanding requirements.