Woocommerce unusual error `Your order has already been paid for.`

Everytime I get to the checkout I get the message Your order has already been paid for. Please contact us if you need assistance.

And the url is always https://www.example.co.uk/checkout/checkout/pay/?order=12163

Read More

A unique order identifier should be attached to the url like &key=order_5511a22e9abfb

I haven’t changed anything? I deleted my cookies and history and the error went away. 1 hour later suddenly came back. I haven’t added any plugins. What could be causing this? I don’t have any cache plugin installed.

I was logged into another computer with my administrator account but I’ve logged out of that computer. Also items ion the cart that were previously deleted show up in the cart again.

The glaring problem is I changed my surname on my profile and updated, then when I went to checkout, the old profile information was there?

Also these order numbers don’t exist in the woocommerce order list.

Everything is screaming session/cache but I don’t know what would cause this?

How do I debug this?

Related posts

Leave a Reply

3 comments

  1. This is going to be difficult to debug without a broader context or more information (What payment gateway are you using? If PayPal, do you run multiple stores from the same account? Is that URL supposed to be /checkout/checkout/?)

    Here are some things I would try:


    1. Obviously, clear cache or try from a different machine. Could your host be responsible for the caching issue as well? Perhaps get in contact with them. Try disabling caching and try again:

    Using PHP:

    <?php
      header('Cache-Control: no-cache, no-store, must-revalidate');
      header('Pragma: no-cache');
      header('Expires: 0');
    ?>
    

    1. If using PayPal as the payment gateway, add a unique prefix to the invoice number through Settings > Checkout > PayPal > “Invoice Prefix”. This is unlikely to fix your problem, but worth a shot.

    That’s pretty much all I’ve got for now. I will update my answer as more information is provided or I can think of another reason why this would be happening.

  2. Try using a normal user account instead of admin, see if it also has the same issue. The profile information reflecting back to old settings has also happened with me on a wordpress site. It just keep reflecting back to the old settings after sometime, but this only happens on the Super admin account, rest of the admins and the users work fine. Also it took a long time to login to the admin panel for the first time, once logged in it works fine.

    I guess you might also be facing the same issue, Sorry i haven’t came up with a solution myself. But as an admin my profile info etc doesn’t effect me so i dont have any reason to delete the Super admin account. But if your problem is just with the admin account try creating a new admin account and use that instead for everyday tasks.

  3. As it’s not marked as an “answer” and for those still searching the right working answer: it is in the comment of user892134 : Clear all sessions in Woocommerce system status tools. Nothing to do with admin or super admin… It’s just because when you delete a transaction for test purposes the cache keeps the memory of that transction and for a reason I don’t understand but I can imagine (bad coding) when you re-do the test the cache is used and the transaction fail… No Paypal fault…woocommerce cache… Hope it will help because I’ve been searching for hours !