主题
错误码
所有开放接口(/v1/open/payments*)失败时返回 {"code":"<错误码>","message":"<错误说明>","data":null}。
| HTTP | code | 场景 |
|---|---|---|
| 400 | PARAM_INVALID | 参数错误(message 给出具体原因;含 wechat_jsapi 缺 openid/长度不在 16~64、openid 与渠道应用ID 不同源) |
| 401 | INVALID_SIGNATURE | 签名不符/缺头(不区分细节,防探测) |
| 401 | TIMESTAMP_EXPIRED | 时间戳超 ±5 分钟 |
| 401 | REPLAY_NONCE | nonce 重复(8h 窗口) |
| 403 | APP_DISABLED | 应用被停用 |
| 429 | RATE_LIMITED | 超限流(默认 100 QPS/应用) |
| 409 | OUT_TRADE_NO_CONFLICT | 同号不同额(创建接口为 out_trade_no、退款接口为 out_refund_no 冲突) |
| 404 | ORDER_NOT_FOUND | 单号不存在或不属于本应用 |
| 409 | ORDER_NOT_PAYABLE | 订单非待支付(拉起段) |
| 409 | ORDER_NOT_REFUNDABLE | 订单不可退(非 paid/已全额退) |
| 400 | REFUND_AMOUNT_INVALID | 非全额/超额(一期仅全额退) |
| 400 | AMOUNT_OUT_OF_RANGE | 金额不在任何收款账户单笔限额内(商户 per_transaction_min/max 配置;创建时即校验,调整金额后重试) |
| 503 | NO_AVAILABLE_CHANNEL | 无可用支付通道(限额/熔断/配置) |
| 503 | CHANNEL_SUB_APPID_MISSING | 商户微信主体通道未配置渠道应用ID(channel_app_id)——运营在管理后台配置后恢复,调用方无法自修(仅 prepay wechat_jsapi) |
| 400 | OAUTH_CODE_REQUIRED / OAUTH_CODE_EXPIRED | 收银台微信内授权引导(前端自动处理,通常无需感知) |
| 500 | INTERNAL_ERROR | 平台内部错误 |
成功响应:{"code":"OK","message":"ok","data":{...}}。