Laravel 接入支付宝支付异步通知返回 419 异常的原因及解决办法
admin 阅读:96 2024-03-03
使用 Laravel 接入支付宝支付,异步通知没有接收到,检查了下访问记录,发现支付宝在 post 我们设置的回调 URI 时报了 419 错误。
这是因为 Laravel 的 CSRF 保护功能拒绝了支付宝回调的 post 请求。
解决办法就是将接受异步通知的路由 URI 添加到 AppHttpMiddlewareVerifyCsrfToken 中间件的 $except 属性来排除路由:
<?php
namespace AppHttpMiddleware;
use IlluminateFoundationHttpMiddlewareVerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array<int, string>
*/
protected $except = [
//支付宝支付回调地址
'payment/alipay/notify',
];
}
声明
1、部分文章来源于网络,仅作为参考。 2、如果网站中图片和文字侵犯了您的版权,请联系1943759704@qq.com处理!