Webhook for Refund Order
Introduction
This webhook notification informs merchants when an order is successfully paid, fails.If needed, please provide the refund callback URL for configuration.
- Upon payment completion, the payment result and user information are sent to the merchant in JSON format. The merchant should process and respond according to the documentation.
Notifications may be sent multiple times, so the merchant must be able to handle duplicate notifications correctly. - During backend notification interactions, if the merchant’s HTTP response does not equal 200 and the response does not include "success," the notification is considered failed, triggering a retry. Notifications are sent at the following intervals: every 2 minutes for the first 10 minutes, every 10 minutes for the first hour, and every hour for the next 12 hours.
- The merchant must validate the signature of the payment result notification and verify that the returned order amount matches the merchant’s order amount to prevent "fake notifications" that could lead to financial loss.
- When processing the notification, first check the business data status to determine if the notification has been processed. If not, proceed with handling; if it has been processed, return a success result. Use data locks for concurrency control before checking and processing data to avoid issues from function re-entry.
- Fields that are empty (null or "") are not included in the signature.
Refund Webhook Parameters
Parameter | Signature Required | Type | Length | Description |
---|---|---|---|---|
refundType | Yes | string | 64 | Refund type |
merchantOrderNo | Yes | string | 64 | Merchant order number |
paymentOrderNo | Yes | string | 64 | ACH payment order number |
orderStatus | Yes | string | 16 | Refund order status |
tokenAmount | Yes | string | 32 | Token amount |
fiatAmount | Yes | string | 16 | Fiat amount |
fiatCurrency | Yes | string | 16 | Fiat currency |
refundNetwork | Yes | string | 32 | Refund network (e.g., TRX) |
refundToken | Yes | string | 32 | Refund token (e.g., USDT) |
refundOrderNo | Yes | string | 64 | ACH refund order number |
hxAddress | Yes | string | 256 | Hash address |
sign | No | string | 128 | Signature |
Webhook Status
Code | Description |
---|---|
COMPLETED | Refund succeeded |
FAILED | Refund failed |
Webhook Parameter Example
{
"faitAmount": "9.90000000",
"fiatCurrency": "USD",
"hxAddress": "05b40909e7dd03cd0c1303c1e740edaa682f15ea7ed4af3bca5adffbe10da277",
"merchantOrderNo": "17304484880000",
"orderStatus": "COMPLETED",
"paymentOrderNo": "300317304490044680240",
"refundNetwork": "TRX",
"refundOrderNo": "300217304490044230335",
"refundToken": "USDT",
"refundType": "MERCHANT_APPROVE_REFUND",
"sign": "C2A745E335DE17F3D0C6F2920CD62A96F6F8445E692ED5CDE7EED35BF8AF7B2BC298CC2440700A6F3323A71D18C5200B793286B340B8AB6B67F99424C1B3A154",
"tokenAmount": "8.40000000"
}
Updated 10 days ago