Android端接入微信支付的坑

这篇文章纯属记录,在一个问题上的爬坑辛酸(>~<)

微信支付开发文档:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5

微信支付开发步骤:

遇到问题:

步骤1、2、3都没问题,卡在了步骤四,App调起微信支付时,出错了,一直返回-1,一直返回-1,一直返回-1!!!

真的好气哦,用了一天来解决这个问题!

其实主要是微信的开发文档并不友好,甚至有点恶心!(>!<)

为什么这么说,看看他给的文档就知道了,-1,-1,-1!!!

签名问题?

先看看我的上任大佬,遇到这个问题总结的博客吧,https://www.jianshu.com/p/ca7707943423

多半是签名问题,但是后台服务器返回的签名进行过二次签名啊,而且我也尝试过不用后台返回的签名,自己签名,但是依然报那个该死的-1错误。

于是和后台不停的调试,对字段,看空格,大小写···,但是调用微信支付的代码量真的不多,无论Android前端还是后台,就不知道错在哪儿了!!!

看微信Demo?https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1

但是说实话,我还是很抱怨微信提供的文档,连个Demo都这么恶心,AS打开不停的报错,解决一个还来一个,索性不看你了呗

重点来了-》来填坑吧

我们知道要接入微信支付,需要微信支付开发文档,还有微信开放平台-管理中心,既然使用前者找不出问题,就看看后者吧!

好吧,问题就出在这了,你个小妖精,终于被我抓住了。

在管理中心需要配置app的包名和签名,包名肯定没问题,应用签名那就用APK helper看看呗,不看不知道一看吓一跳,签名竟然不一样,额,额,额,

原来啊,上任大佬走之前改了app的签名文件,忘了在管理中心更新应用签名!!!

解决问题

你以为改了应用签名就可以了吗?no,no,no,程序员总是乐观主义者,为啥还是返回-1呢,我相信还是有很多同学都遇到这个问题了,然后找找啊,原来问题出在这

~豁然开朗~

虽然你后台应用签名修改过了,并且修改后的应用签名可以立即生效,但是之前app调用微信的时候使用的签名已经保存在微信中了,客户端会缓存之前的签名!!!

最后,去将微信的数据缓存给清除或者就是将微信客户端重新安装,就可以成功接入微信支付啦,啦啦,啦啦啦~

自我总结:

微信支付,从三方面查找问题,

  • android代码中的签名、appid等;
  • 服务器后台访问微信以及传给android客户端的数据字段,还有二次签名等;
  • 微信开放平台-管理中心的包名和应用签名。

总的看来,签名出错几率比较大。为啥好多人容易出错,因为不只是应用内的代码,还涉及其他人员和平台的辅助。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值