Create a PaymentIntent on the platform account (without on_behalf_of) and include transfer_group set to a unique identifier (e.g., your order ID) in the metadata or as a top-level parameter.
After the PaymentIntent is confirmed and the charge succeeds, retrieve the charge ID from payment_intent.latest_charge.
Create a Transfer for each recipient: POST /v1/transfers with amount, currency, destination (connected account ID), source_transaction (the charge ID), and transfer_group matching the identifier set on the charge.
Repeat step 3 for each additional recipient, ensuring the sum of all transfer amounts does not exceed the original charge amount minus your platform fee.
Subscribe to transfer.created and payout.paid webhooks on connected accounts to confirm funds movement end-to-end.
For disputes on the platform charge, remember you must handle the dispute at the platform level; refunds must be issued on the platform charge, after which you recover funds from connected accounts via separate reversal transfers if needed.
Known gotchas
Unlike destination charges, separate charges and transfers decouple the charge from the transfer — the charge appears on your platform's statement and each transfer appears as a debit from your platform balance; ensure your platform balance can cover all transfers before initiating them.
The transfer_group parameter is used for reporting and querying only, not for enforcing any financial relationship — Stripe does not prevent you from exceeding the original charge amount across transfers if you miscalculate.
source_transaction ties a transfer to a specific charge for settlement timing — the transfer is not created from your platform's rolling balance but waits for the specific charge's funds to settle; omitting source_transaction creates an immediate balance-funded transfer instead.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp