Skip to content

代收订单查询接口

接口路径: /alliesPay/bussiness/query

请求方式: POST

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

提交方式

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


一、请求参数

参数名称参数变量名类型必填说明
签名signString按签名规则(MD5)
友商IDalliesNoString(255)接入方友商的唯一 ID,由平台方提供
订单号outTradeNoString(50)友商平台系统单号

请求示例

表单提交:

bash
curl -X POST "http://接口域名/alliesPay/bussiness/query" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "alliesNo=test001&outTradeNo=ORDER20250115001&sign=3E541783111209F709ACDA0F4BFD17EA"

JSON 提交:

bash
curl -X POST "http://接口域名/alliesPay/bussiness/query" \
  -H "Content-Type: application/json" \
  -d '{
    "alliesNo": "test001",
    "outTradeNo": "ORDER20250115001",
    "sign": "3E541783111209F709ACDA0F4BFD17EA"
  }'

二、响应参数

参数名称参数变量名类型是否有值说明
返回码codeString(10)编码为 10000 成功,其他为失败
返回消息msgString(255)订单成功失败的详细信息
友商编号alliesNoString(255)接入方友商的唯一 ID
订单号tradeNoString(128)订单唯一编号(友商订单号)
订单金额orderAmountNumber(9,2)订单总金额以元为单位,精确到小数点后两位
实际支付金额totalAmountNumber(9,2)用户实际支付金额
支付平台订单号outTradeNoString(128)支付平台里唯一的订单号
支付平台订单时间tradeTimeString(20)格式为 yyyy-MM-dd HH:mm:ss,例如:2015-01-01 12:45:52
交易状态tradeStatusInt1 = 交易成功,0 = 交易失败,-1 = 交易中
银行卡号bankCardString银行卡号
银行名称bankNameString例如:中国银行
户主名称bankAccountString例如:张三

交易状态说明

状态值说明
1交易成功
0交易失败
-1交易中

三、响应示例

成功响应示例

json
{
  "code": "10000",
  "msg": "成功",
  "alliesNo": "test001",
  "tradeNo": "ORDER20250115001",
  "orderAmount": "100.00",
  "totalAmount": "100.00",
  "outTradeNo": "PO20250115001001",
  "tradeTime": "2025-01-15 12:30:45",
  "tradeStatus": 1,
  "bankCard": "6222xxxxxxxx1234",
  "bankName": "中国银行",
  "bankAccount": "张某某"
}

失败响应示例

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://接口域名/alliesPay/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') {
    echo "订单状态: " . ($result['tradeStatus'] == 1 ? '成功' : ($result['tradeStatus'] == 0 ? '失败' : '处理中'));
}

五、注意事项

  1. 订单号outTradeNo 使用创建订单时返回的平台订单号
  2. 轮询查询:建议间隔 30 秒以上查询,避免频繁调用
  3. 最终状态:订单状态为 1(成功)或 0(失败)时为最终状态
  4. 签名验证:建议验证响应签名确保数据安全性