laravel 5.*进行支付宝同步/异步通知签名验证问题汇总
Song •
2923 次浏览 •
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中distinct()的使用方法与去重 2017-09-11
-
Laravel将view缓存为静态html,laravel页面静态缓存 2021-10-09
-
[ laravel爬虫实战--基础篇 ] guzzle描述与安装 2017-11-01
-
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 2017-07-18
-
laravel11如何启用routes/api.php无状态路由 2025-03-06
热门文章
-
laravel11如何启用routes/api.php无状态路由 2025-03-06
-
oppo手机默认浏览器urlscheme 2025-02-13
-
mysql如何给运营人员添加只有查询权限的账号 2024-12-02
-
Mac 安装mysql并且配置密码 2024-11-20
-
阿里云不同账号(跨账号)ECS服务器同地域如何实现免费内网互通? 2024-11-12
更多相关好文