收藏
回答

微信支付第一次成功,之后返回-1,需要清除微信用户数据,才能再支付一次,appid和签名都是正确的?

Android 端出现的问题

1 我的appid和签名、包名都是没有问题的。因为项目里面的微信分享和登陆都是可以正常使用的,不要再说设置的appid和包名和签名有问题了

2 微信支付权限已开通三天了,支付能力是有的,开放平台也能看到,支付是审核通过的

3 吊起支付的代码也是没有问题的(官方的app demo应该没有问题,只替换了appid,包名和签名(也考虑了debug和relece的差异,配置了走relece的签名),同样替换另一个项目可以正常支付)

req.appId = json.getString("appid");
req.partnerId = json.getString("partnerid");
req.prepayId = json.getString("prepayid");
req.nonceStr = json.getString("noncestr");
req.timeStamp = json.getString("timestamp");
req.packageValue = json.getString("package");
req.sign = json.getString("sign");
api.sendReq(req);


4 PayEntityActivity配置正确,依照官方demo配置的

5 将PayEntityActivity放到了指定的位置

6 现在我们有两个项目,一个项目是后台是md5校验的,一个HMAC-SHA256校验的,我用官方的demo修改后,支付md5校验的是可以的,不存在只能支付一次的问题,而HMAC-SHA256校验的只能支付一次

诉求1 请求官方能给我查一下我的appid是否具有支付能力或者其他微信后台的异常信息

问:后台用HMAC-SHA256校验的,我们Android端是不是要特殊处理?

如果需要设置校验类型signType 那么这个signType的取值是什么?取值范围是多少


req.signType="sha256";
api.sendReq(req);

如果需要设置校验类型signType 那么这个signType的取值是什么?取值范围是多少
回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    2020-09-03

    1,可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、在开放平台配置的应用签名与实际的不符、其他异常等。

    2,开放平台对应的包名与签名是否有正确设置如下:

    https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_5


    2020-09-03
    有用
    回复 8
    • NO?
      NO?
      2020-09-03
      别复制粘贴这些东西了,我的问题你看了吗?
      2020-09-03
      1
      回复
    • 微信支付技术助手8
      微信支付技术助手8
      2020-09-03回复NO?
      -1问提,就是你的配置上有问题。你这边也说了,有变动过你的签名,以及包名等数据。麻烦仔细核查一下。
      2020-09-03
      回复
    • NO?
      NO?
      2020-09-10回复微信支付技术助手8
      我找到问题了
      2020-09-10
      1
      回复
    • NO?
      NO?
      2020-09-10回复微信支付技术助手8
      原因是我是Android开发的,我不知道后台怎么写的,后台给我返回的是服务号的appid,而不是我app的appid。其实吊起支付的appid应该和统一下单的接口以及和重新签名返回给Android的appid保持一致,我之所以找不到问题,是因为后台一直说H5支付是可以的,Android怎么不行,总是让我找自己的问题,这是其一。

      我横向的对别了另一个项目的支付,我发现了他也有两个appid,后台重新签名的appid和吊起支付的appid不一致,所以我一直觉得这两个appid就一定是不一样的。之前怀疑过这两个appid应该是一样的,让后台给我返回过,但是还是出现了问题,因为后台没有通过我的appid去统一下单,而是直接给我签名之后返回了。坑中坑,才导致我这里的问题不断。
      2020-09-10
      3
      回复
    • NO?
      NO?
      2020-09-10
      我总结一下,官方也没有提醒过,对于Android端只能吊起一次微信支付的情况,一定要注意:后台统一下单的接口用的appid和后台重新签名的appid以及Android端唤起微信支付的appid要保持一致,特别是存在多端支付的时候,后台可能会出现混乱的情况,而且他们会告诉你H5可以,一定是你的问题,一句话噎死你。
      2020-09-10
      2
      回复
    查看更多(3)
登录 后发表内容
问题标签