收藏
回答

公众号(JSAPI)支付 统一下单成功,公众号内支付提示“支付验证签名失败”


后端调用统一下单接成功并返回了prepay_id,公众号内发起支付提示“支付验证签名失败”;使用接口签名校验工具发现参数有丢失,如图所示

已尝试的解决方案:

  1. 将加强方式更改为与接口签名校验工具一致,将prepay_id的值不纳入加签范围;

  2. 使用与统一下单方式一致的加签方式,即prepay_id的值纳入加签范围;

  3. 重置API Key (据说有人重置就对了。。。)

其他说明:

统一下单与JSAPI请求数据加签方式一致(MD5),nonceStr分别尝试了与统一下单一致和不一致的情况

回答关注问题邀请回答
收藏

1 个回答

  • 波
    2019-01-18

    您好,请按照以下几点来检查,

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

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

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

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

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

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


    2019-01-18
    有用
    回复 4
    • 某某某
      某某某
      2019-01-18

      已正常,还原成最开始的加签方式(昨天怎么试都不正常),appId、timeStamp、nonceStr、package、signType 排序、拼接、加签;

      2019-01-18
      1
      回复
    • 笑对人生xxs
      笑对人生xxs
      2019-08-07回复某某某
      请问具体是怎么改的,我都搞死了也不知道怎么回事。
      2019-08-07
      回复
    • 一念苍白
      一念苍白
      2019-11-20
      同问,怎么解决的,我也遇到这问题了
      2019-11-20
      回复
    • 超
      2020-01-08回复某某某
      请问你是怎么解决的
      2020-01-08
      回复
登录 后发表内容