AinePay
EN中文
API 集成

取消订单

主动撤销一个尚未支付的订单。仅 INIT 状态的订单可以被撤销,撤销后订单状态变为 CANCEL

端点

  • Method: POST
  • Path: /api/merchant/order/cancel
  • Authentication: Required
  • Content-Type: application/x-www-form-urlencoded

请求参数

参数类型描述是否必需示例
orderIdstring商户订单 ID,长度 5~256,标识要撤销的订单。ORDER_10001

响应字段

顶层响应结构:

字段类型描述
successboolean请求成功时为 true
codeinteger业务结果代码。成功响应返回 0
dataobject撤销后的订单业务数据。
msgstring成功时通常为 ok,其他为错误信息。

订单数据:

参数类型描述是否必需示例
data.idstringAinePay 内部订单 ID。123456
data.orderIdstring商户侧订单 ID,与请求同。ORDER_10001
data.merchantIdinteger商户 ID。20001
data.userIdstring商户给用户分配的在 AinePay 系统中的 ID。U_90001
data.coinstring(enum)币种。USDT
data.chainstring(enum)区块链代码。ETH
data.addressobject支付地址信息。仅当 statusINIT(待支付)时返回,撤销后订单为 CANCEL,此字段为 null条件性null
data.qtystring订单金额字符串。100.12
data.statusstring(enum)订单状态,撤销成功后为 CANCELCANCEL
data.expiredinteger订单过期时间戳(毫秒)。1760000600000
data.payExpiredinteger支付页面过期时间戳(毫秒)。1760000300000
data.createdinteger创建时间戳(毫秒)。1760000000000
data.updatedinteger最后更新时间戳(毫秒)。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 状态的订单可以被撤销;对 PENDINGPAIDEXPIREDREFUND 订单调用会返回 ORDER_STATUS_INVALID
  • 撤销是幂等的:对已撤销(CANCEL)的订单重复调用仍返回成功。
  • 找不到该 orderId 对应的订单时返回 PARAMETER_ERROR
  • 写操作过于频繁时会被限流并返回 RATE_LIMITED