支付宝即时到账回调函数调试 PHP

xcLtw 发布于 2015/11/25 11:02
阅读 2K+
收藏 0

首先是如图的验证这里,断点测试验证失败了;

进入验证方法后通过日志发现$isSign和$responseTxt都失败;

$result = (bool)openssl_verify($data, base64_decode($sign), $res); logDebug("verifyNotifyt=========result======".$result."===LastErrMsg===".openssl_error_string());
进入了第一部分的验签,这里用openssl_error_string,返回一个错误:error:0906D06C:PEM routines:PEM_read_bio:no start line。这里的错误信息找了一下午,没有什么进展,PHP关于这个返回没有更多说明,于是进行不下去了。希望有经验的前辈指点一下,这个错误处理,或者前面有什么错误也请指正~

以下是话题补充:

@xcLtw:图没有全,大概是系统限制了。。 $alipayNotify = new AlipayNotify($alipay_config); $verify_result = $alipayNotify->verifyNotify(); 首先指的是这里验证失败; $isSign = $this->getSignVeryfy($_POST, $_POST["sign"]); $responseTxt = 'true'; if (! empty($_POST["notify_id"])) {$responseTxt = $this->getResponse($_POST["notify_id"]);} 其次这两个方法返回失败,之后的是第一个失败的下属方法,返回openssl_verify的错误信息 (2015/11/25 11:16)
加载中
-1
xcLtw
xcLtw
这段时间安排做了其他的事情。。这个接口之后找时间弄清楚再贴份答案来吧。
0
杨三更
杨三更
应该是证书问题 检查格式。。
xcLtw
xcLtw
文件里按照要求是4行
0
xcLtw
xcLtw

引用来自“杨三更”的评论

应该是证书问题 检查格式。。
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCnxj/9qwVfgoUh/y2W89L6BkRA
FljhNhgPdyPuBV64bfQNN1PjbCzkIM6qRdKBoLPXmKKMiFYnkd6rAoprih3/PrQE
B/VsW8OoM8fxn67UDYuyBTqA23MML9q1+ilIZwBC2AQ2UBVOrFXfFl75p6/B5Ksi
NG9zpgmLCUYuLkxpLQIDAQAB

-----END PUBLIC KEY-----

这是支付宝文档要求的格式公钥,应该没错吧

0
盛夏光年
盛夏光年
仔细检查下吧~  或者拿已经ok的demo试试 或者直接原来的demo扔到你的环境里面试试  一般这种问题都是证书的格式或者其他的数据有异常的问题
0
jinsinuo
jinsinuo
楼主解决没
xcLtw
xcLtw
并没有从其他任务抽身。。瞎忙
返回顶部
顶部