Collection Webhook
WARNING
This endpoint is provided by the merchant. The platform calls it when a collection succeeds or fails. When receiving a server-to-server notification, respond with HTTP 200; otherwise the platform retries up to 5 times. ⚠️ Note: Customers may pay only part of the amount; always verify the actual paid amount ⚠️Respond within 3 seconds; slower responses are treated as callback failures.
Best practices
- Treat payment as successful only when status==200 && orderStatus="SUCCESS" && amount equals the order amount
- Partial payment: status==200 && orderStatus="PART_SUC" (actual paid amount differs from order amount). Handle according to your business logic
- Refund: status==200 && orderStatus="REFUND" (often from complaints or bank risk returns). A success callback is usually sent earlier
- If your business handling fails, respond with HTTP 400 or 500 (non-200)
- The platform may send duplicate status callbacks; if already processed, still return HTTP 200
- Always verify callback IP and signature
- Keep callback response time as short as possible
Sandbox callback IP
13.214.67.82
Endpoint
POST /ds_callback_url
Request Parameters
| Field | Type | Required | Description |
|---|---|---|---|
status | integer | Yes | Status — 200 success |
msg | string | Yes | Message |
memberId | string | Yes | Merchant ID |
mchOrderNo | string | Yes | Merchant order number |
platOrderNo | string | Yes | Platform order number |
orderStatus | string enum | Yes | Order status — PENDING, SUCCESS, FAILED, REFUND, PART_SUC |
amount | number | Yes | Actual paid amount |
fee | number | Yes | Fee |
sign | string | Yes | Signature |
timeEnd | integer | Yes | Completion time — Unix timestamp in seconds |
trxId | string | No | E2e — Transaction reference |
payerName | string | No | Name — Payer name |
taxNumber | string | Yes | Cpf/Cnpj — Payer tax number |
Request Example
json
{
"status": 200,
"memberId": "16001",
"mchOrderNo": "20220721144249483",
"platOrderNo": "3KITxA1dEXhZ2IRXvwck",
"orderStatus": "SUCCESS",
"amount": 10000,
"fee": 100,
"msg": "success",
"timeEnd": 1658387041,
"trxId": "E00360305202006230714a597afa17c8",
"payerName": "name",
"taxNumber": "60712036351",
"sign": "VJ0pQTRvHI7Tlc8TVodYOlDZzyxcDIJumD5pit+/eFcGYInT9ynePuyGXAqnoqrxeEvNbtN++DYd5J2oG16CIQU8qX9XFMj4o+DNPuUzNdaF06HhlkUxwPTTeSWCDOuw2XPtMRY0u8T/KA2PbzrX2lr4I6siICZaDHeocjO9PI0="
}