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();
}
替换原来的文件即可