收藏
回答

通过官方检测工具检查签名正确,但手机微信上总提示支付验证签名失败

开发公众号的微信支付,先通过JSAPI的统一下单接口获取了随机字符串nonce_str和prepay_id,然后按照微信内H5调起支付的要求,在后端重新通过WXPayUtil.generateSignedXml()的方式生成了签名,并将生成该签名时用的时间戳给前端页面,最后在微信内访问该前端页面,却提示支付验证签名失败,我生成签名时的mch_key应该是没错的,因为之前我已经用它开发了扫码支付,是正常的,非常郁闷,不知道是哪里出了问题,下面是该部分后端代码,我将该后端返回的结果放在前端页面里使用

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

2 个回答

  • 北望沣渭
    北望沣渭
    2020-10-21

    和刚才https://developers.weixin.qq.com/community/pay/doc/0008c83900c01826202b26eef51000 这个问题很类似,你这个是微信内JSAPI唤起微信支付,和微信外H5唤起微信支付不是一回事,paramMap2.put(“appid” 要写成 paramMap2.put(“appId"

    2020-10-21
    有用 2
    回复 3
    • Mr.羊
      Mr.羊
      2020-10-21
      按您说的改了  还是错误 您能再看看么
      2020-10-21
      回复
    • 北望沣渭
      北望沣渭
      2020-10-21回复Mr.羊
      看下 new Date().getTime()/1000 这块,这里需要是10位的,debug看下是不是有余数?
      2020-10-21
      1
      回复
    • Mr.羊
      Mr.羊
      2020-10-21
      是这个原因,我粗心忘记写Math.round()了,感谢大佬解决了!
      2020-10-21
      1
      回复
  • 庄
    发表于移动端
    2020-10-21
    马岩
    2020-10-21
    有用 1
    回复
登录 后发表内容
问题标签