蓝鲸支付支付知识库

支付回调失败排查方法

先确认订单是否已经到账,再从“支付服务能否访问回调地址、业务端能否正确验签、最终是否返回纯文本 success”三个层次排查,可以快速缩小问题范围。

一、先判断故障发生在哪一段

二、检查回调地址

  1. 确认创建订单传入的 notifyUrl 是否正确;它会优先于后台默认地址。
  2. 从公网直接访问域名,检查 DNS、HTTPS 证书和防火墙。
  3. 回调接口不要依赖登录态、验证码或浏览器 Cookie。
  4. 若 URL 已有查询参数,业务框架应正确解析后续参数。
本地地址、内网 IP、仅开发机可访问的端口无法被云端服务正常回调。

三、确认请求方式和字段

蓝鲸支付异步通知使用 GET,请确认路由允许 GET 请求。字段包括 payId、param、type、price、reallyPrice 和 sign。不要只读取 JSON 请求体。

四、逐字符核对签名

md5(payId + param + type + price + reallyPrice + 通讯密钥)

五、返回内容必须准确

验签和业务处理成功后,响应体应为小写纯文本:

success

不要返回 {"code":1}、Success、HTML 页面或额外调试信息。检查框架是否统一包装了响应,代理层是否插入错误页,以及异常是否导致 HTTP 500。

六、检查业务订单处理

验签成功后还应校验订单存在、尚未完成、支付方式和金额合理。建议先开启数据库事务,按唯一订单号执行条件更新,再发放权益。回调可能重复到达,重复请求必须返回成功但不能重复发货。

七、建立可对照的日志

支付服务日志记录平台订单号、商户订单号、目标 URL、响应状态和响应摘要;业务日志记录接收时间、订单号、验签结果、更新行数和最终响应。密钥与完整签名原文应脱敏。

八、快速检查清单

还未定位?

核对接口字段检查安卓监听