收藏
回答

微信支付demo第一调用成功之后每次都返回-1

公司需求:android APP内调起微信支付

先是在微信的官网上下载了微信支付的demo,修改好相应的参数,管理平台也设置了相应的包名、签名,打包成release版本的apk,运行到手机上,第一次可以正常调起微信支付,也可以支付成功,但是第二次之后,每次都返回-1,换手机后,也是第一次可以调起支付成功,以后每次都返回-1.

然后到处百度查看博客,卸载微信重新安装就可以再次调起微信支付流程成功。

难道只有卸载微信重新安装这种方法可行吗?有没有其它办法每次都可以正常调起微信支付的呢?

(调起微信支付控件时上送参数都是动态的,非写死的参数)


看了社区微信支付官方的回答:

1)你签名中的key,也就是你的API密钥key,这个参数要你们自己到商户平台设置的,设置的规则是32位数字与字母大小写的组合的随机数,不能设置成签名串和参数appsecrete,你们有正确设置吗???

2)检查开放平台对应的包名与签名是否有正确设置。

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5 这里有详细的设置说明。

3)调用支付使用的noncestr这个参数必须和商家服务器调用统一下单接口返回的那个noncestr一致

4)从预支付订单返回的数据 ,没有重新签名,也会引起这个问题。

5)重新安装微信后试试。


1-4点都排除了,如果1-4点有问题,为什么第一次可以调用成功呢?

第5,可以,但是每次都需要卸载微信重新安装才行,不知道如何解决这个问题,也不知道为什么会出现这个问题?


@微信支付技术助手,请帮忙协助解决下吧,万分感激

最后一次编辑于  2019-05-16
回答关注问题邀请回答
收藏

3 个回答

  • NO?
    NO?
    2020-09-02

    你这个问题解决了吗?我现在也遇到了同样的问题,而且官方提及的这些都排除了,还是这样的问题

    2020-09-02
    有用
    回复
  • 大衍神君
    大衍神君
    2019-05-21

    关于您说的:

    1)你签名中的key,也就是你的API密钥key,这个参数要你们自己到商户平台设置的,设置的规则是32位数字与字母大小写的组合的随机数,不能设置成签名串和参数appsecrete,你们有正确设置吗???


        请问这个是下面这个吗?

        request.sign

    上面说的设置步骤是客户端需要做的操作吗?

    2019-05-21
    有用
    回复
  • 微信支付技术助手4
    微信支付技术助手4
    2019-05-17

    你们是服务商模式的吗,如果你们是服务商模式,是需要在统一下单的时候传sub_appid的

    2019-05-17
    有用
    回复 1
    • 金色阳光
      金色阳光
      2019-05-17

      @ 支付技术助手4 官 是服务商模式,下单的时候传sub_appid了,还有哪方面的可能性导致这样问题的呢?


      2019-05-17
      回复
登录 后发表内容