I upgraded to from

When I go through checkout and select ship to a different address other than billing no form keys seem to be present in the header. (saveShipping)

When you go through checkout and select ship to this address form keys are used (saveShipping method)

I have reverted from my template back to rwd which is default.

I have been through all of the onecart and multishipping files in base and rwd folders, and all appear to be correct based on other peoples issues previously.

If I switch form keys off it all works, and I can get to payment section.

Does anyone have any thoughts or areas where to look?


1 Answer 1


In your theme, you must be overriding the checkout templates. Your overridden templates must not have form keys in them.

Try looking in app/design/frontend/YOUR_PACKAGE/YOUR_THEME/template/checkout/*

Make sure that all of the phtml files contain <?php echo $this->getBlockHtml('formkey') ?> somewhere between the <form></form> tags. If not, you can add it in to see if it solves your problem.

You should also check to see if opcheckout.js is present in your custom package/theme. It will be located here: skin/frontend/YOUR_PACKAGE/YOUR_THEME/js/opcheckout.js. If so, you can try comparing it to the opcheckout.js located in skin/frontend/base/default/js. You can try renaming the opcheckout.js in your custom theme so it will fall back to the base.

You really should have the form key protection enabled, so do what you need to do to make it work.

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.