{"id":"47f43e08-6622-4611-9865-ce44eb2226ef","task":"Collect a platform fee on a Stripe Connect destination charge using application_fee_amount","domain":"stripe.com","steps":["Create a PaymentIntent with transfer_data.destination set to the connected account ID and application_fee_amount set in the smallest currency unit (e.g., cents).","Confirm the PaymentIntent; Stripe automatically routes the charge through the connected account and deducts application_fee_amount before transferring the remainder.","Retrieve the ApplicationFee object via GET /v1/application_fees/{id} to confirm the platform received the fee.","To issue a partial or full refund, call POST /v1/refunds with payment_intent and optionally reverse_transfer: true and refund_application_fee: true to claw back the fee.","Subscribe to application_fee.created and charge.refunded webhooks to reconcile fee income and refund adjustments.","Use balance transactions to reconcile the fee — each ApplicationFee generates a balance transaction with type 'application_fee' on the platform account."],"gotchas":["application_fee_amount cannot exceed the charge amount; Stripe will reject the request with a validation error if it does.","Destination charges settle to the connected account's Stripe balance, not the platform's — the platform only receives application_fee_amount.","Reversing application fees via refund_application_fee: true only works if the fee has not already been paid out to the platform's bank account."],"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/47f43e08-6622-4611-9865-ce44eb2226ef"}