支付宝异步通知验签失败是怎么回事_异步通知验签的原因

lys2019年06月11日 0条评论

支付宝异步通知验签失败是怎么回事

支付宝异步返回验签失败,大部分是公钥错误导致的,这个公钥不是我们自己生成的那个的应用公钥而是支付宝提供的那个公钥,所以这边大家可以看下是不是这个问题,把公钥替换为支付宝公钥

其他问题可以参考如下

步骤检查 
1.请检查代码中支付宝公钥是否正确; 
2.验签使用的支付宝公钥与签名类型(请求时传入的sign_type参数)是否匹配。Sign_type设置了RSA或RSA2,需使用与之对应的支付宝公钥,不能混淆使用; 
3.支付宝返回内容验签失败:检查网关地址是生产环境还是沙箱环境,必须使用与之匹配的app_id与支付宝公钥;检查编码类型是否正确;检查代码中支付宝公钥参数与开放平台上获取的支付宝公钥是否一致;检查生成待验签串流程是否正确因为同步和异步返回报文不同,见下面。 
针对同步返回内容验签: 
1).检查验签内容是否完整,支付宝返回的json中xxx_response的值(xxx代表接口名),验签需要包含json首尾的“{”和“}”两个大括号,双引号也需要参与验签。 
2).如果字符串中包含“http://”的正斜杠,需要先将正斜杠做转义。当验签不通过时将正斜杠转义一次后再做一次验签。 
针对异步通知内容验签: 
1).待验签字符串中,是否剔除了sign、sign_type两个参数。 
2).待验签字符串中,每个参数值是否进行url_decode。 
3).待验签字符串中,参数是否进行了字典排序。