Receive real-time notifications about transaction status changes.
Webhooks Overview
Webhooks allow your application to receive real-time HTTP notifications when transaction statuses change. Instead of polling the API, you register a URL and we POST event payloads to it automatically.
How It Works
- Register a webhook URL in your VTU API dashboard (Developer Settings → Webhooks)
- Receive HTTP POST requests at your URL when events occur
- Verify the signature to confirm the request came from VTU API
- Respond with 200 to acknowledge receipt
Delivery Details
- Method: HTTP
POST - Content-Type:
application/json - Signature: HMAC-SHA256 in the
X-Webhook-Signatureheader - Retries: Failed deliveries are retried with exponential backoff
- Limit: Maximum 5 webhook URLs per account
Webhook Headers
Every webhook request includes these headers:
{
"Content-Type": "application/json",
"X-Webhook-Signature": "sha256=<hex_digest>",
"X-Webhook-Timestamp": "<unix_or_iso8601>",
"X-Webhook-Id": "<webhook_id>",
"X-Webhook-Version": "1.0"
}
| Header | Description |
|---|---|
X-Webhook-Signature | HMAC-SHA256 signature for payload verification |
X-Webhook-Timestamp | Timestamp when the webhook was dispatched |
X-Webhook-Id | Unique webhook configuration ID |
X-Webhook-Version | Webhook payload version |
Managing Webhooks
From your dashboard, you can:
- Add up to 5 webhook URLs (HTTPS only)
- Enable/Disable individual webhooks
- Delete webhooks you no longer need
- View logs of all webhook deliveries and their status
Next Steps
- Event Types — All supported webhook events and payload examples
- Signature Verification — How to verify webhook authenticity
- Best Practices — Idempotency, error handling, and security tips