Magento模板Paypal付款不成功返回清空购物车产品【解决方案】

今天我有个客户要集成l了paypal账户但在使用是遇到了问题遇到了这个问题。
当我们使用第三方支付工具Gateway如paypal支付的时候,如果用户付款不成功或者取消了订单再返回网站时,发现购物车里面的产品已经被清空了,如果是客户主动cancel的还好,但是如果是操作失误的原因而未能付款,客户会非常抓狂。
通过下面这个方法可以解决这个问题,Magento通常的方法是如果判定为第三方的gateway 作为支付工具的话直接save quote
 
$this->getOnepage()->getQuote()->save();
 
我们的应对方法是,判定如果页面转向第三方支付gateway 如 paypal则不保存 quote,这样就不会清空shopping cart
app/code/core/Mage/Checkout/controllers/OnepageController.php 
 
找到这段代码
 
$this->getOnepage()->getQuote()->save();
       
        if (isset($redirectUrl)) {
            $result['redirect'] = $redirectUrl;
        }
 
改成
 
//$this->getOnepage()->getQuote()->save();
       
        if (isset($redirectUrl)) {
            $result['redirect'] = $redirectUrl;
        }
        else {
            $this->getOnepage()->getQuote()->save();
        }
 

替换原来的文件即可

posted on 2015-02-10 13:55  闪电王国  阅读(294)  评论(0编辑  收藏  举报