If you are using "Hyper Cache" plugin Your checkout page must be out of cache to work properly.
You need to exclude checkout pages by following these instructions-
Step 1: Note down the slug of your checkout page from here
Step 2: Open the settings of "Hyper Cache" under settings tab.
Step 3: Jump on the “Bypasses” tab.
Step 4: Scroll down the Bypasses page and locate for "Do not cache pages with URIs starting with" option
Step 5: Enable the checkbox option to use this setting
Step 6: To exclude “checkouts” pages enter your noted checkout page slug (from step 1) as shown in screenshot: /checkouts/
Step 7: Scoll down the page and click on "Save" button to update the settings.
Note: By default, Checkout page's slug is "checkouts". If you had changed the checkout pages slug for any reason get the slug from Global Settings > Miscellaneous tab > Checkout Page Slug