【Web前端问题】微信支付报错
用cordova开发混合应用,在调用微信支付插件时一直报错:普通错误。
在此之前一直已经用微信插件做完三方登陆和分享,都是正常的,我也上微信的开放平台上核对了APP的包和签名是没有问题的,可支付一直报这个错,没有另外的提示,哪位大神帮忙解决一下~!!!!!!小弟在些谢谢了~!!!!!!
回答:
历经三天,终于解决。
分享一下经验:
用cordova-plugin-wechat插件做微信支付功能,调用客户端返回“普通错误”时,基本的问题出的的可能是:
1、android打包的APK签名和公众平台填写的是否一致
2、误把公众号的appId拿来用了(有的人开发的时候有同时申请公众号)
3、调用微信里传的params的数据有问题
一、我想你用cordova-plugin-wechat插件时应该不光是做支付可能还有三方登陆和分享,因为支付的错误提示比较坑,签名不对和数据不对都回一个提示根本无法区别。你如果三方登陆或分享做成功那,那支付回这个错90%就是params内的数据不对造成的。
二、appId不对的话一般后台在生成预处理订单也会报错,到你这的可能性不大。
三、调用微信里传的params的sign是要对六个数据进行加密,而且顺序不能错,顺序不对,加密后返回的SIGN字符串也是不一样的,他的报错也是普通错误。(我就是卡在这个地方了)
所以,报“普通错误”不单单只是签名问题,后台给你回的数据如果不对,也会报这个错,前期因为查找方向不对,白白浪费时间。(吐槽一下:微信支付的开发文档里对先成预处理订单后很多后台直接把微信后台给的信息里的SIGN直接又给前端或android,在这里要给前端和android的sign是要重新加密的,另外,加密是要有顺序的,顺序不能错,微信,你敢报错提示再详细点吗?????!!!!)
以上是 【Web前端问题】微信支付报错 的全部内容, 来源链接: utcz.com/a/142017.html