小微升级查询状态,提示签名异常,使用官方的工具生成的签名和返回的签名不同
工具地址:https://pay.weixin.qq.com/wiki/doc/api/xiaowei.php?chapter=20_1
<xml><return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<nonce_str><![CDATA[OkM5EFnTOUZWYUZV]]></nonce_str>
<sign><![CDATA[57E484205DAE0E6B1BFB893DA1C1854B665C7A99237C5440E608331B867E4E64]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<err_code><![CDATA[]]></err_code>
<err_code_des><![CDATA[]]></err_code_des>
<sub_mch_id><![CDATA[1548220461]]></sub_mch_id>
<applyment_state><![CDATA[NEED_SIGN]]></applyment_state>
<applyment_state_desc><![CDATA[待签约]]></applyment_state_desc>
<sign_qrcode><![CDATA[https://pay.weixin.qq.com/public/micro_upgrade_apply_sign/showQrcode?merchantId=xxx&sign=f8a3465bc91c4a45dd13b2e074fac1a2]]></sign_qrcode>
<sign_url><![CDATA[https://pay.weixin.qq.com/public/micro_upgrade_apply_sign/s?merchantId=xxx&sign=f8a3465bc91c4a45dd13b2e074fac1a2]]></sign_url>
</xml>
@微信支付技术助手1 我也遇到了这个问题,官方的demo和文档以及官方签名工具都是参数的值为空不参与签名,但是(提交升级申请单接口)和(查询升级申请单状态接口)这两个接口,却将值为空的参数(err_code和err_code_des)也参与了签名。 导致这个两个接口的签名与官方签名工具的签名不一致!
也碰到这个问题,参数的值为空也参与签名了(err_code 和 err_code_des为null),目前我们就在验签的时候没过滤空参数
检查参数,使用官方签名工具验证了,但生成的签名和官方接口返回的不一样。
检查key,是从官方网站后台生成的。其它的如小微申请,小微申请状态,小微升级提交等都没有问题,只有现在的小微升级查询提示签名不正确。
编码是统一的。
签名错误,不光需要检查参数。官方签名工具,能验证你的参数的正确与否。还要检查KEY,还有编码。这三点排查。