Как восстановить цитату в Magento при возвращении к OnePage Checkout?

StackOverflow https://stackoverflow.com/questions/4489569

Вопрос

Я использую Magento Enterprise с модулем безопасного платежа DataCash 3D.

В случае ошибки в процессе оплаты я хочу, чтобы пользователь вернулся в 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. Кто -нибудь столкнулся с этой проблемой? В идеале я не хочу, чтобы клиентам снова приходилось добавлять продукты в корзину. Это как противоречиво с каким -то модулем Magento Enterprise.

Заранее благодарю за любую помощь!

Это было полезно?

Решение

В основном вы ответили на свой вопрос. Загрузите цитату (если она недоступна) и выполните это:

$yourQuote()->setIsActive(true);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top