错误码
错误响应格式
json
{
"code": 100001,
"msg": "签名验证失败",
"data": null
}公共错误码
| 错误码 | 说明 | 排查建议 |
|---|---|---|
| 0 | 成功 | - |
| 100001 | 签名验证失败 | 检查签名算法实现和 AppSecret 是否正确 |
| 100002 | AppKey 无效 | 确认 AppKey 是否正确,应用是否被禁用 |
| 100003 | 请求时间戳过期 | 检查服务器时间是否准确,时间差不超过5分钟 |
| 100004 | Nonce 重复 | 每次请求使用不同的随机字符串 |
| 100005 | IP 不在白名单 | 在控制台添加服务器IP到白名单 |
| 100006 | 请求频率超限 | 降低调用频率或申请更高配额 |
| 100007 | 无接口权限 | 在控制台申请对应API模块权限 |
| 100008 | 无数据权限 | 确认商户是否已授权你的应用 |
| 100009 | 参数校验失败 | 检查请求参数格式和必填项 |
| 100010 | 系统繁忙 | 稍后重试,如持续出现请联系技术支持 |
业务错误码
商户相关
| 错误码 | 说明 |
|---|---|
| 200001 | 商户不存在 |
| 200002 | 商户已下线 |
| 200003 | 门店不存在 |
会员卡相关
| 错误码 | 说明 |
|---|---|
| 300001 | 会员卡模板不存在 |
| 300002 | 会员卡已过期 |
| 300003 | 会员卡余额不足 |
| 300004 | 会员卡核销失败 |
| 300005 | 不在可用时段 |
订单相关
| 错误码 | 说明 |
|---|---|
| 400001 | 订单不存在 |
| 400002 | 订单状态不允许该操作 |
| 400003 | 订单已取消 |
| 400004 | 退款金额超过可退金额 |
商品相关
| 错误码 | 说明 |
|---|---|
| 500001 | 商品不存在 |
| 500002 | 商品已下架 |
| 500003 | 库存不足 |
错误处理建议
- 始终检查
code字段:不要仅依赖 HTTP 状态码判断成功与否 - 记录错误日志:将完整的错误响应记录到日志中,便于排查
- 区分可重试和不可重试错误:
100010(系统繁忙)可重试,100009(参数错误)不应重试 - 实现退避重试:对可重试错误使用指数退避策略