Query Allocation Order
Description
Query allocation order details by allocation number, including status, amount, and per-receiver results. Local data only — no channel call; for real-time channel status use Sync Allocation Order instead.
Request
POST /unipay/query/alloc-order
- Auth: RSA signature (
@PaymentVerify) - Response:
DaxResult<AllocOrderResult>
Parameters
Common params same as Pay - Common Parameters. Business parameters:
| Parameter | Type | Required | Max | Description |
|---|---|---|---|---|
| allocNo | string | No* | 100 | Platform allocation number |
| bizAllocNo | string | No* | 100 | Merchant allocation number |
*At least one required. Priority: allocNo > bizAllocNo
Example
json
{
"mchNo": "M200000001",
"appId": "APP001",
"reqId": "REQ20241201032",
"reqTime": "2024-12-01 12:32:00",
"sign": "Base64Signature",
"allocNo": "A2024120112345700001"
}Response
DaxResult<AllocOrderResult>, data fields:
| Field | Type | Description |
|---|---|---|
| allocNo | string | Platform allocation number |
| bizAllocNo | string | Merchant allocation number |
| tradeNo | string | Original payment fund trade number |
| bizOrderNo | string | Original payment merchant order number |
| outAllocNo | string | Channel allocation number |
| amount | long | Total allocation amount (cents) |
| status | string | Allocation status (AllocOrderStatusEnum) |
| finishTime | string | Allocation finish time (Beijing time, yyyy-MM-dd HH:mm:ss) |
| channel | string | Payment channel |
| attach | string | Merchant custom data |
| errorMsg | string | Error message |
| details | object[] | Allocation detail list (per-receiver results) |
Detail Item
| Field | Type | Description |
|---|---|---|
| receiverType | string | Receiver type (AllocReceiverTypeEnum) |
| receiverAccount | string | Receiver account |
| receiverName | string | Receiver name |
| amount | long | Allocation amount (cents) |
| result | string | Detail result (pending / success / fail) |
| errorMsg | string | Error message |
| finishTime | string | Detail finish time (Beijing time, yyyy-MM-dd HH:mm:ss) |
Example
json
{
"code": 0,
"msg": "success",
"data": {
"allocNo": "A2024120112345700001",
"bizAllocNo": "ALOC20241201001",
"tradeNo": "T2024120112345700001",
"bizOrderNo": "ORDER20241201001",
"outAllocNo": "202412012200000000000001",
"amount": 10000,
"status": "success",
"finishTime": "2024-12-01 12:40:00",
"channel": "alipay",
"attach": "{\"orderId\": 123}",
"details": [
{
"receiverType": "USER_ID",
"receiverAccount": "2088xxxxxxxxxxxx",
"receiverName": "Zhang San",
"amount": 3000,
"result": "success",
"finishTime": "2024-12-01 12:40:00"
},
{
"receiverType": "USER_ID",
"receiverAccount": "2088yyyyyyyyyyyy",
"amount": 7000,
"result": "success",
"finishTime": "2024-12-01 12:40:00"
}
]
},
"sign": "Base64Signature",
"resTime": "2024-12-01 12:32:00",
"reqId": "REQ20241201032"
}Usage Tips
- Query is idempotent and returns locally persisted data only; the status may lag the channel — prefer Sync Allocation Order for real-time status.
- Use
detailsto verify each receiver's settlement; forfaildetails checkerrorMsg. - Amount fields are in cents (same for
details[].amount), unlike the yuan unit used when initiating the allocation.