Descripció
When a subscription renewal payment fails, WooCommerce Subscriptions can retry it automatically — but the retry system ships switched off, its schedule is hard-coded (5 retries across 7 days), and changing it officially requires writing PHP against a filter. Most store owners never see any of it.
Renewal Rescue is the cockpit for that machinery:
Recovery cockpit
- Every retry in the pipeline: which renewal, how much, when the next attempt runs.
- Recent outcomes: which retries recovered the payment, which failed.
- «Needs a human»: renewals that failed every automatic retry and are still unpaid — nothing further happens on its own for these.
- Recovered-revenue counter: renewals and amount that came back through retries in the last 30 days.
- Which of your gateways can actually run an automatic retry (manual methods like bank transfer can’t).
- One-click enable for the retry system itself if it’s off (it writes the standard WooCommerce Subscriptions setting).
Retry schedule editor — no code
- Edit the number of retries, the wait between attempts, which attempts email the customer or the store owner, and the order/subscription status applied while waiting.
- Live «runs at T+X» preview of the whole schedule.
- Applied through the retry system’s own documented
wcs_default_retry_rulesfilter — WooCommerce Subscriptions keeps doing the retrying; you finally control the schedule. - Hard safety bounds (each wait 1 hour–14 days, up to 8 retries, whole schedule inside 30 days) and one-click reset to the built-in rules.
Watchdogs
- Digest email (daily or weekly): exhausted retries needing action, what runs next, what got recovered. Only sent when there’s something to say.
- Site Health checks: retry system off, exhausted unpaid renewals, retry actions sitting past-due in the queue.
- WP-CLI:
wp rrwc status --format=json. - Event log history is your setting, defaulting to keep everything. It is housekeeping, not a tier: no build removes the bound for you.
Renewal Rescue Pro (in-dashboard upgrade, 14-day trial, no card):
- Gateway-specific retry schedule (treat PayPal failures differently from Stripe).
- Retry timing windows — run retries in business hours, skip weekends.
- Card-expiry pre-dunning: email customers to update their card before the renewal fails.
- Your own recovery email at chosen attempt numbers.
- Slack / webhook alerts when retries are exhausted (HIGH VALUE flag above your threshold).
- REST status endpoint and CSV export for agencies.
Read-mostly by design. Renewal Rescue never edits orders, subscriptions or retry records. The only WooCommerce settings it can write are the standard «Enable Automatic Retry» toggle (when you click the button) and the retry schedule you save — applied through the documented filter.
Renewal Rescue helps you monitor and recover failed renewal payments; recovery always depends on your gateway, your customers and the retry system itself. No plugin can guarantee a payment succeeds.
External services
The plugin’s own features contact nothing external. Everything it reads comes from your own database, and emails go through your site’s normal mail system. No subscription or customer data ever leaves your site.
Freemius (freemius.com), who sell and license the Pro version
Freemius is contacted in four situations. Every one of them is something you click. It is never contacted in the background.
- If you opt in on the activation screen (or start a trial / activate a licence). Sent to api.freemius.com: your site URL, your WordPress and PHP versions, and the email address of the account you activate with. Skipping the opt-in is a first-class choice and the plugin is fully functional without it.
- If you open the «Upgrade» page under the plugin’s menu. Your own server (not your browser) asks api.freemius.com for current plan prices, sending your site URL. This happens whoever you are, including if you skipped the opt-in — but only when you open that page. The page itself loads no third-party scripts; everything it renders is served from this plugin’s own folder. The payment SDK’s bundled pricing script used to inject Google Analytics and a remote checkout script into wp-admin on that page; this build removes both, along with the SDK’s remaining remote references (all modifications are listed under «Source code» below).
- If you open the «Contact Us» page, which is Freemius’s hosted support form (wp.freemius.com). The link carries your site URL and your WordPress login URL so the form knows which site you are writing about.
- If you click a plan to buy, you go to Freemius’s hosted checkout (checkout.freemius.com). It receives your site URL, site name, WordPress and PHP versions, and your WordPress administrator email address (pre-filled, sent whether or not you complete the purchase). Freemius is the merchant of record. Their checkout page loads its own third-party scripts (at the time of writing: Stripe, PayPal, Google Tag Manager, and Freemius’s own assets); we do not control that list. If you never click a plan, none of it loads.
Terms: https://freemius.com/terms/ — Privacy: https://freemius.com/privacy/
Installing, activating, skipping the opt-in, every scheduled check, using every screen, deactivating (the SDK’s deactivation-feedback dialog is switched off in this build, so deactivation is one click and sends nothing), and WordPress’s update cycle all complete without contacting Freemius at all. Free updates come from WordPress.org like any other plugin.
Your own alert endpoints (Pro, optional)
If you enter a Slack or webhook URL, exhausted-retry alerts are POSTed to that URL you chose, only when an alert fires. Nothing is sent anywhere you did not enter yourself.
Source code
This plugin’s own PHP and JavaScript are unminified and readable in the plugin folder. The one exception is the third-party payment SDK in vendor/freemius/, which ships pre-minified; its source and build tooling are public:
- Freemius WordPress SDK: https://github.com/Freemius/wordpress-sdk
- The pricing screen at
vendor/freemius/assets/js/pricing/freemius-pricing.js: https://github.com/Freemius/pricing-page
This plugin ships four deliberate modifications to that SDK (all in assets/js/pricing/freemius-pricing.js, all removing remote references from wp-admin): the appendScripts() method is emptied (it injected Google Analytics + checkout.js), the GA pageview tracker is stubbed out, the remote loader GIF is replaced with an inline data-URI, and testimonial photos are forced to the bundled placeholder. Three carry a «Renewal Rescue:» comment at the patch site.
Captures



