微信返回的原始响应:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[SIGN_ERROR]]></return_msg>
<mch_appid><![CDATA[*************]]></mch_appid>
<mchid><![CDATA[*********]]></mchid>
<result_code><![CDATA[FAIL]]></result_code>
<err_code><![CDATA[SIGN_ERROR]]></err_code>
<err_code_des><![CDATA[签名错误]]></err_code_des>
</xml>
转账失败: 错误码: SIGN_ERROR, 错误描述: 签名错误
这个的签名错误是哪里的问题?
可以使用在线签名验签工具计算签名https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1
注:工具只校验参数格式,不校验密钥正确性
可以用工具生成的签名去请求接口,密钥正确的话,则请求一定会通过的。如果无法通过,考虑v2密钥和请求商户号不匹配或实际参数传递错误方向排查。有疑问欢迎继续咨询。
一般为V2 key不对或者计算签名参数与实际请求不一致