通过清心醉

Magento付款不成功返回网站时清空购物车的修复方法

当用户付款不成功或者取消订单返回网站时,购物车里面的产品已经被清空了,如果是客户主动清除的还好,但是如果是操作失误的原因而未能付款,客户又得重新查找商品,如果商品过多客户没耐心找产品直接走人,那对客源可是一种很大的流失。

Magento是判断如果为第三方的网关作为支付工具的话直接save quote。$this->getOnepage()->getQuote()->save();
 
修复方法是,判定如果页面转向第三方支付网关如paypal则不保存quote,这样就不会清空购物车;
打开:app/code/core/Mage/Checkout/controllers/OnepageController.php文件
 
找到这段代码 (约624-631行)
 
$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();
}
然后登陆后台,
选择:系统-》工具-》编译-》运行编译过程。(记得打开编译哦,编译后关了,否则安装插件会报错)
尝试了添加商品到购物车,跳转到PAYPAL的时候故意关闭全部网页,返回时一样保留了购物车,由于是测试,要考虑到订单完成时是否会对购物车的商品进行清除,用

Check / Money order付款方式测试,订单完成时是正常的。

关于作者

清心醉 administrator

发表评论

请输入验证码: