我正在使用带有 Datacash 3D 安全支付模块的 Magento Enterprise。
如果在付款过程中出现错误,我希望用户在购物篮完好无损的情况下返回单页结账。当前,当用户返回结帐时,购物篮是空的,因此他们会被转发到“结帐/购物车”,因为他们没有商品。
我认为这可能是我的代码有问题,所以我将初始付款操作直接重定向到单页结帐时出现错误。
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));
}
然而,在返回结帐页面时,购物篮是空的。将以下日志添加到单页结帐的 indexAction 中,我得到“报价”。在数据库中查看报价已将其活动状态设置为 0。
error_log("Quote ".Mage::getSingleton('checkout/session')->getQuoteId());
仅在 Enterprise 中使用标准 Magento 时,我没有遇到过这个问题。有没有人遇到过这个问题?理想情况下,我不希望客户不得不再次将产品添加到购物篮中。它就像它与某种 Magento Enterprise 模块冲突。
提前感谢您的帮助!