Onepage Checkout – Fixing Stuck on Billing Section Issue

onepage-checkout

I am having an issue with Magento's onepage checkout.

Everything was working fine, I had tested a few orders with success. However, today I merged css/js from the magento admin and afterwards I noticed that during the onepage checkout process it gets stuck at the billing address.

I "unmerged", cleared magento cache, cleared browser cache and cookies and still the issue remains.

There are no errors in firefox developer tools and I see the following under the network tab when clicking "Continue":

POST https://www.example.com/checkout/onepage/saveBilling/ 200 OK   
POST https://www.example.com/checkout/onepage/getAdditional/ 200 OK

I have randomly tried the solutions of "similar" issues that I found while searching magento stackexchange and nothing has worked or hasn't been relevant to my installation.

The issue does not occur with the default theme so I am assuming it is to do with the custom theme being used.

Any help will be greatly appreciated.

Best Answer

This issue ended up being related to the security update supee-9767.

Although, the issue it was causing for me was different than what has been reported in other posts, well the ones I came across in my search anyways.

The temporary solution to see if this is actually the problem:

System => Configuration => Admin => Security

and:

Turning the 'Enable Form Key Validation On Checkout' setting off makes this work again.

As mentioned here:

SUPEE-9767 Patch/CE 1.9.3.3 - One Page Checkout - Customer Registration issue

Unfortunately, the fixes in the answers provided didn't "solve" this specific issue for me without disabling the above option, which I wasn't comfortable with as it is essentially going against the patch itself.

However, knowing that it was an issue with my template it was obvious that it didn't have the formkey added.

This command finally fixed the problem for me:

find -L app/design/frontend -regex '.*\(shipping\|billing\|shipping_method\|payment\).phtml' -exec grep -L formkey {} \; \
  | xargs sed -i 's/<\/form>/<?php echo $this->getBlockHtml("formkey") ?><\/form>/g'

I hope this helps someone else out until an update for the patch is released.

Related Topic