How to fix Magento 1.x checkout after upgrading to or

July 26, 2017

After you've upgraded to Magento version have you noticed that your check out just sits on billing information and doesn't proceed to the shipping options? Apparently, the Magento team discovered a security issue and added form key validation on check out.

What are form keys?

Form keys help prevent Cross Site Request Forgery attacks on Magento forms. Cross Site Request Forgery is the attempt of submitting malicious form information from one website to another. (In lamen's terms) Form keys are a way for a website to validate that the form submission is being sent within itself. In the Magento world, in order to create any custom forms, they must have a form key. If not, the Magento action controller will not respond.

How do I fix it?

Well, there are 3 options to resolve this issue.

  1. Remove app/design/frontend/(Your custom package)/(Your custom theme)/template/persistent & app/design/frontend/(Your custom package)/(Your custom theme)/template/checkout
  2. If your check out was heavily modified, you can add the form key validation to your theme. Right before the ending form tag of the billing form and the payment form, place the code [code]<?php echo $this->getBlockHtml('formkey') ?>[/code]
  3. Disable form key checks on checkout. [alert type="danger"]I Highly do not recommend this option[/alert]

It's understandable that this will result in lost revenue. If you have to keep your online store running and cannot wait for a web developer to resolve the issue. Navigate to System -> Configuration. On the left column, scroll all the way down to Advanced -> Admin. In the collapse, select security and set "Enable Form Key Validation On Checkout" to No.

broken checkout after magento upgrade

Broken checkout after Magento upgrade

That should solve your issue. Please do leave a comment if you have any questions. Thanks

Copyright © Mage H.D. Inc.
envelopephonemap-marker linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram