Stripe "transfer_data" destination on invoice payments for marketplaces
Routes Stripe invoice payments to connected accounts with transfer_data. Use when marketplace invoice payments must land in a seller's connected account. Not for direct charges without invoicing.
TL;DR
On Stripe invoice payments for marketplaces, transferdata with a destination routes the funds to the connected account as the payment settles. Set it on the invoice's payment settings so the transfer happens automatically with the charge. Decide the fee model up front: applicationfee_amount for your platform cut, with the remainder going to the destination. Reconcile per invoice: each invoice shows what transferred where. Test the money movement in test mode with connected test accounts before real volume flows.
The query
Stripe "transfer_data" destination on invoice payments for marketplacesUse this when
- Marketplace invoices paying out to sellers automatically
- Routing invoice payments to connected accounts
- Splitting invoice revenue between platform and seller
Not for
- Direct charges without invoices (use transfer_data on the charge or payment intent)
- Multi-seller splits on one invoice (Stripe supports one destination; split in your ledger)
Steps
- Confirm the connected account onboarding is complete for each seller.
Expected output: Transfers have a valid destination to land in.
- Set transfer_data destination on the invoice payment settings.
Expected output: Payment settlement triggers the transfer automatically.
- Set applicationfeeamount for your platform's cut if you take one.
Expected output: Your fee is separated at settlement time.
- Run a test-mode invoice through payment and check the connected account balance.
Expected output: Money lands where you expect.
- Build reconciliation on invoice plus transfer records, not on charge data alone.
Expected output: Finance can trace every dollar to an invoice.
Variant phrasings
Stripe transfer_data invoice payment marketplace
route invoice payment to connected account Stripe
Stripe Connect invoice destination charge
Root cause
transfer_data on the invoice works because the invoice owns the payment attempt; attaching the destination there binds the money movement to the billing record. One destination per invoice is the constraint that shapes marketplace payout design.
Edge cases
- The destination account must be in the same region setup; cross-border has its own rules
- Refunds reverse the transfer automatically; account for that in seller balances
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_qDmPRPa9wYfdrfJMFtSDiA
Maintainer review
No maintainer verification is recorded for this version.
This records the version a maintainer checked. It does not assert that the version is the latest upstream release.