使用 Laravel 接入支付宝支付,异步通知没有接收到,检查了下访问记录,发现支付宝在 post 我们设置的回调 URI 时报了 419 错误。
这是因为 Laravel 的 CSRF 保护功能拒绝了支付宝回调的 post 请求。
解决办法就是将接受异步通知的路由 URI 添加到 App\Http\Middleware\VerifyCsrfToken 中间件的 $except 属性来排除路由:
<?php
namespace App\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
class VerifyCsrfToken extends Middleware
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array<int, string>
*/
protected $except = [
//支付宝支付回调地址
'payment/alipay/notify',
];
}
(adsbygoogle = window.adsbygoogle || []).push({});
来源:https://www.02405.com/archives/2455