Submit UTR
POST /v1/api/collection/submitted_utr
- Submits and verifies a payment reference; not a plain status query. Successful verification can trigger a success callback.
- Verification failure can return code=100503 with HTTP 200; do not use HTTP status alone.
Request fields
| Field | Type | Requirement | Description |
|---|---|---|---|
tenant_id | string | Required | Merchant ID; must belong to the same merchant as app_key. Maximum 20 characters. |
app_key | string | Required | Application key, maximum 16 characters; sign using the secret of this exact application. |
timestamp | string / integer | Required | Current Unix timestamp in seconds. Timestamps older than 60 seconds are rejected; do not send milliseconds. |
sign | string | Required | 32-character lowercase MD5 calculated using the signature rules. |
platform_order_no | string | Required | Platform order ID, maximum 30 characters. |
customer_submitted_utr | string | Required | Customer-submitted payment reference, maximum 20 characters. |
For algorithm details, see signature rules.
Request example · cURL
bash
curl --request POST 'https://api.trpay2024.com/v1/api/collection/submitted_utr' \
--header 'Content-Type: application/json' \
--data-raw '{
"tenant_id": "DEMO0001",
"app_key": "demo_app_key",
"timestamp": "1791199800",
"platform_order_no": "CRT202610051700DEMO0001",
"customer_submitted_utr": "123456789012",
"sign": "352329327a6cc5ca0e302097d583eded"
}'Response example
json
{
"request_id": "00000000-0000-4000-8000-000000000001",
"path": "/v1/api/collection/submitted_utr",
"success": true,
"code": 200,
"message": "成功",
"data": {
"orderId": "DEMO-PAYIN-001",
"orderAmount": 500.07,
"utr": "123456789012"
}
}Fields in data
| Field | Type | Requirement | Description |
|---|---|---|---|
orderId | string | Required | Merchant order ID. |
orderAmount | number | Required | Paid amount when available; otherwise the order amount. |
utr | string | Required | Payment reference. |
Error handling
See HTTP handling, request errors and error codes.