“order already paid” with paypal checkout in Woocommerce

You guys are my last hope… I created a website with wordpress and I’m using the woocommerce plugin to sell my book. I set everything up (not my first shop, but my first one with woocommerce), tested it in the sandbox, everything was fine. The website went live, and the problem began…

It occurs with paypal. For half of the users, everything is fine, they check out without problem, I get the money on my paypal account. For the other half, when they want to pay, they get an error message “order already paid” and can’t go any further. After a while, the order is automatically canceled.
I can’t reproduce the problem, because these buyers have nothing in common. Some have verified paypal adresses, some don’t, some were registered users, some weren’t. The product is always the same, only the shipping changes, and again, nothing in common there.

Read More

I’ve had to send paypal invoices to the customers, apologising for the bug, but it’s not very professional, and I’m going to launch the epub soon, so if somebody goes to the trouble of buying it, they will want it available immediately, not a few hours later after receiving the paypal invoice…

It seems I’m not the only one with this problem, and I’ve checked everywhere for hours, for most people it was a problem of forgetting to change the sandbox paypal account to their real business account, for others it was because they weren’t using a prefix and had more than one shop. All the others never got any answer or help.

Obviously, something is going wrong when the user is redirected to paypal to finish the order, but since I can’t reproduce it, it’s very difficult for me to troubleshoot the issue.
I enabled the logs, but unfortunately I upgraded to the newest version of woocommerce (available since today) and it erased my log file. I have a new one, from an order which didn’t go through, and it’s really weird:

11-21-2013 @ 21:42:42 – Generating payment form for order n°150. Notify URL: http://mydomain.com/?wc-api=WC_Gateway_Paypal

(of course, I changed the website link)
I haven’t had any other order since, but when I looked at the log last time before upgrading, an order that went through correctly had at least 20 lines after that one.

I’m getting desperate, especially since the people at woocommerce don’t seem to care at all about support.

Thanks!!!

Related posts

Leave a Reply

2 comments

  1. it sounds like you’re having issues with duplicate invoice IDs – I’ll assume that you paraphrased the error message and it should be “This invoice has already been paid. For more information, please contact the merchant.”
    PayPal blocks duplicate payments by means of an invoice ID being sent with every order.
    You can try disabling “Block accidental payments:” under

    https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-pref

    If this helps, then your shop is sending invoice IDs that have already been used on other transactions in your account.
    Not sure if this is the cause since you did mention a “prefix” but didn’t refer to where you’re using it – if you set a “prefix” before the invoice id, e.g. xy-123456, a duplicate will be unlikely.

    If the problem continues and you’re having trouble with finding log files, do approach paypal.com/mts and provide specific examples. They won’t fix your module, but should be able to provide the cause of the error message.

  2. I had a problem with “invoice already paid” IDs over the multiple woocommerce shops I manage. I thought it was a PayPal error but it happened when one of the random order numbers woocommerce generated was the same as a previously generated order number. I got around this by installing the plugin booster tools (was jetpack) and creating my own order number with prefix to make it unique to each store and also made my number sequential. I have not had the same error since.