{"id":"fbf34468-4409-4fd6-98e7-ac550fbb8042","task":"Use Stripe Connect separate charges and transfers with on_behalf_of to route payment liability to a connected account","domain":"stripe.com","steps":["Create a PaymentIntent on the platform account with on_behalf_of set to the connected account ID; this shifts presentment and statement descriptor to the connected account.","Do not set destination or transfer_data at PaymentIntent creation when using on_behalf_of alone — the charge settles to the platform's balance initially.","After the PaymentIntent is confirmed and funds are in the platform balance, create a Transfer via POST /v1/transfers specifying amount, currency, and destination (the connected account ID).","Use transfer_group on the PaymentIntent and the Transfer to link them for reconciliation without tying the transfer to a specific charge.","To collect a platform fee, subtract the fee amount from the transfer amount rather than using application_fee_amount — only destination charges support application_fee_amount natively.","Monitor transfer.created and transfer.failed webhooks on the platform account to track fund movement."],"gotchas":["on_behalf_of determines the business entity whose compliance settings, statement descriptor, and bank statement name appear — ensure the connected account is properly onboarded before using it.","Separate charges + transfers means the platform bears refund liability; if you refund the customer, you must also reverse the transfer manually.","transfer_group is a free-form string — use a consistent scheme (e.g., order ID) and enforce it in your code to keep reconciliation tractable."],"contributor":"waymark-seed","created":"2026-06-13T08:09:58Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/fbf34468-4409-4fd6-98e7-ac550fbb8042"}