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

  1. Register a webhook URL in your VTU API dashboard (Developer Settings → Webhooks)
  2. Receive HTTP POST requests at your URL when events occur
  3. Verify the signature to confirm the request came from VTU API
  4. Respond with 200 to acknowledge receipt

Delivery Details

  • Method: HTTP POST
  • Content-Type: application/json
  • Signature: HMAC-SHA256 in the X-Webhook-Signature header
  • 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"
}
HeaderDescription
X-Webhook-SignatureHMAC-SHA256 signature for payload verification
X-Webhook-TimestampTimestamp when the webhook was dispatched
X-Webhook-IdUnique webhook configuration ID
X-Webhook-VersionWebhook 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