下面由
thinkphp框架教程栏目给人人引见thinkphp网站付出宝异步回调验签失利问题,愿望对须要的朋侪有所协助!
手头一个项目,用到了付出宝手机网站付出,项目用tp做的,下载付出宝SDK后修改后调起一般,同步接口也可接见,但异步接口验签老是毛病失利,fail,追踪到AopClient.php的580行,下段代码处
if ("RSA2" == $signType) {
$result = (bool) openssl_verify($data, base64_decode($sign), $res, OPENSSL_ALGO_SHA256);//这句报错
} else {
$result = (bool) openssl_verify($data, base64_decode($sign), $res);
}
打印print_r(openssl_error_string());,输出的是
error:0906D06C:PEM routines:PEM_read_bio:no start line
百度无果,有说证书毛病的杂乱无章,本人换证书也没用。
厥后有时发明输入有问题,终究找到一个缘由:
这里吸收付出宝异步关照的时刻,不能运用I函数
$data=I("post.");//项目中如许写,致使付出宝传来的数据部份特别字符被过滤,细致主如果fund_bill_list和sign这两部份
$data=$_POST;//写成如许就好了
另有一点:
不管署名考证是不是准确,openssl_error_string()一直输出error:0906D06C:PEM routines:PEM_read_bio:no start line,这是我这边的状况,细致未穷究。
以上就是thinkphp网站付出宝异步回调验签失利问题的细致内容,更多请关注ki4网别的相干文章!
收藏 | 0