Sanestly Payment Reminders for WooCommerce

Description

Unpaid WooCommerce orders often sit until stock hold expires or a customer forgets to pay. Sanestly Payment Reminders for WooCommerce sends a short, merchant-controlled sequence of reminder emails for eligible unpaid orders.

Automation stays off until you enable it. Activation does not email customers and does not schedule reminders for existing orders. Orders created before the processing cutoff stay excluded until you preview and run an explicit backfill.

Reminders stop after payment. Each reminder step is sent at most once. Eligibility (order status, payment gateway, amount, age, and cutoff) is re-checked before every real send.

The plugin supports High-Performance Order Storage (HPOS), uses Action Scheduler from WooCommerce, and can send reminder copy in the order language when Polylang or WPML is available.

Key Features

  • Up to four reminder steps with separate delay, subject, heading, body, CC, and BCC
  • Payment gateway, status, amount, and age eligibility rules
  • Historical order protection via processing cutoff
  • Dry-run preview before enabling automation or backfill
  • Explicit batched backfill for older unpaid orders
  • Manual send, pause, resume, and cancel on the order screen
  • Test Email that never changes order meta, schedules, or stats
  • Optional auto-cancel of unpaid orders after a delay
  • Recovery statistics and event log
  • HPOS compatible (orders accessed through WooCommerce CRUD)
  • Multilingual order-language handling for Polylang and WPML
  • Action Scheduler integration (no custom cron table)

How It Works

  1. An unpaid order is created after the processing cutoff.
  2. The plugin checks eligibility (status, gateway, totals, age, cutoff, pause state).
  3. Eligible reminder steps are scheduled with Action Scheduler.
  4. Each step sends once when due, after a fresh eligibility check.
  5. When the order is paid (or otherwise no longer eligible), future reminders are cancelled.

Configuration

  1. Open WooCommerce Payment Reminders Reminders and review the reminder steps.
  2. Open Settings and confirm eligible statuses, payment methods, totals, age limits, and the processing cutoff.
  3. Open Tools and run a dry run if you want a preview of matching orders.
  4. Enable automation only after the preview looks correct.

Important: activation never emails historical customers. Orders created before the processing cutoff remain excluded until you change the cutoff and run an explicit backfill with confirmation.

Multilingual Support

When a multilingual plugin is active, the plugin records and uses the order language for reminder content.

  • Polylang: live-tested order-language reminder behavior.
  • WPML: integration code is included and covered by automated tests. A full commercial WPML end-to-end store environment was not part of the release live suite.

Fallback copy comes from the plugin settings when no translation is available.

HPOS

The plugin is compatible with WooCommerce High-Performance Order Storage. Order reads and writes use WooCommerce order APIs (wc_get_order / WC_Order CRUD), not direct post-meta assumptions for core order fields.

Screenshots

Installation

  1. Install and activate WooCommerce.
  2. Upload the sanestly-payment-reminders folder to /wp-content/plugins/, or install the ZIP via Plugins Add New Upload Plugin.
  3. Activate Sanestly Payment Reminders for WooCommerce.
  4. Open WooCommerce Payment Reminders and review reminder copy, rules, and the processing cutoff before enabling automation.

FAQ

Will activation immediately email old orders?

No. Automation defaults to off. Activation does not send emails or schedule reminders. Historical orders before the processing cutoff stay excluded until you preview and explicitly backfill.

What happens after an order is paid?

Future reminder actions for that order are cancelled. Paid orders are not reminded again.

Which payment gateways are supported?

You choose eligible payment methods in Settings. Use “all methods” or a specific allow/deny list of gateway IDs available on your store.

Can I send a reminder manually?

Yes. The order screen includes manual send, pause, resume, and cancel actions. Manual send uses the same eligibility and duplicate-protection pipeline as scheduled sends.

Can I test an email first?

Yes. The Email tab includes Test Email. Test sends never mutate order meta, schedules, or statistics.

Does it support HPOS?

Yes. The plugin is written against WooCommerce order CRUD and has been exercised with HPOS on and off.

Does it support multilingual stores?

Yes. Order language can drive reminder copy with Polylang or WPML. Polylang has been live-tested; WPML has automated coverage of the integration path.

What is Backfill?

Backfill schedules reminders for older unpaid orders that match your rules after you confirm a dry-run preview. It runs in background batches and requires an explicit confirmation checkbox.

What happens when the plugin is deactivated?

Scheduled reminder actions are cleared on deactivation. Plugin settings remain so you can reactivate later. Uninstall removes plugin options and scheduled actions; order meta (_pmrwc_*) is left in place by design.

What data does the plugin store?

Plugin settings, event log entries, stats cache, backfill state, temporary send locks, Action Scheduler jobs in group pmrwc, and order meta keys prefixed with _pmrwc_ (reminder state, language markers, and related flags).

Does the plugin send data to Sanestly?

No. The free plugin does not phone home, collect telemetry, or call Sanestly servers.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Sanestly Payment Reminders for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.1

  • Scoped admin notices to the plugin screen (Hold Stock warning also on WooCommerce Inventory settings).
  • Made operational notices dismissible per user; removed backfill recovery from global admin_notices.
  • Hardened Tools delete-data with a server-side confirmation check.
  • Limited WooCommerce-missing and PHP version notices to plugins.php with activate_plugins capability.

1.0.0

  • Initial WordPress.org release.
  • Scheduled and manual unpaid-order reminder emails with multi-step sequences.
  • Historical order protection, dry run, and explicit backfill.
  • Payment and eligibility checks stop further reminders after payment.
  • Duplicate-send protection, pause/resume, optional auto-cancel, and recovery stats.
  • Test Email without mutating order state.
  • HPOS support and Polylang/WPML order-language architecture.
  • Action Scheduler integration.