Instal·lació
- Install and activate. You’ll find Renewal Rescue in the admin menu.
- It expects the WooCommerce Subscriptions extension (or another plugin built on subscriptions-core, e.g. WooPayments subscriptions). Without one, the cockpit simply waits.
- If the retry system is off, the cockpit offers the one-click enable. Then set your schedule under Retry Schedule.
PMF
-
Does it work without WooCommerce Subscriptions?
-
It activates fine but has nothing to watch: the failed-payment retry system it manages is part of WooCommerce Subscriptions (and subscriptions-core hosts such as WooPayments subscriptions).
-
Does a schedule change affect retries that are already scheduled?
-
No — that’s how the retry system works: a retry keeps the rule it was created with. Your schedule applies to retries created after you save it.
-
What happens if I set fewer retries than the built-in five?
-
Retries stop after your last row, and the renewal order is treated as failed sooner. The editor shows the full timeline so this is never a surprise.
-
Which gateways can retry automatically?
-
Only gateways that support charging the stored payment method again (Stripe, PayPal vaulting, WooPayments and similar). Manual methods — bank transfer, cheque, cash on delivery — always need the customer to pay. The cockpit lists your gateways with their capability.
-
Does it change or delete any WooCommerce Subscriptions data?
-
No. It reads the retry pipeline; the only writes are the standard enable-retry setting and your saved schedule (applied via the documented filter). Uninstalling removes only Renewal Rescue’s own table and options.
-
Where do the customer retry emails come from?
-
The standard WooCommerce Subscriptions retry emails — your schedule chooses on which attempts they go out. Pro can additionally send your own custom recovery email.
Ressenyes
No hi ha ressenyes per a aquesta extensió.
Col·laboradors i desenvolupadors
«Renewal Rescue for WooCommerce» és programari de codi obert. La següent gent ha col·laborat en aquesta extensió.
Col·laboradorsTraduïu «Renewal Rescue for WooCommerce» a la vostra llengua.
Interessats en el desenvolupament?
Navegueu pel codi, baixeu-vos el repositori SVN, o subscriviu-vos al registre de desenvolupament per fisl de subscripció RSS.
Registre de canvis
1.0.2
- Initial public release: failed-renewal cockpit, no-code retry schedule editor with a runs-at preview, recovered-revenue tracking, exhausted-retry watchlist, digest email, Site Health tests and WP-CLI with JSON.
