跳到主要内容

查询订单

API 说明

使用此 API 可以通过商户订单号查询现有订单的状态和详细信息。

接口信息

  • 接口 URL: POST /v2/queryOrder
  • Content-Type: application/json
  • 认证: 需要在 Header 中传递 app-id 和签名验证

请求头参数

参数类型是否必需描述
app-idstring商户应用 ID
Content-Typestringapplication/json

请求参数

参数类型是否必需描述
signstring请求签名
outTradeNostring要查询的商户订单号

响应参数

成功响应

{
"code": 0,
"data": {
"merchantUuid": "",
"appId": "app-caf118dc-4e23-4ced-ab23-8a3f65d5071a",
"merchantOrderNo": "ORDER_1754379719703_5951",
"orderNo": "1754379945757879200",
"tokenSymbol": "USD",
"tokenCount": "20",
"currencyId": "USD",
"payHash": "",
"payObject": "",
"state": "NON_PAYMENT",
"timestamp": 1754379719,
"timeExpire": 900,
"payTime": 0,
"callbackCount": 0,
"callbackState": ""
},
"msg": "success"
}

错误响应

{
"code": 1001,
"data": {},
"msg": "Order not found"
}

请求示例

cURL 示例

curl -X POST "/v2/queryOrder" \
-H "Content-Type: application/json" \
-H "app-id: your-app-id" \
-d '{
"sign": "c2lnbmF0dXJlX3Rlc3Q=",
"outTradeNo": "ORDER_1754379719703_5951"
}'

JavaScript 示例

const queryData = {
sign: "c2lnbmF0dXJlX3Rlc3Q=",
outTradeNo: "ORDER_1754379719703_5951"
};

fetch('/v2/queryOrder', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'app-id': 'your-app-id'
},
body: JSON.stringify(queryData)
})
.then(response => response.json())
.then(data => {
if (data.code === 0) {
console.log('订单已找到:', data.data.orderNo);
console.log('订单状态:', data.data.state);
console.log('代币数量:', data.data.tokenCount, data.data.tokenSymbol);
} else {
console.error('查询失败:', data.msg);
}
})
.catch(error => {
console.error('请求失败:', error);
});

Python 示例

import requests
import json

url = "https://api.chainpay.com/v2/queryOrder"
headers = {
"Content-Type": "application/json",
"app-id": "your-app-id"
}

query_data = {
"sign": "c2lnbmF0dXJlX3Rlc3Q=",
"outTradeNo": "ORDER_1754379719703_5951"
}

try:
response = requests.post(url, headers=headers, json=query_data)
result = response.json()

if result["code"] == 0:
order_data = result["data"]
print(f"订单已找到: {order_data['orderNo']}")
print(f"订单状态: {order_data['state']}")
print(f"代币数量: {order_data['tokenCount']} {order_data['tokenSymbol']}")
print(f"支付时间: {order_data['payTime']}")
else:
print(f"查询失败: {result['msg']}")
except requests.exceptions.RequestException as e:
print(f"请求失败: {e}")

响应字段说明

成功响应字段

字段类型描述
codeinteger响应代码,0 表示成功
dataobject订单数据
data.merchantUuidstring商户 UUID
data.appIdstring应用 ID
data.merchantOrderNostring商户订单号
data.orderNostring系统生成的订单号
data.tokenSymbolstring代币符号(如 USD、USDT)
data.tokenCountstring代币数量
data.currencyIdstring货币 ID
data.payHashstring支付交易哈希
data.payObjectstring支付对象信息
data.statestring订单状态(NON_PAYMENT、PAID、EXPIRED 等)
data.timestampinteger订单创建时间戳
data.timeExpireinteger订单过期时间(秒)
data.payTimeinteger支付完成时间戳(未支付时为 0)
data.callbackCountinteger回调尝试次数
data.callbackStatestring回调状态
msgstring响应消息

订单状态值

状态描述
NON_PAYMENT订单已创建但未支付
PAID订单支付成功
EXPIRED订单已过期
CANCELLED订单已取消
REFUNDED订单已退款

错误响应字段

字段类型描述
codeinteger错误代码
dataobject错误响应的空对象
msgstring错误消息描述

错误代码

代码描述
0成功
1001订单未找到
1002无效签名
1003无效参数
1004缺少必需参数
1005访问被拒绝