收藏
回答

调用微信退款接口返回签名错误

操作退款的时候,调用微信退款接口,返回“签名错误”,之前都是正常的,最近云服务器停掉以后,然后重新开启云服务,操作退款,发现报这个错误。

麻烦大家帮忙解答一下,不胜感激。

日志如下:

[INFO] - com.github.binarywang.wxpay.service.impl.WxPayServiceApacheHttpImpl.post[75 line] - ,

【请求地址】:https://api.mch.weixin.qq.com/secapi/pay/refund,

【请求数据】:<xml>,

  <appid>wx53******省略</appid>,

  <mch_id>157******省略</mch_id>,

  <nonce_str>1644984967685</nonce_str>,

  <sign>038BA94DD4A2A01****055B7A5F5AA70</sign>,

  <out_trade_no>20211216******省略</out_trade_no>,

  <out_refund_no>R2022******省略</out_refund_no>,

  <total_fee>14000</total_fee>,

  <refund_fee>5700</refund_fee>,

  <op_user_id>157******省略</op_user_id>,

</xml>,

【响应数据】:<xml><return_code><![CDATA[FAIL]]></return_code>,

<return_msg><![CDATA[签名错误]]></return_msg>,

</xml>,

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

2 个回答

  • kun
    kun
    2022-10-17

    我也遇到签名错误问题,然后支付调用正常,签名检查工具校验也没问题,退款一直报签名错误,搞了好久没啥用,然后把重新排了下参数顺序就通过了,我把参数顺序也有影响,

    这几个放到最前面然后就没出现了。。。


    2022-10-17
    有用
    回复
  • Memory (私信不回复)
    Memory (私信不回复)
    2022-02-16

    签名错误问题可以按照以下几点进行排查:

    1、使用签名检查工具校验签名算法是否有误

    2、确认秘钥是否有误(服务商模式使用服务商商户号秘钥,秘钥是在商户平台配置,如果同一商户号调用其它接口成功可排除是秘钥问题)

    3、确认接口实际的请求参数与生成签名原串的参数一致,不能增加或缺少参数(可通过打印签名原串进行排查)

    4、确认参数的大小写,参数名与接口文档一致

    5、签名原串的参数值使用原始值,不需要encode

    6、接口需要使用UTF-8编码


    2022-02-16
    有用
    回复 1
    • 享耳
      享耳
      2022-03-01
      我这边的问题和他一样 年前还可以退款现在不行了  支付可以
      2022-03-01
      回复
登录 后发表内容