使用yansongda支付接口对接支付宝,支付成功但是异步通知验签失败的大坑

这个问题遇到好几次了,之前解决过但是时间一长就忘记了,结果今天又因为这个大坑头疼了一整天,所以这次必须记录下来。
在确保各项信息无误的情况下仍然验签失败,很有可能引号被转义等奇葩问题导致的,记录一下我的解决方案:
验签方法verify()在目录:/vendor/yansongda/pay/src/Gateways/Alipay.php里,方法里有一句

if (isset($data['fund_bill_list'])) {
	$data['fund_bill_list'] = htmlspecialchars_decode($data['fund_bill_list']);
}

在这里打印$data['fund_bill_list']发现里面的引号被转义了。
解决方法:使用stripslashes()方法移除转义:

if (isset($data['fund_bill_list'])) {
	$data['fund_bill_list'] = stripslashes( htmlspecialchars_decode($data['fund_bill_list']) );
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕竟我是大神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值