支付宝支付后台通知notify验证失败问题(其他支付方式同样被忽略的问题)
下面是通知验证的PHP代码
function rsaVerify($data, $ali_public_key_path, $sign) { $pubKey = file_get_contents($ali_public_key_path); $res = openssl_get_publickey($pubKey); $result = (bool)openssl_verify($data, base64_decode($sign), $res); openssl_free_key($res); return $result; }
验证不通过最有可能的两个原因:
1、公钥不正确。验证用到的是公钥,所以失败跟公钥有直接的关系,这个谁都知道。
2、notify_url带了参数。如果你的公钥确认是正确,可还是一直验证不通过,很有可能是你的notify_url带了参数了,这个也是会导致验证不通过的。
在最近接入的几种充值方式,就发现了银联充值notify_url不请允许带&,支付宝就一个参数都不能带。希望对正在接入充值的朋友有所帮助。