Skip to content

状态、错误与重试 ​

支付状态 ​

下单字段为 orderState,查询及通知字段为 state。

值含义
0订单生成
1支付中
2支付成功
3支付失败
4已撤销(枚举状态,不代表提供撤销 API)
5已退款
6已关闭

退款和转账使用各自状态:0 创建、1 处理中、2 成功、3 失败、4 关闭。不要把不同单据的相同数字混为同一业务状态。

业务错误 ​

开放接口通常返回 HTTP 200 和 code=1,msg=错误描述,系统异常统一返回“系统异常,请稍后重试”。当前没有逐种业务错误的独立数值码,不要编造错误码或依赖渠道错误文案作为唯一资金判定。

常见提示处理方式
参数有误! / 验签失败检查商户、应用、密钥及签名原文
暂不支持该签名类型使用 MD5
商户订单已存在用原商户订单号查询,不重新扣款
支付方式不存在 / 未配置可用通道在管理端核对应用支付通道和实际渠道能力
订单不存在检查订单标识及商户/应用归属
当前订单不可关闭查询状态;已支付需退款
支付订单具有在途退款申请查询原退款单,等待终态
上游支付结果未知,请稍后查询订单状态继续查询原单,不当作明确支付失败

渠道错误信息通过 errCode、errMsg 返回,接口 code=0 仍可能携带资金失败状态。支付调起成功同样不代表已扣款。

超时和补单 ​

网关对支付中订单前六次快速查单,之后按持久化任务每五分钟继续查询。请求中断、消息丢失或 worker 中断均通过恢复任务继续处理;订单过期关闭前先查渠道结果。商户查询读取本地状态,短时间内仍可能看到处理中。

商户应设置合理的轮询间隔并保留原业务单号,通过查询和验签通知收敛状态。不要无限高频重试资金创建接口。退款未知时由后台继续查原退款号;调用退款查询获取最终结果。

接口行为以当前 payment 实现为准。示例商户号与密钥均为虚构。