Webhooks
Receive real-time state changes — payments, transfers, refunds, and more — via HMAC-signed webhooks.
6 min read
Webhooks are the reliable way to react to asynchronous events: a Mobile Money payment confirms a few seconds after initialization, a transfer completes later. Instead of polling the API, subscribe to events.
Anatomy of an event
{
"id": "evt_7Yh2MpQ",
"type": "payment.succeeded",
"sandbox": false,
"created_at": "2026-05-24T10:21:09.000Z",
"data": {
"id": "trx_01JXXXXXXXXXXXXX",
"status": "succeeded",
"amount": 5000,
"currency": "XAF",
"channel": "cm.mtn"
}
}End-to-end flow
- Configure an endpoint URL in Konsole → Webhooks (Dashboard).
- Wajub
POSTs the event to your URL withX-Wajub-Signature,X-Wajub-Timestamp, andX-Wajub-Delivery-Idheaders. - You verify the signature, process the event, and
respond
200. - On failure, Wajub retries with back-off, up to 5 attempts.
Test without deploying
Use Konsole → Webhooks to inspect delivery attempts, resend a real delivery, or send a fixed connectivity-test payload. There is no arbitrary event simulator — see that page for exactly what's available.
Next steps
- Quickstart — receive your first event locally.
- Signature verification — essential in production.
- Event catalog — the list by product.
- Retries & failures — redelivery policy.
Related pages
Receive a WebhookExpose an endpoint and receive your first event.Signature VerificationHMAC-SHA256 verification guide.Event CatalogComplete list of webhook event types.Retries & FailuresRedelivery policy and idempotency.Konsole → WebhooksInspect deliveries, resend, or send a connectivity test.Testing WebhooksValidate your endpoint end to end.