Skip to content
RevenueLeak

WooCommerce Subscriptions failed payment recovery for renewals that end on hold

WooCommerce Subscriptions failed payment recovery starts where the plugin's own retries stop. When a renewal payment fails, the subscription goes on hold, the renewal order stays unpaid and the customer gets one email. RevenueLeak reads every failed renewal order in your store, groups them by the decline reason your gateway returned, prices the loss in dollars per month and sends a pay link when it is most likely to work.

Your retry rules stay as they are. We add the part they leave out.

Card payment terminal on a shop counter

What recovers a failed WooCommerce subscription renewal

A failed renewal comes back in one of two ways. A soft decline, such as insufficient funds, often clears on a later retry, so when the retry runs matters more than how many there are. A hard decline, such as an expired or replaced card, never clears on retry, and the only fix is the customer paying the renewal order with a new card. Recovery software earns its fee by telling the two apart and acting on each one, instead of sending the same reminder to everyone.

Where WooCommerce subscription payment failures turn into lost revenue

The money slips out through small gaps between the plugin, your payment gateway and the customer's inbox.

GapWhat happensWhat it costs you
Subscription goes on holdThe renewal order stays unpaid until the customer actsEvery month the order sits there is a month of revenue not collected
Hard declines get retriedExpired cards are charged again and againDays of delay and no chance of success
One generic emailEvery customer gets the same message on the same dayLow response from customers who only needed a nudge
Gateway cannot charge a stored cardSome gateways need the customer present for each renewalFailed renewals that retries can never fix
Cards expire before the next renewalNobody asks for a new card until the charge failsA failed renewal you could have avoided a month earlier
On hold turns to cancelledThe subscription ends after the last failed attemptThe whole lifetime value of a customer who never chose to leave

Retry rules, the number of attempts and the emails sent to the customer are settings in the plugin, and they differ from store to store. The audit shows what your own settings actually produced.

How RevenueLeak recovers failed WooCommerce subscription payments

1. Create a read-only REST API key in WooCommerce under Settings, Advanced, REST API, and paste it in. We never ask for write access.

2. The first audit reads up to 24 months of renewal orders and lists every failed one with the subscription, the amount, the failure reason and what the subscription did next.

3. Switch on the payment update rule. Customers with a hard decline get a plain email with a link to the order payment page. Customers with a soft decline get the email after your retry window, not on top of it.

4. Where your gateway stores the card expiry on the subscription, cards expiring in the next 30, 60 or 90 days get a request before the next renewal date.

5. The report shows recovered renewals in USD each week, next to the subscriptions that went on hold or were cancelled after a failed payment, which is your save list.

What you get for WooCommerce subscription renewals

Failure reason grouping

Failed renewals grouped by what your gateway returned, so you see how much of the loss is expired cards and how much is insufficient funds.

Pay link emails timed by reason

A hard decline gets a pay link right away. A soft decline waits until your retry has had its chance.

Pre-expiry card requests

Cards that expire before the next renewal get a request ahead of time, from your own sending domain.

Save list of on hold and cancelled subscribers

Subscriptions that stopped after a failed payment, with the monthly value of each, ready for a win-back message.

Dollar figures, not percentages

Every line in the report is a dollar amount per month, so you can set it against the price of any tool.

Read only access

We never edit products, prices, orders, coupons or your subscription settings.

Plugin retries vs RevenueLeak, side by side

WooCommerce Subscriptions already has a failed payment retry system you can switch on. Here is what that typically covers and where a recovery tool adds to it. Check your own settings, since they vary by store and gateway.

CapabilityPlugin retries and emailsRevenueLeak
Automatic retriesYes, if enabled, on a schedule you setKept as is, we do not change them
Different handling for hard and soft declinesNot by reasonYes, by gateway failure reason
Customer email with a pay linkYes, templates you editYes, timed by decline reason
Requests before a card expiresNoYes, at 30, 60 and 90 days where expiry is stored
Loss reported in USD per monthNoYes, per subscription and per reason
Abandoned checkouts and refund patterns in the same reportNoYes
Old prices on existing subscriptionsNoYes, subscriptions below your current price are listed

Where the plugin is stronger: it owns the subscription, the renewal schedule, the customer account pages and the retry engine. We do not replace any of that.

Who buys WooCommerce Subscriptions failed payment recovery

  • Stores selling memberships, coffee, supplements, software licenses or replenishment boxes on WooCommerce Subscriptions.
  • Owners who see a growing list of on hold subscriptions and cannot tell which are payment failures and which are customers who left.
  • Operations leads who want one number for failed renewal loss before paying for a bigger retention suite.
  • Agencies that run several WooCommerce stores and need the same report for each one.

Checkouts that never became a first order are covered on WooCommerce abandoned cart recovery and abandoned cart recovery.

What recovery costs next to what an on hold renewal costs

Each WooCommerce store counts as one connected billing account. A store with 30,000 USD of monthly subscription revenue is in the Growth band at 149 USD per month billed yearly, or 299 USD billed monthly. If an average renewal is 40 USD, recovering four renewals a month covers the yearly price. Starter covers stores up to 10,000 USD of monthly revenue at 24 USD per month billed yearly. Every plan is on the revenue optimization software pricing page.

Monthly subscription revenuePlanPrice billed yearlyRenewals at 40 USD that cover it
Up to 10,000 USDStarter24 USD per month1
Up to 100,000 USDGrowth149 USD per month4
Up to 1,000,000 USDScale399 USD per month10

WooCommerce subscription payment failed questions

The renewal order is created and the payment attempt fails, so the subscription moves to on hold and the order stays unpaid. If the plugin's retry system is on, it retries on the schedule you set. The customer usually gets an email with a link to pay the renewal order. If nobody pays, the subscription can end up cancelled.

Separate soft declines from hard declines first. Soft declines often clear on a later retry, so let the retry run and follow with a reminder. Hard declines need a new card, so send the order payment link right away. Then ask for new cards before old ones expire, where your gateway stores the expiry.

Open the renewal order in the admin and process the payment again, or switch on the failed payment retry system in the plugin settings. That only helps with soft declines. If the card expired or was replaced, the retry fails again, and the customer has to pay the order with new card details.

No. The REST API key is read-only. Retries, subscription statuses and customer account pages stay with WooCommerce. RevenueLeak reads the renewal orders, prices the loss and sends payment update emails only after you switch the rule on.

It depends on your card mix, gateway and customer base, so published averages are a weak guide. The estimate on our home page uses your own monthly revenue and subscriber count, and the first audit reads 24 months of renewal orders to give the real dollar figure for your store.

See how much your WooCommerce renewals are leaking

Enter your monthly subscription revenue and subscriber count. The estimate shows where the loss sits, before you connect anything. The full mechanics by decline code are on failed payment recovery, and the same approach for another platform is on Shopify subscription failed payment recovery.