API 集成
取消订单
主动撤销一个尚未支付的订单。仅 INIT 状态的订单可以被撤销,撤销后订单状态变为 CANCEL。
端点
- Method:
POST - Path:
/api/merchant/order/cancel - Authentication: Required
- Content-Type:
application/x-www-form-urlencoded
请求参数
| 参数 | 类型 | 描述 | 是否必需 | 示例 |
|---|---|---|---|---|
| orderId | string | 商户订单 ID,长度 5~256,标识要撤销的订单。 | 是 | ORDER_10001 |
响应字段
顶层响应结构:
| 字段 | 类型 | 描述 |
|---|---|---|
success | boolean | 请求成功时为 true。 |
code | integer | 业务结果代码。成功响应返回 0。 |
data | object | 撤销后的订单业务数据。 |
msg | string | 成功时通常为 ok,其他为错误信息。 |
订单数据:
| 参数 | 类型 | 描述 | 是否必需 | 示例 |
|---|---|---|---|---|
data.id | string | AinePay 内部订单 ID。 | 是 | 123456 |
data.orderId | string | 商户侧订单 ID,与请求同。 | 是 | ORDER_10001 |
data.merchantId | integer | 商户 ID。 | 是 | 20001 |
data.userId | string | 商户给用户分配的在 AinePay 系统中的 ID。 | 是 | U_90001 |
data.coin | string(enum) | 币种。 | 是 | USDT |
data.chain | string(enum) | 区块链代码。 | 是 | ETH |
data.address | object | 支付地址信息。仅当 status 为 INIT(待支付)时返回,撤销后订单为 CANCEL,此字段为 null。 | 条件性 | null |
data.qty | string | 订单金额字符串。 | 是 | 100.12 |
data.status | string(enum) | 订单状态,撤销成功后为 CANCEL。 | 是 | CANCEL |
data.expired | integer | 订单过期时间戳(毫秒)。 | 是 | 1760000600000 |
data.payExpired | integer | 支付页面过期时间戳(毫秒)。 | 是 | 1760000300000 |
data.created | integer | 创建时间戳(毫秒)。 | 是 | 1760000000000 |
data.updated | integer | 最后更新时间戳(毫秒)。 | 是 | 1760000300000 |
示例响应
{
"success": true,
"code": 0,
"data": {
"id": 123456,
"orderId": "ORDER_10001",
"merchantId": 20001,
"userId": "U_90001",
"coin": "USDT",
"chain": "ETH",
"address": null,
"qty": "100.12",
"status": "CANCEL",
"expired": 1760000600000,
"payExpired": 1760000300000,
"created": 1760000000000,
"updated": 1760000300000
},
"msg": "ok"
}注意事项
- 只有
INIT状态的订单可以被撤销;对PENDING、PAID、EXPIRED、REFUND订单调用会返回ORDER_STATUS_INVALID。 - 撤销是幂等的:对已撤销(
CANCEL)的订单重复调用仍返回成功。 - 找不到该
orderId对应的订单时返回PARAMETER_ERROR。 - 写操作过于频繁时会被限流并返回
RATE_LIMITED。