Home › WooCommerce › Failed & Spam Order Cleaner for WooCommerce
Add-on for WooCommerce

Failed & Spam Order Cleaner for WooCommerce

Clear the failed and pending orders a card-testing attack leaves behind, in the background, trash first, with a report on who sent them.

Needs
WooCommerce 8.2+
Tested up to
WordPress 7.1
Version
1.0.0 Changelog
Updated
7 October 2026
Licence
1, 5 or unlimited sites per key

Read the setup guide

What it does

Failed & Spam Order Cleaner clears the failed, pending, on-hold and abandoned-checkout orders that card-testing and spam attacks leave in WooCommerce. You pick the statuses and dates, preview what matches, and it moves the orders to the trash in background batches, however many there are. Every cleanup ends with an attack report: how many orders, over what time span, from how many distinct emails, IP addresses and countries, exportable as CSV. Paid orders are left alone by default, as are subscription orders, and a whole cleanup can be restored in one click.

Filter by status and date

Pick Failed, Pending payment, On hold or Draft (abandoned checkout), and a date range or a quick range such as Last 7 days. Orders from the last hour are skipped by default.

Preview before anything changes

See how many orders match, by status, and the newest ones with their email, IP address and total. Click any order to check it before you clean up.

Trash by default

Orders go to WooCommerce’s trash so a mistake can be undone. Deleting permanently takes a ticked box and typing DELETE, checked again on the server.

An attack report for every cleanup

Orders handled, the time span they were placed in, and the distinct emails, IP addresses and countries behind them. A report can also be run without changing any order.

Top offenders, exportable

The emails, IP addresses and countries that placed the most orders, and a CSV export with every one of them and its order count.

Undo the whole run

Restore every order from a cleanup in one click, in the status it had. Large restores run in the background too.

The problem

A card-testing attack can leave thousands of failed orders in a single night. Bots run stolen card numbers through your checkout, most are declined, and every attempt leaves a failed or pending order behind. WooCommerce’s Orders screen bulk-edits one page of orders at a time, so clearing tens of thousands means hundreds of rounds of select all, move to trash and wait. Until they’re gone, they bury your real orders.

How a cleanup works

  1. Under WooCommerce → Spam Order Cleaner, tick the statuses to clear (Failed, Pending payment, On hold or Draft) and set a date range.
  2. Preview them. You see how many orders match, split by status, and the newest ones with their email, IP address and total. Nothing has changed yet.
  3. Click Clean Up. The orders move to the trash, in the background, in batches that stop after a few seconds, so nothing times out. You can leave the page.
  4. Read the attack report: how many orders, the time span they were placed in, and how many distinct emails, IP addresses and countries were behind them. Export it as CSV.
  5. Changed your mind? Restore the whole run from its report in one click.

What it leaves alone

Orders with a recorded payment date are skipped by default, even if they match, because they took real money once. The protection is a checkbox on the Settings tab, called Never touch orders that have a recorded payment, and it stays on unless you switch it off. So are orders linked to a WooCommerce Subscriptions subscription, orders from the last hour (a customer may still be paying) and anything placed after the cleanup started. On our test store we seeded 541 failed and pending orders, one of which had been paid. The preview counted 540.

Trash first, delete on purpose

Every cleanup moves orders to WooCommerce’s trash unless you choose otherwise. Deleting permanently takes a ticked box and typing DELETE, and the server checks both again. Once you’ve checked the report and the trash, you can delete the trashed orders for good from the same screen.

What it doesn’t do

  • It cleans up after an attack. It doesn’t block one: there’s no CAPTCHA, rate limiting or fraud scoring. Pair it with an anti-fraud or bot-blocking tool.
  • It never blocks an email or IP address automatically. Attackers change both, so a blocklist built from one attack rarely stops the next.
  • Deleting orders here doesn’t remove data already sent to Stripe, PayPal, a shipping service or an email tool. You manage that in each service.
  • It doesn’t touch completed or processing orders. It is for failed, unpaid and abandoned ones.

Requirements and compatibility

Your site needs

Plugins
WooCommerce 8.2+
WordPress
6.0 or newer
PHP
8.0 or newer
Multisite
Supported

This release

Version
1.0.0
Updated
7 October 2026
Tested up to
WordPress 7.1
Known conflicts
None known
Changelog

Version 1.0.0

* Initial release.

It runs alongside WooCommerce and never changes its files, so you can keep updating WooCommerce as usual.

How it compares

WooCommerce Orders screen Failed & Spam Order Cleaner
Clear orders in bulk One page at a time Every matching order, in the background
Count of matching orders before acting No Yes
Skips orders that were once paid No Yes, by default
Restore a whole cleanup in one click No Yes
Report on the attack (emails, IPs, countries) No Yes, with CSV export

Full comparison: WooCommerce failed and pending order cleanup tools compared

Who it's for, and who it isn't

Buy this if

Your store was hit by card testing or checkout spam, and the Orders screen is full of failed and pending orders you need gone without clicking through them a page at a time.

Don't buy this if

You want to stop attacks as they happen. This cleans up afterwards; blocking, CAPTCHA and fraud scoring need an anti-fraud tool.

Frequently asked questions

Does it stop card-testing attacks?

No. It cleans up the orders an attack leaves behind and reports on it. It has no CAPTCHA, rate limiting, fraud scoring or automatic blocking, so use an anti-fraud or bot-blocking tool to stop the attack itself.

Could it remove a real order?

It only looks at the statuses you tick, and it skips orders with a recorded payment (a setting that is on by default), orders linked to a WooCommerce Subscriptions subscription and, by default, orders from the last hour. The preview lists the newest matches so you can check them first, and the default is the trash, so a whole cleanup can be restored.

How many orders can it clear?

There is no fixed limit. It works through orders in background batches that stop after a few seconds each, so it doesn’t time out. Our 540-order test cleanup took about a minute; larger cleanups take longer depending on your hosting.

Does it work with HPOS?

Yes. It works with High-Performance Order Storage and with the older posts storage, and shows which one your store uses.

Does deleting orders remove the data in Stripe or PayPal?

No. It removes orders from your store only. Data already sent to a payment gateway, shipping service or email tool stays there and is managed in that service.

Can I undo a cleanup?

Yes, if the orders went to the trash. Each report has a button that restores every order from that cleanup. Orders deleted permanently can’t be restored.

What does the attack report show?

How many orders were handled, the time span they were placed in, and the distinct emails, IP addresses and countries behind them, with the number of orders each one placed. It can be exported as a CSV. The per-email and per-IP lists are kept for 90 days by default, and the summary stays in the Activity Log.

Can I get the report without deleting anything?

Yes. Choose Generate report only and it produces the same attack report without changing any order.

What does the licence include?

One licence key for 1, 5 or unlimited sites, whichever you pick at checkout, valid for a year. Every licence has every feature, plus all updates and support for that year. If you don’t renew, the plugin keeps working but stops receiving updates.

Is there a refund policy?

Yes. Email support@pluginsprout.com within 14 days of buying, from the address you bought with, and we refund the full amount.

Failed & Spam Order Cleaner for WooCommerce $39 a year, one site