支付宝电脑支付notify异步返回验签失败坑
2017-11-12 21:54
615 查看
如果遇到异步返回总是失败,但是同步返回成功的情况就要注意一个地方了那就是这里:
$arr=$_POST;
$alipaySevice = new AlipayTradeService($config);
$alipaySevice->writeLog(var_export($_POST,true));
$result = $alipaySevice->check($arr);
支付宝返回数据本身就有问题,转义字符多了一个反斜杠:
'fund_bill_list' => '[{\\"amount\\":\\"0.01\\",\\"fundChannel\\":\\"ALIPAYACCOUNT\\"}]'
正确的应该是这样的:
'fund_bill_list' => '[{\"amount\":\"0.01\",\"fundChannel\":\"ALIPAYACCOUNT\"}]'
所有你需要修改成以下代码:
'fund_bill_list' => '[{\"amount\":\"0.01\",\"fundChannel\":\"ALIPAYACCOUNT\"}]'
很奇怪的是,支付宝直接给我返回的就是两个反斜杠,所以PHP的解决办法就是返回的变量stripslashes一次就可以了。所以正确的代码应该是:
$arr=$_POST;
$arr['fund_bill_list'] = stripslashes($arr['fund_bill_list']);
$alipaySevice = new AlipayTradeService($config);
$alipaySevice->writeLog(var_export($_POST,true));
$result = $alipaySevice->check($arr);
$arr=$_POST;
$alipaySevice = new AlipayTradeService($config);
$alipaySevice->writeLog(var_export($_POST,true));
$result = $alipaySevice->check($arr);
支付宝返回数据本身就有问题,转义字符多了一个反斜杠:
'fund_bill_list' => '[{\\"amount\\":\\"0.01\\",\\"fundChannel\\":\\"ALIPAYACCOUNT\\"}]'
正确的应该是这样的:
'fund_bill_list' => '[{\"amount\":\"0.01\",\"fundChannel\":\"ALIPAYACCOUNT\"}]'
所有你需要修改成以下代码:
'fund_bill_list' => '[{\"amount\":\"0.01\",\"fundChannel\":\"ALIPAYACCOUNT\"}]'
很奇怪的是,支付宝直接给我返回的就是两个反斜杠,所以PHP的解决办法就是返回的变量stripslashes一次就可以了。所以正确的代码应该是:
$arr=$_POST;
$arr['fund_bill_list'] = stripslashes($arr['fund_bill_list']);
$alipaySevice = new AlipayTradeService($config);
$alipaySevice->writeLog(var_export($_POST,true));
$result = $alipaySevice->check($arr);
相关文章推荐
- 支付宝 APP支付异步回调验签失败 PHP
- 支付宝电脑网站支付,回调时签名验证失败
- ecshop支付宝接口返回“支付操作失败,请返回重试”
- 微信,支付宝,支付异步通知验签,notify_url
- 阿里云电脑支付异步通知验签失败总结
- 支付宝移动支付,服务端对异步通知信息验签的时候验签失败,支付宝pc端支付接入PHP实现
- 支付宝支付完成后用户关闭支付页面,异步回调失败
- 支付宝支付返回通知时 notify_url和return_url的选择
- asp.net mvc 如何接收支付宝支付接口 异步通知 notify
- 支付宝中的手机网站支付接口,php版 notify_url.php 异步通知页面未成功执行
- 支付宝支付成功后返回的notify_url和return_url
- 支付宝支付接口返回到第3方站点后程序对支付宝来源检验失败原因分析
- 支付宝异步通知(notify_url)与return_url.
- 支付宝异步通知(notify_url)与return_url.
- Ionic ios支付宝插件支付后提示打开另一个APP,不返回当前APP问题
- 关于微信支付,支付宝支付与银联支付的异步消息状态
- 支付宝支付结束返回说明
- 支付宝异步通知notify_url 与 同步通知return_url的区别
- 支付宝支付-PC电脑网站支付
- 对接支付宝接口时,不使用SDK,调用成功但是返回的数据一直验签失败问题解决方案