微信支付返回-1的问题集锦与各种爬坑过程

之前公司做微信支付的时候,负责这一模块的同事,天天抱怨微信支付的各种坑还有文档的不清晰,最近帮朋友做了一个app,里面就有这一功能,看了一上午文档,瞬间发现我的语文也没学好,各种看不懂就算了,提供的代码居然还有错误,我可以骂人吗???!!!还有更恶心的就是第一次调试的时候可以唤醒微信,以后就一直返回-1,相信会有很多朋友和我遇到同样的问题。

先从申请微信支付说起,需要提供的包名和签名,包名这块肯定没问题了,只要从manifest中拷贝出来就可以了,签名这块文章就多了,之前同事搞了两天,主要原因就是因为签名这块出了问题,当时申请的时候让我提供签名,没跟我说需要什么格式,我提供的签名是如下这种方式:

签名

由于没读过微信支付提供的那个高深文档,不知道微信提供了获取签名的一个app,如下:

MD5

这里写图片描述

这里写图片描述

好了,现在签名的问题解决了,但是如果换签名的时候,这里还需要重新填写。

PS:回调返回-1错误,经常是签名错了或者换签名的时候忘记后台修改。

接下来就是对接了,对接所提供的代码,我可以骂人吗???!!!好吧,咱是文明国家的文明人,只做文明事,TMD,写的什么吊玩意,提供什么吊代码,官网提供可参考的三个SDK,解压后的文件夹如下:

SDK

这个看不出什么要吐槽的,丫的,打开文件夹后我瞬间懵逼了,微信你几个意思啊,提供一年前的就算了,还TM提供四年前的jar,微信没钱招人维护了吗?微信支付开始收费了,多收点,多招个人去维护文档吧,满足下广大开发者的小小需求,有图有真相,上图:

12

13

15

毫无疑问,我肯定选最新的jar了,接下来再看对接文档,IOS中的一个字段是“request.package = @”Sign=WXPay”;”,Android中是”request.packageValue = “Sign=WXPay”;“,在Java里面,package 是关键字没法做字段名称,真的就不能两个名称都写成packageValue 吗?多了五个字母,微信码字员收费很高吗?多了五个字母,我出五毛好不好?这五个字母的钱,让我来付。。。

字段没统一我忍了,文档别写错可以吗?

error

丫的,上面是request 下面就是req 了,五毛我都不给你。。。

再下来就是一件很搞笑的事情,回调的时候,路径必须是“包名+wxapi.WXPayEntryActivity”,这是在打广告吗?我们用的就是微信支付,不打广告也知道的,哎,专业点好不好!!!

PS:此处如果名称不对应,将收不到回调。

返回-1的情况:

  • 最常见的就是上述所说的签名的错误,此时最保险的方式就是从微信官网上下载获取签名的apk,通过那个apk去获取应用的签名。

  • appid错误,首先先检查app端和服务器端的appid是否与微信官方提供的一致。这次遇到的问题就是这个问题,搞了我两天,最后debug的时候,发现后台提供的appid和微信官网申请到的appid不一样,这是很奇怪的,相信微信不会给后台提供一个,app端提供另一个,带着这个疑问去debug之前的项目,从之前项目打印看出,两者一致的。

解决问题的过程中,发现网上也有和我一样的情况,第一次调用的时候可以唤醒微信,以后就没反应了,有的解决方案是清空缓存,这个方法就是胡扯,清理一次后,还是只能调用一次,总不能让客户每次支付完就去清空缓存吧,就算可以,这方式也是治标不治本,这些问题应该从根本上去解决。

微信JSApi支付是指在微信公众号或小程序内使用JSAPI调起微信支付功能,实现用户在微信内完成付款的一种方式。以下是常见的问题及解决方法: 1. 支付时提示“商户订单号重复” 解决方法:修改商户订单号,确保每笔订单的商户订单号唯一。 2. 支付时提示“支付金额与订单金额不一致” 解决方法:检查订单金额和实际支付金额是否相同,确保订单金额与实际支付金额一致。 3. 支付时提示“支付失败,请稍后再试” 解决方法:检查支付参数是否正确,确保支付参数的完整性和准确性。 4. 支付时提示“当前用户未授权,请先授权登录” 解决方法:用户需要先授权登录,获取用户信息后才能进行支付操作。 5. 支付时提示“当前用户未关注公众号” 解决方法:用户需要先关注公众号,才能进行支付操作。 6. 支付时提示“商户号与appid不匹配” 解决方法:检查商户号和appid是否对应,确保商户号和appid的匹配性。 7. 支付时提示“订单已关闭” 解决方法:订单可能已经被关闭或者已经完成支付,需要重新下单。 8. 支付时提示“系统繁忙,请稍后再试” 解决方法:服务器可能正在维护或者出现故障,需要等待一段时间后再尝试支付。 以上是微信JSApi支付常见问题及解决方法,如果以上方法无法解决问题,可以联系微信支付客服进行咨询。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值