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

Laravel对接Transbank支付时本地环境回调地址无法访问该如何处理

问题核心原因

你本地用php artisan serve启动的服务如果用的是内网IP(比如192.168.x.x、10.x.x.x这类),属于局域网私有地址,公网的Transbank回调服务器根本无法穿透局域网访问到你的本地服务,和你用artisan还是Xampp没有直接关系。

先修正代码错误

你的控制器confirmPay方法里存在变量名拼写错误,先修改避免后续跑通链路后还触发500错误:

// 原有错误代码
$confirm=  (new Transaction)->commit($request->get('token_ws'));
if($confirmacion->isApproved()){ // 变量名定义为$confirm,调用时写成了$confirmacion

修改为统一变量名即可。

本地调试回调的可行方案

Windows环境下两种常用解决方案:

  • 方案1:使用内网穿透工具映射本地端口
    安装支持Windows的内网穿透工具,配置映射本地8000端口,工具会生成一个公网可访问的临时域名,将你代码里的回调地址替换为「公网临时域名+/confirm_pay」即可,注意要确认穿透工具没有拦截POST请求,避免匹配不上你定义的POST类型回调路由。
  • 方案2:本地模拟回调调试
    如果仅需要调试业务逻辑,可以用Postman构造POST请求访问http://你的本地IP:8000/confirm_pay,主动带上Transbank回调时会传递的token_ws参数,模拟回调场景调试逻辑,等本地逻辑跑通后再部署到有公网IP的服务器测试真实回调。

额外检查项

如果你用的本身就是公网IP,先检查Windows防火墙有没有开放8000端口的入站规则,默认Windows防火墙会拦截外部对8000端口的访问,需要手动加规则放行。
不需要更换为Xampp,artisan serve本身即可满足调试需求,问题和服务环境无关。

内容的提问来源于stack exchange,提问作者Nautilus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 04:09:01