代收订单查询接口
接口路径: /alliesPay/bussiness/query
请求方式: POST
Content-Type: application/x-www-form-urlencoded 或 application/json(两种均支持)
提交方式
本接口支持表单提交和 JSON 提交两种方式,业务参数和签名规则完全一致。详见 旧版 API 概览 - 提交方式说明。
一、请求参数
| 参数名称 | 参数变量名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 签名 | sign | String | 是 | 按签名规则(MD5) |
| 友商ID | alliesNo | String(255) | 是 | 接入方友商的唯一 ID,由平台方提供 |
| 订单号 | outTradeNo | String(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"
}'二、响应参数
| 参数名称 | 参数变量名 | 类型 | 是否有值 | 说明 |
|---|---|---|---|---|
| 返回码 | code | String(10) | 是 | 编码为 10000 成功,其他为失败 |
| 返回消息 | msg | String(255) | 是 | 订单成功失败的详细信息 |
| 友商编号 | alliesNo | String(255) | 是 | 接入方友商的唯一 ID |
| 订单号 | tradeNo | String(128) | 是 | 订单唯一编号(友商订单号) |
| 订单金额 | orderAmount | Number(9,2) | 是 | 订单总金额以元为单位,精确到小数点后两位 |
| 实际支付金额 | totalAmount | Number(9,2) | 是 | 用户实际支付金额 |
| 支付平台订单号 | outTradeNo | String(128) | 是 | 支付平台里唯一的订单号 |
| 支付平台订单时间 | tradeTime | String(20) | 是 | 格式为 yyyy-MM-dd HH:mm:ss,例如:2015-01-01 12:45:52 |
| 交易状态 | tradeStatus | Int | 是 | 1 = 交易成功,0 = 交易失败,-1 = 交易中 |
| 银行卡号 | bankCard | String | 是 | 银行卡号 |
| 银行名称 | bankName | String | 是 | 例如:中国银行 |
| 户主名称 | bankAccount | String | 是 | 例如:张三 |
交易状态说明
| 状态值 | 说明 |
|---|---|
| 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 ? '失败' : '处理中'));
}五、注意事项
- 订单号:
outTradeNo使用创建订单时返回的平台订单号 - 轮询查询:建议间隔 30 秒以上查询,避免频繁调用
- 最终状态:订单状态为
1(成功)或0(失败)时为最终状态 - 签名验证:建议验证响应签名确保数据安全性
