I just changed my server, all the files and database are the same i had previously. Now all of sudden i am having this issue. I add item to cart, go to checkout page, click on place order and magento start processing order and rather than going on the Checkout Success Page magento shows "SHOPPING CART EMPTY" but the order is also placed and is visible in magento sales and email is also sent to the customer.

I thought it was the permission issue so i used the magento-cleanup.php file but no luck.

What could be the issue?

  • 1
    There is something strange about this. You complete the order, which is good. If you were to change your theme to the (unmodified) base theme, do you still get that issue? Do you have custom extensions or redirects installed?
    – kab8609
    Commented May 16, 2014 at 21:49
  • This issue is normally due to js conflict, any extension related to checkout, you can try by disabling all extension one by one to confirm which was is conflicting Commented May 17, 2014 at 5:57
  • 1
    Ok so Magento does this when your session gets emptied during the checkout. If you look at OnePageController.php you see within each action the expire ajax call. I would look at your web server error logs to see if there is anything being output. Then look to see if sessions are configured correctly in php.ini. Commented Nov 8, 2014 at 15:22

4 Answers 4


I was facing this problem on Magento 2, and realized it only happens when using Redis.

The problem was solved by increasing break_after_frontend from 5 to 15 in app/etc/env.php. I saw people struggling with the same problem on Magento 1, and the solution is quite much the same, but in app/etc/local.xml as described here.


Many times, when you receive a 404 error or exception in the ajax of checkout, it will return you to the cart.

What you can do is a number of things to detect what is going wrong:

  1. Open up your browser debugger and monitor the Ajax requests
  2. Look in your var/log/system.log file for any errors
  3. Look in your var/log/exception.log file for any errors
  4. Disable all local modules in your local.xml file
  5. Disable community modules in app/etc/modules
  6. Change to a default theme to see if it still breaks
  7. Check PHP / Apache /NGinX logs for errors

After you have tried these, update your question and we will see if we can find a solution for you.


In my case it was related to missing php-mbstring extension on server.

You can debug the error by enabling display_errors in your index.php file.

ini_set('display_errors', 1);

Then on your checkout page, you can check the error output on firebug or similar debugger.

firebug console


Ryan has offered some good troubleshooting advise. In addition, what I have seen is that when this is occurs it is because the items are being removed from the cart but the quote is not being deactivated. I was able to resolve my problems by analyzing my access.log to trace the request flow. In my case I was experiencing this with Authorize.net DPM as a result of what I think is a bug in directpost.js.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.