Hi - I’m creating a WooCommerce site on WP3.8, MyStile theme, using latest version of WC 2.0.20, hosted on a VPS (I’ve used Linode and Digital Ocean, both with LEMP setup, similar problem on both).
All was going just fine.
Part way through creating the site, my checkout process seemed to stop working – when you click on the ‘place order’ button, the screen would ‘grey-out’ and the spinning timer icon would remain indefinitely. The order seems to be created OK in the back end, but the user is never taken to the order confirmation screen when the payment type is anything other than PayPal (more below).
On delving deeper, I can see that I’m getting a 504 Gateway Timeout after 60s when the system is trying to post
admin-ajax.php?action=woocommerce-checkout. I have increased the timeout value (just to check whether it would ever complete the process), and it still times out, even after 3 minutes. I am assuming that after the POST has timed out, the user will continue to see the ‘hanging’ screen regardless of how long you stare at it.
Now, I’ve researched this, and seen some other threads relating to this problem, so I’ve tried a variety of things before posting this, including:
- WP general settings – my WP URL and site URL match (i.e not cross-domain)
- I’ve checked and increased my PHP memory allocation to 96Mb (originally 40Mb)
- I’ve switched themes to twentythirteen, same problem
- Force secure checkout is disabled
- I’ve deactivated all plugins (including WC, but I obviously had to reactivate it to test), and I get the same behaviour. I’ve even created a completely clean WP/WC site (without any ‘unnecessary’ plugins) and I still get the same problem.
- I get the same problems regardless of whether I’m placing the order as a logged-in user or not.
The thing I find really peculiar is that I’ve now noticed that, when using PayPal as the payment method, the process works OK – I’m redirected to PayPal, can make the payment, and can then successfully come back to the ‘order confirmation’ screen. But whatever I do, I can’t make a ‘cheque’ or ‘BACS’ payment type work properly. I know it worked fine when I first created the test site, because I was using payment type ‘cheque’ to avoid repeated ‘test’ paypal transactions.
As mentioned above, I’ve also tried the site on a brand new VPS slice (on Digital Ocean), to try to eliminate whether my other hosting was just too slow. Whilst the site as a whole is faster on a ‘dedicated’ VPS, the checkout problem with cheque/bacs order was the same.
I’ve tried all sorts of things that I’ve seen on forums, and now I’m running out of ideas.
If anyone has any insight on this, I’d be most grateful.