Realex付款重定向问题 - 302暂时移动

时间:2013-09-03 13:50:16

标签: php vps realex-payments-api

我最近移动了服务器,并且自移动以来我的付款模块出现问题。我们从PHP 5.2迁移到PHP 5.4。

我们在xcart上安装了Realex支付模块来处理我们的付款,在结帐用户被发送到安全网站以输入他们的付款详细信息,付款流程但他们收到错误:您的交易已成功但有一个连接回商家网站的问题

Realex告诉我,302重定向导致问题,我们没有任何原因导致此重定向。

以下是从realex收到的日志:

27.08.2013 17:02:18 carbonaction $response_uri = https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction $num_remaining = 0 
27.08.2013 17:02:18 carbonaction $client_return_url = https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction $num_remaining = 0 
27.08.2013 17:02:18 carbonaction Return URL: https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction Client Host: www.energysavingwarehouse.co.uk 
27.08.2013 17:02:18 carbonaction Client URLs: store/payment/cc_realex_redirect.php 
27.08.2013 17:02:18 carbonaction ..start POST request, UserAgent timeout set to 180 seconds.
27.08.2013 17:02:20 carbonaction ..end POST request, UserAgent returned the status: 302 Moved Temporarily
27.08.2013 17:02:20 carbonaction Error connecting to client site:Moved Temporarily

这在旧服务器上工作正常,我们最近转移到了vps,这里是否存在潜在的服务器配置问题?

感谢您的帮助。

利安

1 个答案:

答案 0 :(得分:0)

当我访问https://www.energysavingwarehouse.co.uk/store/payment/cc_realex_redirect.php时,302重定向会将我退回../。这可能是因为我正在进行GET而不是POST并且没有POST个字段。

如果您已升级到较新版本的PHP,则配置可能已更改且代码不再找到所有POST字段 - 之前$HTTP_POST_VARS[]已合适,但现在您应该使用$_POST[],有时PHP可以配置为自动为每个POST字段创建新变量 - 例如name=Owen会自动创建值$name的变量Owen。特别是,register_globals选项在5.4.0中已被完全删除,您现在需要在之前没有的情况下显式声明变量(参见http://php.net/manual/en/security.globals.php)。

您可以查看cc_realex_redirect.php中的代码,了解触发302重定向的方案吗?这应该是:

header('Location: ../');

然后添加一些日志记录以确保正确拾取所有POST数据。这应该会引导您找到解决方案。