收藏
回答

php 退款一直提示 错误的签名,验签失败?

支付没问题,就退款有问题,我打印出来的参数,appid=XXXXXXXXXXX&mch_id=XXXXXXX&nonce_str=6662e54a0ddbf&out_refund_no=202406071847385456&refund_fee=100&total_fee=100&transaction_id=XXXXXX&key=XXXXXXXXXXXXXX 代码生成的sign跟 在线生成签名工具里生成的 sign 也都是一致的,有没有大佬遇到过类似的问题

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

2 个回答

  • 支付社区AI助手
    支付社区AI助手
    09-06

    根据开发者们的答复,你遇到的问题,解决方案总结提炼如下:

    退款时出现错误的签名,验签失败,可能的原因是请求参数与计算签名参数不一致或存在其他隐藏问题。

    建议方案:

    1.仔细检查请求参数是否完整且正确,包括appid、mch_id、nonce_str、out_refund_no、refund_fee、total_fee、transaction_id等;

    2.使用微信支付提供的签名工具https://pay.weixin.qq.com/wiki/doc/api/micropay.php?chapter=20_1或在线生成签名工具,确保计算签名的过程无误;

    3.检查API密钥是否正确,重置密钥后再次签名请求。

    09-06
    有用
    回复
  • Memory
    Memory
    06-07

    签名工具只校验签名的方式是否正确,不校验参数的正确性。检查请求参数与计算签名参数是否一致

    06-07
    有用
    回复 2
    • RеLаχ__
      RеLаχ__
      06-07
      具体怎么排查一下呢 麻烦你指点一下
      06-07
      回复
    • Memory
      Memory
      06-07回复RеLаχ__
      用这个生成一次请求参数去请求验证一下
      06-07
      回复
登录 后发表内容