qq_31353975
qq_31353975
采纳率100%
2017-02-16 06:41

Android 微信App支付 errCode==-2

20
已采纳

Android 集成微信APP支付,调用后台统一下单接口之后,调用api.sendReq(req);没有唤起微信确认支付页面,直接走到WXPayEntryActivity类,onResp方法里面去了,并且errCode==-2(感觉像就是用户手动点了返回取消支付),当退出整个App(System.exit(0));之后,这个时候微信确认支付页面才出来,且能成功支付(取消),errCode==0;少部分手机正常,大多数手机这样。。感觉有点像微信确认支付页面在Activity堆栈最下面一样(清单文件配置过了的,支付宝支付正常)。求帮助,有点急。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

16条回答

  • qq_31353975 qq_31353975 4年前

    不是代码问题,自己找到了,不支持targetSdkVersion 22,我只想说,微信做技术的。。真的有点烂

    点赞 评论 复制链接分享
  • yang44219 yang44219 4年前

    我的问题解决了,之前也是支付界面一闪而过,打印发现errCode=-2且打印了两遍,查代码发现有这么两句:
    msgApi.sendReq(request);
    OurSystem.out("--------------sendReg:" + msgApi.sendReq(request));
    就是这么请求了两遍。。。
    把下面那句注释掉就好了,也不知道是前面哪位神仙给我留的坑。。。

    点赞 2 评论 复制链接分享
  • qq_34020571 christyleylh 4年前

    有解决方案吗?一样的情况,小米,三星等可以跳转微信支付页面,华为手机不可以,跳转的时候闪一下就回来,返回-2,退出APP时又出现微信支付页面。。。

    点赞 评论 复制链接分享
  • cidwzhu414 丁十一 4年前

    解决了没啊? 我也遇到这个情况了

    点赞 评论 复制链接分享
  • qq_37691626 qq1670581164 4年前
  • anyanyan07 安妍妍 4年前

    你确定你找到的原因是对的,我做的项目targetSdkVersion就是22,微信支付没有任何问题啊。

    点赞 评论 复制链接分享
  • qq_33480242 互联网小方 4年前

    你这样不贴代码出来谁看的懂

    点赞 评论 复制链接分享
  • qq_31353975 qq_31353975 4年前

    。。。。没有进行任何操作。。直接跳转了,无用代码都删了

    点赞 评论 复制链接分享
  • qq_33480242 互联网小方 4年前

    你要想为什么出现跳转了

    点赞 评论 复制链接分享
  • oJiXuWeiXiao 芳芳12 4年前

    我也出现这个问题了,你已经解决了么?

    点赞 评论 复制链接分享
  • shirlyhug shirlyhug 4年前

    请问谁还解决过这个问题 我给微信发邮件了 也不搭理我 修改targetSdkVersion也不好使 我的也是这样 调起支付直接跳转WXPayEntryActivity errcode=-2 我看了下日志 没有任何报错 正常的检测唤醒微信之后 直接就提示我 退出微信支付

    点赞 评论 复制链接分享
  • qq_21874097 qq_21874097 3年前

    我出现了这个问题,我的原因是这样的
    msgApi.sendReq(request);这个方法是调起微信支付,我在这个方法下面还打了一个气泡
    Toast.makeText(MainActivity.this, "send return :" + msgApi.sendReq(request), Toast.LENGTH_SHORT).show();
    等于msgApi.sendReq(request)这个方法执行了2次,
    解决方式:删掉一个就行了,
    如果还是不行,把微信的那个activity设置成透明的试下

    点赞 评论 复制链接分享
  • qq_33115085 qq_33115085 4年前

    我也出现这个问题了,你已经解决了么?

    点赞 评论 复制链接分享
  • WXG_xiaoyan WXG_xiaoyan 4年前

    按照这个检查:用的EventBus来传递消息,而接收消息的生命周期太长了,在onCreate到onDestory之间,就导致两个不同的页面都收到了同一个消息,短时间内两次调用了msgApi.sendReq方法,所以就会出现这个问题。

    点赞 评论 复制链接分享
  • niatnuom helloa_cn 4年前

    我这边遇到了同样的问题,分析了两天,发现是eventbus引起的。
    new Thread 来使用eventbus post 消息就ok了

    点赞 评论 复制链接分享
  • qq_34020571 christyleylh 4年前

    问题解决了,填一下我的坑:
    1.调起支付接口的timestamp时间戳为秒数,10位;
    2.重复执行了iwxapi.sendReq(req),具体:
    LogUtil.d(TAG, "发起微信支付申请:" + iwxapi.sendReq(req));
    iwxapi.sendReq(req);
    我把下面的语句注释了,留上面LOG语句,竟然也能调iwxapi.sendReq(req)这个方法,所以才重复执行了。??
    所以还是不懂。。。

    点赞 评论 复制链接分享

相关推荐