支付宝回调验证错误的解决办法

在做支付这块,遇到了支付回调验证不通过的问题:
在回调的验证中文门需要通过$this->rsaCheckV1()来进行回调数据的验证

支付宝回调验证(部分)

接收到数据之后,发现在rsaCheckV1()这里面返回了false,也就是说验证失败了。

找了很多原因都没有解决这个结果,不去验证直接通过肯定会不安全的,于是去找了支付宝的客服进行了求助,再尝试了几次之后,发现了我这边传递数据时多了一个字段service(也就当前的接口的的地址),回调返回后多了这些字段导致验证不通过,然后我去对比了另外一个不通过的支付,发现另外一个回调的数据多了appact两个字段,在这里可能需要说明一下,我这两次回调接收的数据均走的是接口:第一个,?service=app.pay.alipay,第二个,?app=pay&act=alipay,所以导致了回调参数带有了这几个字段的数据,所以我们需要将多出来的这几个字段去掉,也就是直接使用unset去掉,再进行数据的验证,最后得到的数据验证结果为true,这下就完成了

本博客所有文章如无特别注明均为原创。作者:止语复制或转载请以超链接形式注明转自 止语博客
原文地址《支付宝回调验证错误的解决办法

相关推荐

发表评论

路人甲
看不清楚?点图切换

网友评论(0)