Webhook Events

Balance charged event

Balance billing only. Funds were added to the balance by card: by someone (trigger: manual) or by the auto top-up rule (trigger: auto_top_up).

When it fires

Once per card payment into the balance, when it is credited. Stripe emails the billing owner its receipt for the charge.

Payload notes

topup.amountCents was added to the balance; the card was charged topup.chargedCents, which is that plus topup.taxCents (VAT, 0 when none applies). The invoice and receipt are at GET /v1/balance/top-ups/{topupId}/invoice and /receipt.

Who receives it

The billing owner's endpoints, like balance.low. Restricted keys need the money resource group.

postWebhookbalance.charged

Payload

idstring required

Stable webhook event ID: the dedupe key, also sent as the X-Zernio-Event-Id header and identical on every retry and redelivery. It identifies the event only, never an account or other resource.

testboolean

Always true when present: only a sample sent by POST /v1/webhooks/test with an event carries it. Real deliveries never do.

event'balance.charged' required
timestampstring date-time required

UTC time at which Zernio generated this event. Retries and redeliveries keep the original value.

Response

Webhook received successfully

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.