Appearance
billing.payment_succeeded
When: A top-up or auto top-up went through (once per payment), or you recorded a top-up for one of your tenants' accounts
Extra data: data is { account_id, payment_id, kind, amount, tax, currency, balance } — amount is what the balance got, tax was charged on top. A top-up you recorded for a tenant: { account_id, tenant_ref, payment_id: null, kind: "TOPUP", amount, currency, balance, reference } — no tax, and reference is the one you gave (or null)
Example
Headers: X-Calloop-Event: billing.payment_succeeded, X-Calloop-Event-Id, X-Calloop-Signature (verifying).
json
{
"event_id": "7c0b1e0c-8a45-4c1b-9d4c-0f3a6a2f9b11",
"event_type": "billing.payment_succeeded",
"api_version": "2026-09-25",
"occurred_at": "2026-09-25T10:05:12.000Z",
"data": {
"account_id": 4,
"payment_id": 31,
"kind": "TOPUP",
"amount": 50,
"tax": 5,
"currency": "USD",
"balance": 50
}
}A top-up you recorded for one of your tenants:
json
{
"event_id": "7c0b1e0c-8a45-4c1b-9d4c-0f3a6a2f9b11",
"event_type": "billing.payment_succeeded",
"api_version": "2026-09-25",
"occurred_at": "2026-09-25T10:05:12.000Z",
"data": {
"account_id": 9,
"tenant_ref": "biz-123",
"payment_id": null,
"kind": "TOPUP",
"amount": 25,
"currency": "USD",
"balance": 25,
"reference": "bank-transfer-0042"
}
}No data.call: this event is about your billing account, not a call.