Charge a sub-account
Charge the client’s card on your connected Stripe account and add the minutes it buys to the sub-account’s wallet, at its client rate. Rebilling must be on. Between 10,000 per charge. A sub-account’s minutes come out of your agency wallet, so on a self-serve agency a charge that needs more minutes than your wallet holds tops your wallet up first by charging your own billing card. Two cards can therefore be charged by one call, and if the client’s card then fails, the top-up of your own wallet stands. When that top-up cannot be made, the call is refused before the client’s card is touched and nothing is changed.
The minutes come out of your wallet, at what they cost you. A self-serve agency without enough minutes is refused before the card is charged.
Charges a card now. Needs the billing:charge scope, which billing:write does not include, and an Idempotency-Key header: a retry with the same key returns the first answer instead of charging again. Limited to 10 charge calls a minute per API key (5 from one address), answered 429 beyond that; wait for RateLimit-Reset and retry with the same key. Not available over MCP.
Needs the Business plan, or an agency our team manages, and Stripe Connect connected. Otherwise nothing changes: PROJECT_WALLET_NOT_AVAILABLE_ON_PLAN (403) or STRIPE_NOT_CONNECTED (409).
Allowed customer roles: agency_admin. The agency is the one the credential belongs to.
Required API key scope: billing:charge.
Authorizations
Send your API key as Authorization: Bearer YOUR_API_KEY.
Headers
Required. A unique value per request, 8 to 255 visible characters. Reuse it only to retry the same request. A request that finished, with a success or a refusal such as a declined card, answers a retry with its first answer and idempotentReplay: true, and nothing runs or is charged again: once the card is fixed, try again with a new key. After a 5xx the same key runs the request again, and the payment layer does not repeat a charge it already made (IDEMPOTENT_REPLAY). After a 500 the outcome is not known: read the wallet back before retrying.
8 - 255Path Parameters
The sub-account's Location ID.
1Body
The amount.
