You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel+Spatie Stripe Webhooks处理事件时出现404错误排查

Stripe CLI Webhook 返回404错误的排查与解决

作为Stripe相关包的新手,我严格按照项目README文档操作,但在使用Stripe CLI处理checkout.session.completed事件时,一直遇到404错误,折腾了好久都没找到问题根源。

我执行的命令:

stripe listen --events checkout.session.completed --skip-verify --forward-to https://backend.bnb.local/api/webhook/checkout

CLI返回的日志内容:

Ready! Your webhook signing secret is whsec_mSz72pL***641iqZ7 (^C to quit)
2020-06-09 16:38:09 --> \checkout.session.completed\ [\evt_1Gs8aaLGS8l
7PkQZPgp3]
2020-06-09 16:38:09 <-- [404] POST https://backend.bnb.local/api/webhook/checkckout [\evt_1Gs8aaLGS
k7PkQZPgp3]

我的相关配置:

  1. routes/api.php中的路由配置:
Route::stripeWebhooks('https://backend.bnb.com/api/webhook/checkout');
  1. EventServiceProvider中的事件监听配置:
protected $listen = [
    'stripe-webhooks::checkout.session.completed' => [
        App\Listeners\HandleSubscriptions::class
    ]
];

最终找到的问题与修复方案:

经过反复排查,终于定位到两个错误点:

  • 路由路径配置错误:路由不应该写完整的外部URL,而是应该使用相对路径。修正后的路由代码:
    Route::stripeWebhooks('webhook/checkout');
    
  • 多余的中间件拦截:之前不小心给这个webhook路由添加了Auth:api中间件,导致Stripe的请求被认证拦截,移除该中间件后问题解决。

内容的提问来源于stack exchange,提问作者Jo Le Belge

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 21:02:44