Webhook Request Headers
Every webhook request from VTPE includes the following three headers:Event Envelope
All VTPE webhook events use a common envelope:event field identifies the payment lifecycle stage. The data field contains event-specific payload data.
- payment.initialized
- payment.success
- payment.fail
Sent when a payment session is created:
Acknowledging Webhooks
Your endpoint must return HTTP 200 with the following JSON body to confirm receipt:Retry Behavior
VTPE retries webhook deliveries when your endpoint returns a non-2xx response. To handle retries safely, make your webhook handler idempotent. Use thepaymentId field as a unique key to deduplicate events and prevent duplicate side effects in your system.
Signature Verification
Always verify theX-Signature header before processing any webhook payload. VTPE signs each webhook using HMAC-SHA256 of the raw request body concatenated with the X-Timestamp value. For complete implementation details, see the Webhook Security guide.
