Skip to content

状态与错误码

统一响应

成功:

json
{ "ok": true }

失败:

json
{
  "ok": false,
  "error_code": "insufficient_stock",
  "error_message": "insufficient stock"
}

业务失败可能使用非 2xx,也可能像 payment_failed 一样返回 HTTP 200。因此客户端必须同时检查 HTTP 状态码和 JSON 中的 ok

订单状态

状态说明建议处理
pending_payment待支付继续等待
paid已支付,等待交付继续等待
fulfilling正在履约继续等待
partially_delivered部分交付记录状态,继续等待
delivered已交付读取 fulfillment
completed已完成读取并保存 fulfillment
canceled已取消停止等待并进入取消流程

鉴权错误

错误码说明
missing_auth_headers缺少签名请求头
invalid_timestamp时间戳格式错误
timestamp_expired时间偏差超过约 ±60 秒
invalid_signature签名错误
invalid_api_keyAPI Key 无效或被禁用
user_disabled所属用户被禁用

业务错误

错误码HTTP说明
bad_request400参数无效
invalid_callback_url400回调地址非法
sku_unavailable400SKU 不可用
product_unavailable400商品不可用
product_not_found404商品不存在
order_not_found404订单不存在
insufficient_balance402钱包余额不足
insufficient_stock409库存不足
cancel_not_allowed409订单不可取消
payment_failed200钱包支付失败,ok: false
internal_error500服务端内部错误

重试策略

  • GET 查询可重试,建议退避间隔 1s → 2s → 4s,并设置最大等待时间。
  • 创建订单响应不确定时不要直接自动重试,避免重复购买;应先人工确认订单结果。
  • 参数、余额、库存和签名错误不应盲目重试。
  • 记录 error_code、HTTP 状态码和 order_id,但不要记录 Secret。

CheapEmail Open API Documentation