下面由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网站支付宝异步回调验签失败问题的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

Atom编辑器mac版下载
最流行的的开源编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

Dreamweaver CS6
视觉化网页开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中