balance.topped_up
A prepaid balance top-up was completed.
Payload
All webhook payloads follow a consistent top-level structure with event-specific data nested within the data object.
The subscription ID.
The customer ID. Returns your externalId if you provided one when creating the customer, otherwise returns the Commet publicId.
The invoice issued for the top-up.
The human-readable invoice number.
The topped-up value in rate scale (10000 = $1.00 of the subscription currency).
The subscription currency.
{
"event": "balance.topped_up",
"timestamp": "2026-06-15T11:20:00.000Z",
"organizationId": "org_abc123",
"mode": "live",
"apiVersion": "2026-06-10",
"data": {
"subscriptionId": "sub_1a2b3c4d",
"customerId": "user_123",
"invoiceId": "inv_t1u2v3",
"invoiceNumber": "INV-0051",
"amount": 500000,
"currency": "usd"
}
}When this fires
When a customer on a balance plan tops up their prepaid balance through the customer portal and the payment succeeds.
amount is the topped-up value in rate scale (10000 = $1.00 of the subscription currency) — the same scale balance.low and balance.depleted use.
Use it to confirm the top-up in your own UI and to clear any low-balance warnings you raised on balance.low.
How is this guide?