laravel 5.*进行支付宝同步/异步通知签名验证问题汇总
Song •
3259 次浏览 •
0个评论 •
2018年02月13日
支付宝同步/异步通知签名验证在我们支付成功之后常常会用到,但是在我们的使用过程中常常会出现各种问题,今天我汇集一下使用方法与问题汇总
一、使用方法
如下demo所示,我们需要alipayrsaPublicKey和$params,$params为你获取到的所有参数,你可以直接传$request->all()即可
$aop = new AopClient();
$aop->alipayrsaPublicKey = "支付宝公钥";
$result = $aop->rsaCheckV1($params, null, "RSA2");
return $result;
二、常见问题汇总
1、出现openssl_verify(): supplied key param cannot be coerced into a public key错误
遇到如上问题,需要核对您的alipayrsaPublicKey是否正确,这里是支付宝公钥而不是您输入的应用公钥,如图所示:
其二、看一下是否是使用$aop->alipayrsaPublicKey = "支付宝公钥";这种方法传值
2、签名验证失败
使用rsaCheckV1()验证签名返回false时候,表示我们的加密解密没有问题了,只是我们的验证失败。
- 1、首先你要查看您是否使用了
$request->all()获取了所有参数。 - 2、
csrf验证必须关闭,Middleware\VerifyCsrfToken修改$except,添加异步通知的列外,如添加一行alipay/*。
3、支付宝验签返回0或1,不返回true和false
支付宝验签返回0或1,不返回true和false,其中1代表成功,0代表失败,自己改一下即可。
-
[ laravel拓展 ] 使用laravel agent轻松识别客户端信息以及设备信息 2018-02-11 -
解决laravel出现Syntax error or access violation: 1055 '***' isn't in GROUP BY报错问题 2018-02-10 -
laravel5.*添加创建自定义全局函数(辅助函数) 2018-02-09 -
[ laravel-mongodb教程 ] laravel使用/升级/配置mongodb数据库 2018-02-07 -
[ laravel-mongodb教程 ] Laravel/Lumen安装配置Mongodb扩展 2018-02-07

更多相关好文