代付订单查询接口
接口路径: /peerpay/bussiness/query
请求方式: POST
Content-Type: application/x-www-form-urlencoded 或 application/json(两种均支持)
提交方式
本接口支持表单提交和 JSON 提交两种方式,业务参数和签名规则完全一致。详见 旧版 API 概览 - 提交方式说明。
一、请求参数
| 参数名称 | 参数变量名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 签名 | sign | String | 是 | 按签名规则(MD5) |
| 友商ID | alliesNo | String(255) | 是 | 接入方友商的唯一 ID,由平台方提供 |
| 订单号 | outTradeNo | String(128) | 是 | 友商平台单号(创建代付订单时返回的平台订单号) |
请求示例
表单提交:
bash
curl -X POST "http://接口域名/peerpay/bussiness/query" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "alliesNo=test001&outTradeNo=ORDER20250115001&sign=3E541783111209F709ACDA0F4BFD17EA"JSON 提交:
bash
curl -X POST "http://接口域名/peerpay/bussiness/query" \
-H "Content-Type: application/json" \
-d '{
"alliesNo": "test001",
"outTradeNo": "ORDER20250115001",
"sign": "3E541783111209F709ACDA0F4BFD17EA"
}'二、响应参数
| 参数名称 | 参数变量名 | 类型 | 是否有值 | 说明 |
|---|---|---|---|---|
| 返回码 | code | String(10) | 是 | 编码为 10000 成功,其他为失败 |
| 返回消息 | msg | String(255) | 是 | 订单成功失败的详细信息 |
| 友商编号 | alliesNo | String(255) | 是 | 接入方友商的唯一 ID |
| 订单号 | tradeNo | String(128) | 是 | 订单唯一编号(友商订单号) |
| 订单金额 | totalAmount | Number(9,2) | 是 | 订单总金额以元为单位,精确到小数点后两位 |
| 支付平台订单号 | outTradeNo | String(128) | 是 | 支付平台里唯一的订单号 |
| 支付平台订单时间 | tradeTime | String(20) | 是 | 格式为 yyyy-MM-dd HH:mm:ss,例如:2015-01-01 12:45:52 |
| 交易状态 | tradeStatus | Int | 是 | 0 = 审核中,1 = 审核成功,2 = 审核失败,3 = 代付中,4 = 代付已转账,1 和 4 都为成功状态 |
交易状态说明
| 状态值 | 说明 |
|---|---|
| 0 | 审核中 |
| 1 | 审核成功 |
| 2 | 审核失败 |
| 3 | 代付中 |
| 4 | 代付已转账 |
三、响应示例
成功响应示例
json
{
"code": "10000",
"msg": "成功",
"alliesNo": "test001",
"tradeNo": "ORDER20250115001",
"totalAmount": "100.00",
"outTradeNo": "PO20250115001001",
"tradeTime": "2025-01-15 12:30:45",
"tradeStatus": 4
}失败响应示例
json
{
"code": "2004",
"msg": "友商不存在"
}四、PHP 调用示例
php
<?php
$params = [
'alliesNo' => 'test001',
'outTradeNo' => 'ORDER20250115001',
];
// 排除空值和 sign,按 ASCII 字典序排序
$filteredParams = [];
foreach ($params as $k => $v) {
if ($v !== '' && $v !== null) {
$filteredParams[$k] = $v;
}
}
ksort($filteredParams);
$stringA = http_build_query($filteredParams, '', '&');
// 拼接密钥并生成签名
$key = 'your_api_key_here';
$sign = strtoupper(md5($stringA . '&key=' . $key));
$params['sign'] = $sign;
// 发送请求
$ch = curl_init('http://接口域名/peerpay/bussiness/query');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
if ($result['code'] === '10000') {
$status = $result['tradeStatus'];
if ($status == 1 || $status == 4) {
echo "代付成功,金额:" . $result['totalAmount'] . " 元";
} elseif ($status == 2) {
echo "代付失败";
} else {
echo "处理中,状态码:" . $status;
}
}五、注意事项
- 订单号:
outTradeNo使用创建代付订单时返回的平台订单号 - 查询频率:建议同一订单 3 秒内只查询一次,避免频繁调用
- 最终状态:订单状态为
1(审核成功)、2(审核失败)或4(代付已转账)时为最终状态 - 成功状态判断:代付成功状态为
1和4 - 签名验证:建议验证响应签名确保数据安全性
