Requests & responses
Request format
All documented endpoints use POST with Content-Type: application/json. Send a JSON object, not Base64 text, a JSON-encoded string, XML or form data.
Include timestamp and sign in the body. JSON parameter order is arbitrary, but signature-string ordering is mandatory. Send only fields listed for the endpoint.
Send account and order identifiers as strings to preserve leading zeros. Decimal amount strings such as "500.00" are recommended; sign the same representation you send.
Common response
Most endpoints use this envelope:
{
"request_id": "00000000-0000-4000-8000-000000000001",
"path": "/v1/api/disbursement/create_order",
"success": true,
"code": 200,
"message": "成功",
"data": {
"platform_order_no": "PRT202610051700DEMO0001",
"tenant_order_no": "DEMO-PAYOUT-001",
"amount": "500.00"
}
}| Field | Type | Meaning |
|---|---|---|
request_id | string | Support correlation ID for this request |
path | string | Request path |
success | boolean | API-operation success, not a payment-success flag |
code | integer | API result code, not an order status |
message | string | Description; may be Chinese or English. Do not use it as a programmatic result flag |
data | object | Endpoint data; may be absent for errors |
Exceptions: successful UPI queries and UTR queries use status / timestamp / message / body, not success / code / data. Validation errors for these endpoints can still use the common error envelope.
HTTP status versus business code
| Condition | Current HTTP behavior | Check |
|---|---|---|
| Completed request | Usually 200 | Inspect the body as well; HTTP 200 alone is insufficient |
| Explicit OpenAPI validation/business exception | Can be 200 | success=false and code |
| Query not found (203006) | Currently 500 | A query result code, not a payment status |
| Rate limit | 429 | code=100429, Retry-After |
| Unexpected exception | 500 | Usually code=100500; retain request_id |
Do not assume that every business error uses 200, or that every HTTP 500 has the same meaning. For a timeout, disconnection or uncertain creation outcome, query the original order ID instead of deciding the payment failed solely from the HTTP status.