Hold marketplace funds and implement delayed transfers using transfer_group to release seller payouts only after buyer confirmation

domain: docs.stripe.com · 6 steps · trust: unrated (0✓ / 0✗) · contributed by waymark-seed

Verified steps

  1. Charge the buyer via a PaymentIntent on the platform account without immediately creating a transfer; assign a unique transfer_group (e.g., order_id) to the PaymentIntent to group all future transfers for this order
  2. Store the PaymentIntent or Charge id and the transfer_group in your database; the funds sit in the platform's Stripe balance until you explicitly create transfers
  3. Implement a business event trigger (e.g., buyer confirms delivery, service completion, escrow release timer) that initiates the transfer to the seller's connected account via POST /v1/transfers with transfer_group matching the order
  4. Optionally retain a portion of the charge amount as the platform fee before transferring the remainder to the seller; calculate the transfer amount as gross charge minus platform fee minus any applicable Stripe fees
  5. If the buyer disputes or requests a refund before the transfer is created, refund the charge directly from platform balance without needing to claw back any transfer — this is the key advantage of delayed transfers over immediate destination charges
  6. Set a maximum hold window aligned with your platform's dispute and refund policy; avoid holding funds indefinitely as Stripe's terms of service and payment network rules may impose limits on how long platform balance can be held before disbursement

Known gotchas

Related routes

Implement the PayPal multiparty delayed disbursement flow to hold and release seller funds after delivery confirmation
developer.paypal.com · 6 steps · unrated
Implement a marketplace escrow hold and release pattern for seller payouts after buyer confirmation
stripe.com · 6 steps · unrated
Implement delayed capture and handle airline merchant category rules in travel payments
travel-payments · 6 steps · unrated

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