PAYMENT501: Order already paid online
What this means
Your store reported that this order was already paid — but the till had already taken a payment for it as well. The customer has therefore paid twice.
The till payment is kept on the order's ledger, marked as failed with the reason order_already_paid, so nothing is hidden and the second payment is not silently dropped. What remains is to give the money back.
Your data
Money moved — the customer has been charged twice. Refund the payment taken at the till; the order and the online payment are intact, and the extra payment is recorded on the order rather than discarded.
Troubleshoot
At the till — do this before the customer leaves:
- Tell the customer the order was already paid online and that the second payment will be refunded.
- Check the amount and method taken at the till: Store health → Database lists the order under … needs attention with a line such as "Order #… was already paid online; … was also taken at the till — refund that payment". The same line is in Store health → Logs.
- Give that payment back the way it was taken: cash from the drawer, or a refund of that charge on the card machine or in your payment provider's dashboard. Do not record a paid out for cash handed back — the refused payment was never counted in the drawer's expected cash, so the drawer already balances.
- Do not use Refund on the order in WCPOS for this. It refunds against the order itself — the legitimate online payment — not against the till payment your store refused.
- Do not void or delete the order. It is a legitimate paid order; only the extra payment is wrong.
On the store — for the site administrator:
- Confirm the online payment against the gateway in WooCommerce, so you know which of the two payments is the one being kept. Add an order note in WooCommerce → Orders saying the duplicate till payment was returned, how, and when.
- Check whether the refund has settled — a card refund can take several days to reach the customer's statement.
- If this happens repeatedly, the usual cause is an order being paid online while it is already open on a till; review how orders reach the POS before they are settled.