=== Quiet Failed Orders ===
Contributors: deskbydawn
Tags: woocommerce, failed orders, orders, cleanup, emails
Requires at least: 6.0
Tested up to: 6.9
Requires PHP: 7.4
Stable tag: 0.1.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Failed WooCommerce orders without the noise: silence the per-failure emails and safely trash old failed orders after a recovery window.

== Description ==

WooCommerce creates an order for every payment attempt, including the failed ones. That's by design (the gateway needs an order to attach the transaction to, and a customer retry recovers the same order), but on a busy store it means a dashboard full of failed orders and an inbox full of failure emails.

Quiet Failed Orders does a few small things well:

* **Silences the admin "Failed order" email.** Your orders data is untouched; your inbox stops paying the price.
* **Trashes old failed orders on a daily schedule.** Default window is 72 hours, because a customer retry converts the same failed order into a real one. Orders are moved to trash, never hard-deleted, so you can always restore.
* **Optionally trashes abandoned "Pending payment" orders.** Off by default. Buy-now-pay-later and express checkout buttons create a pending order the moment a customer taps them; if they walk away, it sits there forever. The cleanup waits a week by default, skips anything paid, and never touches an order a gateway has recorded a transaction ID on.

Settings live quietly under WooCommerce > Settings > Advanced > Quiet Failed Orders. No banners, no upsells, no nags, no data leaving your site. Ever.

Built by DeskByDawn, the makers of Store Guardian.

== Frequently Asked Questions ==

= Will this delete orders a customer is about to retry? =

No. The cleanup only touches failed orders older than the window you set (72 hours by default) and skips anything paid. Retries recover the same order long before that.

= Does it phone home? =

No. This plugin makes no external requests at all.

= Can it clean up abandoned pending orders from pay-later buttons? =

Yes, as an opt-in setting. It waits a week by default, skips paid orders, and never moves an order that has a gateway transaction ID recorded. Leave it off if you take bank transfers you reconcile by hand.

== Changelog ==

= 0.1.1 =
* New (opt-in, off by default): trash abandoned "Pending payment" orders after a configurable window. Skips paid orders and anything with a gateway transaction ID.

= 0.1.0 =
* Initial release: failed-order email muting, scheduled trash cleanup with recovery window.
