X-Signature on every delivery.
Register
HTTPS only. The response includes a secret (weh_…).
Envelope
Every delivery is{ id, type, timestamp, payload }. id is the event id. payload depends on type. Amounts are minor units (kobo/cents). Confirm with GET /transactions/{id}/verify (or the matching retrieve endpoint) before fulfilling.
Events
Payload
Example:virtual_account.deposit. payload.id is the transaction id. source is the sender’s bank details when present. payload.status is always completed on this event.
payload objects are on the feature guides in the table above.
Verify the signature
Header:X-Signature: sha256=<hmac>. HMAC-SHA256 of the raw body with your webhook secret.
2xx or timeout → up to 3 retries. Inspect with GET /webhooks/events.

