Appearance
订单查询
订单查询接口用于查询支付订单的当前状态和详细信息。商户可以通过商户订单号或嗖付交易号查询订单。
接口信息
- 接口地址:
/zro/trade/order-query- 请求方式:
POST - Content-Type:
application/json
请求参数
公共参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| merchantNo | String | 是 | 商户号 |
| sign | String | 是 | 签名 |
业务参数
| 参数名 | 类型 | 必填 | 描述 |
|---|---|---|---|
| orderNo | String | 是 | 商户订单号 |
请求示例
json
{
"merchantNo": "1082372921",
"orderNo": "ORDER20231119001",
"sign": "A1B2C3D4E5F6G7H8I9J0K1L2M3N4O5P6"
}响应参数
成功响应
| 参数名 | 类型 | 描述 |
|---|---|---|
| code | Number | 响应码,6000 表示成功 |
| message | String | 响应信息 |
| result | Object | 订单详细信息 |
订单信息(result)
| 参数名 | 类型 | 描述 |
|---|---|---|
| tradeNo | String | 嗖付交易号 |
| orderNo | String | 商户订单号 |
| tradeStatus | String | 订单状态 |
| totalAmount | Number | 订单总金额,单位:元 |
| payAmount | Number | 实际支付金额,单位:元 |
| goodsName | String | 商品名称 |
| body | String | 订单描述 |
| payWay | String | 支付方式 |
| channel | String | 支付渠道 |
| attach | String | 附加数据 |
| buyerInfo | Object | 买家信息 |
| createTime | String | 订单创建时间 |
| payTime | String | 支付完成时间 |
| expireTime | String | 订单失效时间 |
买家信息(buyerInfo)
| 参数名 | 类型 | 描述 |
|---|---|---|
| buyerId | String | 买家 ID(微信 openid、支付宝 user_id 等) |
| buyerName | String | 买家姓名(如果有) |
订单状态说明
| 状态值 | 状态描述 | 说明 |
|---|---|---|
| WAIT_BUYER_PAY | 等待买家付款 | 订单已创建,等待用户支付 |
| TRADE_SUCCESS | 支付成功 | 用户支付成功,交易完成 |
| TRADE_FINISHED | 交易结束 | 交易完成且不可退款 |
| TRADE_CLOSED | 交易关闭 | 订单超时关闭或手动关闭 |
| REFUND_SUCCESS | 全额退款 | 订单已全额退款 |
| REFUND_PARTIAL | 部分退款 | 订单已部分退款 |
响应示例
支付成功的订单
json
{
"code": 6000,
"message": "查询成功",
"result": {
"app": null,
"orderNo": "202508522922500169583xxx",
"merchantName": "xxx有限公司",
"goodsName": "支付产品",
"requestNo": "c6a0306c-xxx3-4bfd-9cff-7xx42e1f30b9",
"amount": "3026.27",
"feeAmount": "9.08",
"refundAmount": "239.00",
"payWay": "MINI_PROGRAM",
"channel": "WECHAT",
"status": "PaymentSuccess",
"paytimeAt": "2023-06-15 09:30:00",
"appid": "wxdc39xxx4a3xxe4d1",
"userid": "oxxxT5c8xxxk9RWyccxxxofCmVE",
"branchs": [
{
"order_no": "2025x852xx22500169583xxx",
"branch_merchant_name": "百货店(个体工商户)",
"branch_merchant_no": "10x0xxx832",
"branch_tactics": "ratio",
"branch_money": "2118.38"
}
],
"refunds": [
{
"order_no": "20x508xxxx2500169583xxx",
"refund_no": "RD20xxx6151509404718007586803232",
"refund_price": "239.00",
"refund_description": "",
"refund_status": "SUCCESS"
}
]
},
"request_id": "f761aa56-e224-4xx7d-b669-5cda90a2656e",
"timestamp": "2023-06-15 09:30:00"
}等待支付的订单
json
{
"code": 6000,
"message": "查询成功",
"result": {
"tradeNo": "SF20231119001234567891",
"orderNo": "ORDER20231119002",
"tradeStatus": "WAIT_BUYER_PAY",
"totalAmount": 200.0,
"payAmount": 0.0,
"goodsName": "嗖付商城-蓝牙耳机",
"body": "无线蓝牙耳机",
"payWay": "SDK_PAY",
"channel": "ALIPAY",
"attach": "store_id:002",
"buyerInfo": null,
"createTime": "2023-11-19 14:45:00",
"payTime": null,
"expireTime": "2023-11-19 15:15:00"
}
}订单不存在
json
{
"code": 6015,
"message": "订单不存在"
}代码示例
Java 示例
java
QueryOrderRequest request = new QueryOrderRequest();
request.setOrderNo("ORDER20231119001");
QueryOrderResponse response = client.queryOrder(request);
if (response.getCode() == 6000) {
System.out.println("订单状态:" + response.getResult().getTradeStatus());
System.out.println("支付金额:" + response.getResult().getPayAmount());
}PHP 示例
php
$params = [
'orderNo' => 'ORDER20231119001'
];
$response = $client->queryOrder($params);
if ($response['code'] === 6000) {
$result = $response['result'];
echo "订单状态:{$result['tradeStatus']}\n";
echo "支付金额:{$result['payAmount']} 元\n";
}