依次排查:
1、menifest.json中配置了微信的appid是不是微信开放平台(微信开放平台)对应的APP id,包名是否和微信开放平台对应APP的包名一致(com.******.app)
2、服务端请求prepareid是否正确返回
3、服务端返回数据格式与官方是否一致(还有你的付款金额不能低于0.01元也就是不能低于1分钱哟):
{"appid":"wxbe5db39***866","noncestr":"b9Wq4******kx3PQ","package":"Sign=WXPay","partnerid":"1486361592","prepayid":"wx2017081***90224970694","timestamp":1502786229,"sign":"A9A87CB00BDEA1***A35EF4B325"}
如果不一致,去https://github.com/dcloudio/H5P.Server/tree/master/payment/wxpayv3查看php如何写后端接口,如果你是java开发的后端自己百度对应的样例
4、是否使用了自己生成的keystore证书,千万别用google的免费证书,否则你怎么死的都不知道,生成个人证书的方式
5、android版云打包数字签名与微信开放平台是否一致,具体获取安卓apk的签名方法去https://jingyan.baidu.com/album/84b4f565a4864760f7da3250.html?picindex=2查看
手机里面查看apk签名界面
我是到了第五步才解决此问题的,当你去微信开放平台修改了对应APP的应用签名的时候,一定要等他个几分钟,毕竟人家腾讯服务器也会有缓存,然后你再把自己的app缓存清除下,或者重装一次再去测试支付就可以唤起微信支付了