【发布时间】:2013-05-15 06:00:51
【问题描述】:
我制作了一个可以使用的自定义支付网关。现在我已将 3D 安全集成到网关中,并且在确认订单后很难重定向。
我尝试过使用
$this->response->setOutput(json_encode($json));
还有
$this->redirect($url);
还有
$this->redirect($this->url->link($url)); //shortened $url
我还编写了自己的自定义重定向函数,强制将 html 元刷新到代码中,但仍然没有骰子。
错误怎么办...除了直接调用 php header('location:') 并收到 headers already sent 错误外,我没有收到任何错误。我还插入了我自己的错误记录/跟踪代码,我得到了函数实际上正在执行的信息。
我知道该扩展程序有效,因为手动将相关链接直接插入浏览器会给我带来结果。
任何帮助将不胜感激。
谢谢。
【问题讨论】:
-
您是否尝试使用 iframe 内的重定向或类似的东西?
-
不,我不是。我正在尝试直接从控制器内调用重定向。
-
如果您在 setOutput 之后立即进行重定向,并且您从 javascript 中调用了该方法,那么它当然不起作用。在 $json 中发送一些响应 url 变量并使用 javascript 重定向。
-
查看其他支付服务的源代码。在
callback或confirm方法中,它们也在重定向 - 所以检查与你所做的不同的地方并尝试修复它,以便 PHP 重定向可以工作...... -
我尝试通过在 url 上创建会话并使用 isset 在视图中使用 javaScript 进行重定向。一些新的亮点也被揭示了——我意识到我一直在摆弄一个我不知道它在哪里被调用的函数。知道调用支付模块中的 send() 或回调函数的地方吗?