3.3 PayIn Webhook Delivery
When a VND PayIn status changes, the platform sends a POST request to the per-request callback_url or the configured shop webhook URL.
Headers
| Header | Description |
|---|---|
| Content-Type | application/json |
| X-Timestamp | ISO-8601 UTC timestamp of the request. |
| X-Signature | HMAC-SHA256 signature of X-Timestamp + raw_request_body. |
Payload
{
"id": 12345,
"external_id": "PIN-VND-EPT-001",
"shop_code": "your_ept_vnd_shop",
"status": "success",
"amount": "250000",
"currency": "VND",
"updated_at": "2026-09-21T10:15:00+00:00"
}
When configured and available, payment_page_url and payment_page_expires_at are also included as root fields.
Your endpoint must respond with HTTP 2xx. Failed deliveries are retried up to five times with delays of 1, 5, 30, 60, and 120 minutes.