laravel 5.*进行支付宝同步/异步通知签名验证问题汇总

Song2029 次浏览0个评论2018年02月13日
支付宝同步/异步通知签名验证在我们支付成功之后常常会用到,但是在我们的使用过程中常常会出现各种问题,今天我汇集一下使用方法与问题汇总 一、使用方法 如下demo所示,我们需要alipayrsaPublicKey和$params,$params为你获取到的所有参数,你可以

支付宝同步/异步通知签名验证在我们支付成功之后常常会用到,但是在我们的使用过程中常常会出现各种问题,今天我汇集一下使用方法与问题汇总

一、使用方法

如下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优秀案例;同时非常欢迎大家投稿哦!如果有招聘信息也可以联系我我帮忙发布哦!