Webhook Notification¶
Overview¶
Key Information
- Request Method: All requests use
POSTmethod - Data Format: JSON format
- Purpose: Asynchronous transaction status notification
📋 Brief Description¶
1. Notification Mechanism Overview¶
When transaction status (Disbursements/Deposits) is updated, the system automatically pushes results to your pre-configured callback URL via HTTP POST. Proper handling and response are essential for transaction status synchronization.
2. Merchant Response Requirements¶
- Mandatory Response: Return plain text
OK(case-sensitive) after successful processing - Response Format: Direct text response, no JSON wrapping required
- Processing Time: Recommended to respond within 10 seconds
3. Retry Strategy for Failures¶
If OK response is not received, the system retries automatically:
- Total Attempts: 8 times maximum within 24 hours
- Retry Intervals: 2s → 5s → 10s → 30s → 1h → 3h → 3h → 3h
- Final State: After all retries fail, notification stops
4. Status Confirmation Method¶
If notification fails after all retries: - Use Query API to retrieve final transaction status
5. IP Whitelist Configuration¶
If your server has IP restrictions: - Contact our operations team in advance - Provide your server's outbound IP addresses
🔧 Technical Specifications¶
Request Method¶
- Method: POST
- Content-Type: application/json
Request Parameters¶
| Parameter | Required | Type | Description |
|---|---|---|---|
platFormTradeNo |
Yes | string | Vexora platform transaction number |
paymentTradeNo |
No | string | Vexora platform pay-in transaction number for the specific payment attempt. The same order may be paid multiple times, so this value can be different in each callback for the same tradeNo. This field is returned only when the collection order is successful. |
tradeNo |
Yes | string | Merchant's original transaction number |
amount |
Yes | string | Actual payment amount. Partial payment scenarios are possible. |
status |
Yes | string | Transaction status code for merchant logic processing. • 0000: Transaction successful. • 0001: Partial payment received. The actual successful amount should be based on the amount field (only applicable to collection transactions).• 0015: Transaction in progress/processing. • 00029: Transaction failed. • Other codes: Error occurred. Treat as failed transaction. |
message |
Yes | string | Status description message |
successTime |
Yes | string | Transaction completion time (YYYY-MM-DD HH:mm:ss) |
timestamp |
Yes | string | Current timestamp (milliseconds) |
sign |
Yes | string | Signature for verification |
📝 Examples¶
Request Example¶
{
"platFormTradeNo": "VXKHPI8F3K29D0QPLM7X2",
"paymentTradeNo": "VXKHPI8F3K29D0QPLM7X2-P01",
"tradeNo": "KHPI202605160001",
"amount": "30000",
"status": "0000",
"message": "SUCCESS",
"successTime": "2026-05-16 10:35:20",
"timestamp": "1778919320000",
"sign": "6a0aaf43d3b8e5fd8f73df5f63c9a5ce"
}