Laravel Cashier集成Stripe时Webhook响应失败但功能正常问题
问题解答
这是Stripe CLI代理Webhook时的正常现象,不属于配置错误,原因和细节如下:
- 核心逻辑:当你用Stripe CLI的
listen命令转发Webhook请求到本地服务时,CLI相当于一个中间代理——它会让Stripe把Webhook请求发送到CLI的专属临时通道,再转发到你的本地Laravel服务。而Stripe仪表盘里显示的“Failed to connect to remote host”错误,是因为你在Stripe后台可能还配置了指向本地地址的Webhook端点(比如localhost:8000/stripe/webhook),这个地址没有公网可访问性,Stripe官方服务器根本无法直接连接,所以报错。 - 验证依据:你的本地CLI显示所有Webhook请求返回200,且订阅记录在数据库和Stripe后台都正常生成,说明Webhook的业务逻辑处理完全正常,只是Stripe后台的无效端点触发了错误日志。
处理建议
- 测试阶段可直接忽略该错误:因为CLI已经完成了Webhook的正确转发,不影响业务流程。
- 消除仪表盘错误记录:
- 登录Stripe后台,进入「Webhook端点」设置,删除指向本地地址的无效端点;
- 若后续需要公网测试,可将测试环境部署到有公网IP的服务器,配置对应的公网Webhook端点,并更新
.env中的STRIPE_WEBHOOK_SECRET为该端点的签名密钥。
内容的提问来源于stack exchange,提问作者Robert
相关产品推荐
相关产品推荐

