错误信息
UNIAPP错误提示信息如下
"errMsg": "requestPayment:fail [payment微信:-1]General errors",
"errCode": -100,
"code": -100
复制代码
由错误信息可以看到微信返回的错误码是-1,查询微信的官方文档得知可能的原因:
- 签名错误。
- 未注册APPID。
- 项目设置APPID不正确。
- 注册的APPID与设置的不匹配。
- 其他异常等。
排查思路
- 检查menifest.json中配置的微信appid是否和微信开放平台应用的appid、服务端使用的appid一致。
- android版云打包,数字签名,与微信开放平台配置一致,开放平台填写的应用签名要去掉冒号,要小写。改完应用签名要过一段时间才生效。
- 服务端的返回数据格式,注意字段名字或大小写。
{
"appid": "",
"partnerid": "", // 商户ID
"prepayid": "", // 预支付id
"noncestr": "", // 这个参数有些资料说要和唤起支付接口时使用的值一致,经测试无需一致也可以
"timestamp": ,
"package": "Sign=WXPay", // 固定值
"sign": "" // 这个签名是 用上面的参数二次签名得到的,和下单接口的签名不一致
}
复制代码
- “唤起支付接口”中的签名类型是否与“统一下单接口”的类型一致,密钥为32位时,签名一般是MD5。
- 微信退出重启一下。这里先尝试了清除缓存,测试无效后,退出账号重新登录后可以了。
问题
1、申请微信开放平台时,应用签名和应用包名都填写成了包名,根据排查2步处理解决。
2、签名修改正确后,测试还是不行,一直在排查各种可疑问题,最后还是微信退出账号重新登录解决了
参考
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END