Enable rebilling with a charge
Turn rebilling on and charge the client’s card in the same step, all or nothing. The settings are saved first, then the card is charged; a definite failure (a decline, a card that needs the cardholder) puts every setting back. 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.
If Stripe cannot say whether the payment went through, nothing is rolled back, because the money may have moved: rebilling stays on, the answer carries rebillingLeftOn: true, and the payment is reconciled.
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
Rebilling on, plus the charge.
What you charge the client per minute.
A customer on your connected Stripe account.
^cus_[A-Za-z0-9]{6,}$The charge to the client's card.
Optional here: this operation always turns rebilling on.
Confirms a rate above $10 a minute is intended.
Optional. Set the sub-account's auto-recharge in the same step.
