Error: Your session has expired

If you are getting this error on your Handsome Checkout pages, it means your caching plugin or system is forcing cache on these pages.

To fix this, you either need to exclude Handsome Checkout pages from caching.

If possible, you should exclude all of them at once by adding a regex rule that cover all pages.

Something like: /handsome-checkout/*

Otherwise, you could exclude a single page by specifying direct URL.

Technically, it happens because WooCommerce checkout page is a dynamic page. It updates the order totals and checkout fields via AJAX requests. The validity of data in these requests is checked by a “nonce” aka “session signature”, which is different for each visitor and also changes with time.

So, when the page is cached, the nonce always stays the same for every non-admin visitor. This makes WooCommerce back-end think that data is not valid and show the “session has expired” error.