关闭

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

标签: 微信支付返回-1第一次可以唤起android
4695人阅读 评论(11) 收藏 举报
分类:

之前公司做微信支付的时候,负责这一模块的同事,天天抱怨微信支付的各种坑还有文档的不清晰,最近帮朋友做了一个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之前的项目,从之前项目打印看出,两者一致的。

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

5
1
查看评论

微信app支付返回-1错误的情况解决方法

做过微信支付的都知道这是一个坑。。。 总结了一下最近两次微信支付中碰到的问题: switch (resp.errCode) { case -4:// 认证被否决 ToastUtils.showToast(this, R....
  • chniccs
  • chniccs
  • 2016-04-15 10:32
  • 21007

关于微信支付返回-1的浅谈

最近在开发一个项目,涉及到需要支持微信支付,在IOS调试通过的情况下,我做的安卓总是返回-1,着实让我着急了一把,后面终于解决了。由于是第一次做微信支付开发,所以在开发中遇到的一些问题,罗列出来以备后用,及分享给大家。如果任何问题请及时提出。
  • huxl2015
  • huxl2015
  • 2017-06-21 15:20
  • 1175

微信支付返回-1的情况和解决方式

微信支付虽然很坑,但是遇到的问题不是不可以解决的。 微信官网上对于支付返回-1是这样的描述的,  可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。 我犯的错和他描述的都不一样。 1、新建一个微信支...
  • lnniyunlong99
  • lnniyunlong99
  • 2016-07-08 14:20
  • 8524

微信App支付总结(返回-1什么的最e心)

微信支付总结简介 微信支付商户平台官网:https://pay.weixin.qq.com 版权声明:本文为原创文章,未经允许不得转载 更新时间:2016/6/27 本文说明现在很多项目都会集成微信登陆授权、微信公众号授权或者微信支付,然而当我们根据微信的开发文档进行开发的时候会发现...
  • KevinDGK
  • KevinDGK
  • 2016-06-27 17:17
  • 5851

微信支付 拉取支付失败 返回-1 解决办法

Android 微信支付统一下单成功,成功返回prepayid,启动支付, 拉取支付页面失败,直接调用回调页面,返回错误码-1
  • shaaiwei521
  • shaaiwei521
  • 2017-06-02 16:48
  • 2855

微信支付的坑 返回值 -1

最近在用android接入微信支付。。
  • zlj_fly
  • zlj_fly
  • 2014-11-04 18:12
  • 42488

微信支付启动时总是返回-1问题解决方法

很多人在开发的时候都遇到问题:为什么签名、appid都是正确的,但是运行应用的时候总是返回-1,提示签名错误。到底为什么呢? 微信支付申请有两种支付方式:一种是公众号支付,另一种是App支付,而微信支付申请通过后会发送邮件到你的账户,如果你申请了公众号支付和app支付的话你将会收到两封邮件...
  • cheunjq
  • cheunjq
  • 2016-08-02 17:53
  • 2044

Android 微信支付快速集成案例及有效解决返回值-1

商户在微信开放平台申请开发应用后,微信开放平台会生成APP的唯一标识APPID。由于需要保证支付安全,需要在开放平台绑定商户应用包名和应用签名,设置好后才能正常发起支付。本文讲解Android微信支付快速集成案例及有效解决返回值-1。下面我们参考微信官方APP端开发步骤说明,一步一步集成微信支付功能...
  • LeoLeoHan
  • LeoLeoHan
  • 2015-09-01 15:15
  • 12309

手机APP微信支付返回-1

最近在做一个电商类的手机APP,在调试微信支付的环节,调试了几个小时依然无法唤起微信支付,一直返回-1,看了网上不少人的帖子,仔细核对了appid、key等配置数据,都是正确的。只好换手机测试,发现在自己的安卓手机测试失败,在同事的安卓手机测试成功,在苹果上测试成功。 看网上不少人说微信清理一下缓存...
  • rumlee
  • rumlee
  • 2016-09-30 16:28
  • 781

微信支付失败-1彻底扫坑

http://bbs.csdn.net/topics/391865275 由于服务器返回的sign 不知道对应的timestamp,所以不能用它的,用本地自己的timestamp等参数生成sign,然后拿着这些参数请求支付接口,就可以了。 另外,注意要是签名包 private void genPay...
  • nnmmbb
  • nnmmbb
  • 2016-01-17 19:40
  • 13514
    个人资料
    • 访问:263123次
    • 积分:2991
    • 等级:
    • 排名:第13885名
    • 原创:46篇
    • 转载:0篇
    • 译文:0篇
    • 评论:329条
    QQ交流群

    Android路上

    611566797
    博客专栏
    我的公众号