解决magento1.4.0.1使用gspay接口用ie8浏览器报错不能跳转的问题 02 October 2010 16:15 Saturday by 小屋 分享收藏

目前公司站群magentog使用spay支付接口有两大大问题还未解决:

1. 初次注册用户下单不能采集用户信息到支付页面

2. 用ie8或ie系列浏览器使用gspay支付接口下单的时候,在跳转页面会报错:Notice: Undefined index:  HTTP_REFERER  in /app/code/local/Mage/Gspay/Block/Standard/Redirect.php on line 97

第一个问题尚在研究,第二个问题在下午闲下来的时候给解决了

起因:magento1.4.0.1 在下单页面选择gspay付款方式的时候,在跳转页面/Gspay/standard/redirect/ 如果使用的是ie系列浏览器,会出现notice级别的错误:Notice: Undefined index:  HTTP_REFERER  in /app/code/local/Mage/Gspay/Block/Standard/Redirect.php on line 97

跟踪代码发现在app/code/local/Mage/Gspay/Block/Standard/Redirect.php 第97行gspay获取url并解析是采用:$host=parse_url($_SERVER['HTTP_REFERER']);这样的方式,这样在火狐完全可以正常,但用ie8的时候就取不到HTTP_REFERER 的值了(貌似是bug),最后动手完善代码,经测试正常可用!

把第97行的$host=parse_url($_SERVER['HTTP_REFERER']);替换成如下代码:

$http    = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https' : 'http';
if( empty($_SERVER['HTTP_REFERER']) ){
    $host    = array(
            'scheme'    => $http,
            'host'        => $_SERVER['HTTP_HOST']
        );
}else{
    $host    = parse_url($_SERVER['HTTP_REFERER']);
}

留此帮助其他遇到相同情况的朋友,嘿嘿·~

作者: Sjolzy

--EOF--

引用地址:

相关评论:

  1. gravatar face
    john 12 月 16 日 对 “解决magento1.4.0.1使用gspay接口用ie8浏览器报错不能跳转的问题” 发表最新评论。
    你知道MAGENTO1.4.2的版本在gspay跳转时会出现两个错误:410和402吗?
    402: no Products submitted
    410: total amount too small
    411: total amount too large大致意思是,没有购买物品和总价值太低之类的,此问题纠解至今还未有什么方案呢,兄弟看你可是这方面的内行里手,所以在些留言请教了啊。有答案回复下啊,先谢谢了。

    你知道MAGENTO1.4.2的版本在gspay跳转时会出现两个错误:410和402吗?
    402: no Products submitted
    410: total amount too small
    411: total amount too large大致意思是,没有购买物品和总价值太低之类的,此问题纠解至今还未有什么方案呢,兄弟看你可是这方面的内行里手,所以在些留言请教了啊。有答案回复下啊,先谢谢了。

      评分:5

  2. 6
    john :

    你知道MAGENTO1.4.2的版本在gspay跳转时会出现两个错误:410和402吗?
    402: no Products submitted
    410: total amount too small
    411: total amount too large大致意思是,没有购买物品和总价值太低之类的,此问题纠解至今还未有什么方案呢,兄弟看你可是这方面的内行里手,所以在些留言请教了啊。有答案回复下啊,先谢谢了。

    博主回复:我现在用的版本还是1.4.0.1的,1.4.2版本的话询问一下gp技术人员是否他们的接口包支持1.4.2了.

    gspay错误代码可以参考:http://sjolzy.cn/gspay-payment-page-the-meaning-of-error-codes-that.html
  3. 5
    支付人家 :

    外贸网店国际信用卡收款

    1、3D、非3D通道、非3D实时+延时高级VIP综合通道
    (业内最新推出)
    2、拒付无罚金,账户无冻结
    3、支持仿真贸易、虚拟、电子贸易等
    4、支持个人和公司开通
    5、站内支付、网站接入数量不限制
    6、支持visa,master等卡,
    7、支持多币种收款、不受外汇管制
    8、活动期间优质商户可免费接入
    (多种通道任您选,免接入费、年服务费、5%单笔交易费)
    9、欢迎各位做外贸的朋友加盟!
    10、咨询q:1092033132 0755-25195777-801 李生
    http://www.justseo4u.com/

  4. 4
    wang :

    发个文章提示“发表评论失败,已经存在相同评论”改下吧,真让人误解呢。

    博主回复:嗯,这个因为程序会判断评论内容是否存在 防刷,有点不便,嘿嘿..  谢谢提醒啦!
  5. 3
    wang :

    恩,谢谢博主的及时回复哦,我还以为没人理我了呢。嘿嘿
    顺便说下,你这博客发个文章第一次就返回个信息说是已经有相同内容的评论呢,昨天发了两次都害我以为没发表成功呢。

    博主回复:我基本每天都会上来博客一下啦。另外评论要审核 不然每天的垃圾评论太多了
  6. 2
    wang :

    博主,拜读了你的文章着让人受益匪浅,不过,我还想弱弱的请问下,你知道MAGENTO1.4.1.1的版本在gspay跳转时会出现两个错误:410和402吗?大致意思是,没有购买物品和总价值太低之类的,此问题纠解至今还未有什么方案呢,兄弟看你可是这方面的内行里手,所以在些留言请教了啊。有答案回复下啊,先谢谢了。

    博主回复:根据我的经验在gp支付页面提示 410 402 是gp边设置的问题,不是程序的问题了,你可以跟gp客服沟通一下哦
  7. 1
    wang :

    博主,拜读了你的"解决magento1.4.0.1使用gspay接口用ie8浏览器报错不能跳转的问题",文章着让人受益匪浅,谢谢啊。不过,我还想弱弱的请问下,你知道MAGENTO1.4.1.1的版本在gspay跳转时会出现两个错误:410和402吗?大致意思是,没有购买物品和总价值太低之类的,此问题纠解至今还未有什么方案呢,兄弟看你可是这方面的内行里手,所以在些留言请教了啊。有答案回复下啊,先谢谢了。

发表评论:

  给 “解决magento1.4.0.1使用gspay接口用ie8浏览器报错不能跳转的问题” 评分

广告、无意义的评论必删!