我正在使用Datacash 3D安全付款模块的Magento Enterprise。

如果在付款过程中出现错误的情况下,我希望用户完好无损地返回到Onepage Checkout。当前,当用户返回到结帐时,篮子为空,因此将他们转发到“结帐/购物车”,因为他们没有项目。

我认为我的代码可能是一个问题,因此我将初始付款操作立即重定向,错误回到OnePage Checkout。

 public function redirectAction() {
  Mage::getSingleton('core/session')->addError("There was a problem with the payment gateway. Please try again");
  $session = Mage::getSingleton('checkout/session');
  return $this->_redirect('checkout/onepage/', array('_secure'=>true));
}

但是,返回结帐页面时,篮子为空。将以下日志添加到OnePage Checkout的索引中,我得到了“报价”。在数据库中查看报价已将其活动状态设置为0。

 error_log("Quote ".Mage::getSingleton('checkout/session')->getQuoteId());

我并没有只使用企业来遇到标准的洋红色问题。有人遇到这个问题吗?理想情况下,我不希望客户再次将产品添加到篮子里。它就像与某种Magento Enterprise模块的冲突。

在此先感谢您的任何帮助!

有帮助吗?

解决方案

基本上,您回答了自己的问题。加载报价(如果不可用)并执行此操作:

$yourQuote()->setIsActive(true);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top