收藏
回答

求助:小程序支付验签失败, 还需要检查哪些地方?

https://pay.weixin.qq.com/wiki/doc/apiv3/apis/chapter3_5_4.shtml

统一下单接口支持MD5和HMAC-SHA256. 这两个的签名保持一致和不保持一致都试过了. 一直报的错误是支付验签失败. 两次签名的字段大小写问题检查过了. 两次签名使用的nonceStr也保持一致了. 统一下单里没有timeStamp字段, 这个不知道怎么保持一致. 在下面的地址验证签名没有问题https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1

求助: 还需要检查什么地方.

后台编程语言:java, 前端使用小程序wx.requestPayment发起支付

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

2 个回答

  • Memory
    Memory
    2021-11-01

    所以,你到底用的V2还是V3?

    2021-11-01
    有用 1
    回复 3
    • 国泰民安
      国泰民安
      2021-11-01
      刚才用V3跑了一遍,  确认使用例子$ echo -n -e \
      "wx8888888888888888\n1414561699\n5K8264ILTKCH16CQ2502SI8ZNMTM67VS\nprepay_id=wx201410272009395522657a690389285100\n" \
        | openssl dgst -sha256 -sign apiclient_key.pem \
        | openssl base64 -A  输出的签名和程序生成的签名一致.
      2021-11-01
      回复
    • 国泰民安
      国泰民安
      2021-11-01
      找到个问题, 签名有等号, 我encode一下. 我是html转小程序支付,  所以有encode问题
      2021-11-01
      回复
    • 国泰民安
      国泰民安
      2021-11-01
      解决了.   是签名没有encodeURIComponent的问题.  他们的不用是因为没有经过html转小程序,  我的是webview内传参数的.
      2021-11-01
      回复
  • 国泰民安
    国泰民安
    2021-11-01

    第一遍用的v3,签名有问题, 后面用的v2, 再后面用的v2下单+v3发起支付.

    我再重新用v3试一次. 确定一下.


    2021-11-01
    有用
    回复
登录 后发表内容