Create a Stripe Connect platform charge using the destination charge model: charge the customer on the platform account and specify the destination connected account ID and the transfer_amount (net of your platform fee)
Set the statement_descriptor_suffix on the charge to a connected account-specific value so the cardholder sees the merchant's name on their bank statement rather than the platform name
Calculate the application fee as the difference between the total charge amount and the transfer_amount; the application fee is withheld automatically on destination charges — do not create a separate transfer for the fee
For payouts to connected accounts with manual payout schedules, trigger the payout explicitly via the Stripe API using the connected account's Stripe-Account header and specify the amount, currency, and payout method (bank_account or card)
Monitor the payout status via webhooks: payout.paid confirms funds reached the bank; payout.failed contains a failure_code (e.g., no_account, insufficient_funds) requiring you to notify the connected account and resolve the issue before re-attempting
Reconcile platform application fees by listing application fee objects and matching them to your internal commission records; use the created timestamp range filter to pull fees for a specific settlement period
Known gotchas
Destination charges and separate charges and transfers behave differently for refunds: on a destination charge, a refund automatically reverses the transfer to the connected account; on a separate charge and transfer, you must manually reverse the transfer after issuing the refund — mixing models creates reconciliation inconsistencies
The statement_descriptor_suffix is appended to the platform's statement descriptor, not the connected account's; the combined string must stay within the card network character limit — truncation by the issuer can produce unexpected cardholder statement entries
Stripe withholds payouts during elevated fraud review periods or when a connected account's balance is insufficient to cover potential chargebacks; build a payout status polling mechanism rather than assuming a scheduled payout always completes on time
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