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


Realex Payment Redirect Issue - 302 Moved Temporarily

我最近移动了服务器,自移动以来,我们的支付模块出现了问题。我们从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,这里可能存在潜在的服务器配置问题吗?

谢谢你的帮助。

利亚姆

当我访问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自动创建值为Owen的变量$name。特别是,register_globals选项在5.4.0中被完全删除,现在您需要在以前没有的某些情况下显式声明变量(请参见http://php.net/manual/en/security.globals.php)。

你能检查一下cc_realex_redirect.php中的代码,看看是什么场景触发了302重定向吗?这应该看起来像:

header('Location: ../');

然后添加一些日志以确保所有POST数据都被正确提取。这将引导您找到解决方案。