Skip to content

代付订单查询接口

接口路径: /peerpay/bussiness/query

请求方式: POST

Content-Type: application/x-www-form-urlencodedapplication/json(两种均支持)

提交方式

本接口支持表单提交和 JSON 提交两种方式,业务参数和签名规则完全一致。详见 旧版 API 概览 - 提交方式说明


一、请求参数

参数名称参数变量名类型必填说明
签名signString按签名规则(MD5)
友商IDalliesNoString(255)接入方友商的唯一 ID,由平台方提供
订单号outTradeNoString(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"
  }'

二、响应参数

参数名称参数变量名类型是否有值说明
返回码codeString(10)编码为 10000 成功,其他为失败
返回消息msgString(255)订单成功失败的详细信息
友商编号alliesNoString(255)接入方友商的唯一 ID
订单号tradeNoString(128)订单唯一编号(友商订单号)
订单金额totalAmountNumber(9,2)订单总金额以元为单位,精确到小数点后两位
支付平台订单号outTradeNoString(128)支付平台里唯一的订单号
支付平台订单时间tradeTimeString(20)格式为 yyyy-MM-dd HH:mm:ss,例如:2015-01-01 12:45:52
交易状态tradeStatusInt0 = 审核中,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;
    }
}

五、注意事项

  1. 订单号outTradeNo 使用创建代付订单时返回的平台订单号
  2. 查询频率:建议同一订单 3 秒内只查询一次,避免频繁调用
  3. 最终状态:订单状态为 1(审核成功)、2(审核失败)或 4(代付已转账)时为最终状态
  4. 成功状态判断:代付成功状态为 14
  5. 签名验证:建议验证响应签名确保数据安全性