Skip to content

WooCommerce integration coming soon.

WooCommerce Failed Payments: Stop Losing Subscription Revenue

When a WooCommerce subscription renewal fails, you can lose a subscriber who never meant to cancel.

Some failed renewals clear up with an automatic retry. Others need the customer to update their card or complete authentication, or need you to fix something in your payment gateway or scheduled actions.

Failed checkouts and failed renewals are different problems

A failed checkout payment happens while the customer is on your site. They see the error and can try another card. A failed subscription renewal happens later, in the background, on a schedule. Nobody is watching when it fails, so unless something follows up, the subscription goes on hold and the revenue quietly stops.

This guide covers the second problem: recurring payments for stores using WooCommerce Subscriptions. It explains why WooCommerce subscription payments fail, how to find and fix each failed renewal, how automatic retries work, and where retries fall short.

On this page

Why Do WooCommerce Subscription Payments Fail?

Most people assume a failed renewal means a declined card. Often it does, but WooCommerce subscription payments also fail because of authentication rules, gateway problems, and renewals that never ran. Each cause needs a different fix.

Expired or outdated cards

The card saved when the customer subscribed has expired, been replaced, or been reported lost. Customers rarely remember to update a card stored on a store they bought from months ago.

Needs new payment details

Insufficient funds

The account or credit limit couldn’t cover the renewal on the day it ran. These are often temporary, so the same card may work a few days later.

Often fixed by a later retry

Bank declines

The issuing bank rejects the charge, for example because of suspected fraud, a blocked merchant category, or a generic “do not honor” response. The decline code your gateway records is the best clue to whether retrying makes sense.

Depends on the decline code

Authentication requirements

Some banks, especially under Strong Customer Authentication rules in Europe, ask the cardholder to confirm a payment, even a renewal. The customer isn’t present when a renewal runs, so the payment can’t complete until they authenticate. How this is handled depends on your gateway.

Needs customer action

Payment gateway problems

Expired API keys, a deactivated gateway plugin, a missing or deleted payment token, webhook failures, or a timeout between your store and the gateway can stop a renewal that would otherwise have succeeded.

Needs a fix in your store

Scheduled renewal problems

WooCommerce Subscriptions runs renewals through scheduled actions. If WP-Cron isn’t running reliably, an action times out, or the site is in staging mode, the renewal may never be attempted, even though the customer’s card is fine.

Needs a fix in your store

How to Recover Failed WooCommerce Subscription Payments

Work through these steps for each failed renewal. The first five tell you what actually happened. The last three are how you get paid.

  1. Find failed renewal orders

    Go to WooCommerce > Orders and filter by Failed, then by Pending payment. Renewal orders are marked as renewals and link back to their subscription. With automatic retries turned on, a renewal waiting for a retry usually sits at Pending rather than Failed, so check both.

    Then go to WooCommerce > Subscriptions and filter by On hold. A subscription that is on hold with no recent renewal order is a sign the renewal never ran (see step 3).

  2. Identify why the payment failed

    Open the renewal order and read the order notes. Most gateways record the failure there, often with the decline reason or error message. A note like “insufficient funds” calls for a retry. “Expired card” calls for new payment details. An API or authentication error points at your gateway setup.

  3. Determine whether a payment was attempted

    A failed payment and an unprocessed renewal look similar, but they aren’t the same. Open the subscription’s notes. A normal renewal shows the subscription going on hold, a renewal order being created, a payment attempt, then the subscription becoming active again. If the notes stop before a payment attempt, the charge was never sent to your gateway, and retrying the customer’s card won’t help.

    Check WooCommerce > Status > Scheduled Actions for the woocommerce_scheduled_subscription_payment action for that subscription. Look for actions that are past due or marked failed.

  4. Check the subscription status

    By default, WooCommerce Subscriptions puts a subscription on hold when its renewal payment fails, and reactivates it once the renewal order is paid. If you’ve enabled automatic retries, the retry rules set both the subscription and order status while a retry is pending. A subscription that was cancelled needs different handling from one that is on hold, because a cancelled subscription can’t simply be reactivated.

  5. Review your payment gateway logs when needed

    If the order notes are vague, or you suspect the charge went through but WooCommerce didn’t record it, look in your gateway’s own dashboard and in WooCommerce > Status > Logs (many gateway plugins write logs there when debug logging is on). Always confirm whether money was captured before you charge a customer again.

  6. Understand what automatic retries will do

    The WooCommerce Subscriptions retry system is off by default. When it’s on, a pending retry date appears in the subscription’s schedule, and the renewal order shows its history in an Automatic Failed Payment Retries box. Before you step in manually, check whether a retry is already scheduled. How retries work.

  7. Help customers update their payment method

    When the card itself is the problem, the customer has to act. They can pay the failed renewal order from My Account using the Pay button. When paying a failed renewal, WooCommerce only shows gateways that support payment method changes, so the new method is used for future renewals too. Customers with an active subscription can also use Change Payment on the subscription, when the subscription uses automatic payments, has a future payment scheduled, and the gateway supports it.

    Send them a direct link to the order. Asking them to “log in and update your card” loses people along the way.

  8. Know when manual intervention is necessary

    Step in yourself when a renewal never ran, a scheduled action timed out, or payment was captured but the order and subscription weren’t updated. On the order, Retry Renewal Payment under Order actions charges the saved method again, if the gateway supports it. If a scheduled action failed before payment was taken, WooCommerce’s guidance is to cancel only the stuck renewal order (never the subscription), set the subscription back to Active, then choose Process renewal.

Tell these situations apart

What you seeWhat it usually meansWhat to do
Renewal order Failed, gateway decline in the notesA failed payment attempt. The gateway tried and the bank said no.Retry for temporary declines. Ask for a new card for expired or closed ones.
Renewal order Pending, retry box shows a scheduled retryThe retry system is working through its rules.Let it run, or send the customer a link to pay now.
Subscription on hold, no renewal order for this periodThe renewal wasn’t processed. Nothing was charged.Check scheduled actions and WP-Cron, then process the renewal.
Failed or past-due scheduled actionA failed scheduled action. Payment may or may not have been taken.Check the gateway for a charge before doing anything else.
API, token, or authentication errors in the notesA gateway-specific payment failure.Fix the gateway setup or ask the customer to authenticate or re-enter their card.
Subscription cancelled after failuresA subscription status change, made by a person, a plugin, or your gateway.Find out what changed it. The customer may need to resubscribe.

Working through one stuck renewal right now? Our step-by-step guide covers it: WooCommerce subscription payment failed? Here’s how to fix it.

Does WooCommerce Automatically Retry Failed Subscription Payments?

WooCommerce Subscriptions can, but only after you turn it on. The Failed Recurring Payment Retry System is off by default.

To enable it, go to WooCommerce > Settings > Subscriptions, find the Payment recovery section, tick Enable automatic retry of failed recurring payments, and save. Retries then apply only when:

  • the subscription uses automatic recurring payments, not manual renewals; and
  • the gateway doesn’t control the billing schedule itself. WooCommerce gives PayPal Standard as an example of a gateway that doesn’t allow these retries. WooCommerce’s retry system doesn’t trigger for SEPA payments.

The retry schedule comes from retry rules. Each rule sets how long to wait, whether to email the customer and store managers, and what status the order and subscription have while they wait. WooCommerce documents a default set of five rules spread over about seven days:

RuleWait before retryingCustomer email (if enabled)
112 hoursNone
212 hoursCustomer Payment Retry email
324 hoursNone
448 hoursCustomer Payment Retry email
572 hoursCustomer Payment Retry email

Under the default rules, the renewal order stays Pending and the subscription stays On hold between attempts. Store managers can get a Payment Retry email at each step if it’s enabled. If the last retry fails, the order is marked Failed and the normal failed-renewal process takes over, including the Customer Renewal Invoice email if you’ve enabled it. Customers can pay the order themselves at any point, which also updates the payment method on the subscription.

Developers can replace the default rules with code, so your store may not follow this schedule. Check with whoever built your store before relying on these exact intervals.

Why retries can’t fix every decline. A retry charges the same payment method again. That works when the problem was temporary, such as low funds or a brief bank issue. It can’t work when the card has expired or been closed, when the bank wants the customer to authenticate, or when the renewal never reached your gateway in the first place. Retrying a card that will never succeed just delays the moment someone asks the customer for a new one.

Gateways matter. Whether a retry is possible, whether customers can change their payment method, and how authentication requests are handled all depend on your gateway and its plugin version. Some gateways and processors also run their own retries or card-updater services. Those are features of the gateway, not of WooCommerce Subscriptions, so check your gateway’s documentation.

Retry settings are only one part of recovery. The rest is telling customers clearly what happened and making the fix take one click.

Setting this up? Read how to configure WooCommerce subscription payment retries.

Why Automatic Payment Retries Aren’t Always Enough

Retrying is the right answer for some failures and the wrong one for others. The fastest recoveries come from matching the response to the cause.

FailureWill a retry help?What actually recovers it
Insufficient fundsOften, a few days laterRetrying at a better time, plus a heads-up to the customer
Expired or replaced cardRarelyUpdated payment information from the customer
Authentication requiredNoThe customer completing authentication
Gateway or scheduled-action errorNoInvestigating and fixing the gateway or scheduled actions
Three paths for a failed renewal A failed renewal leads to one of three responses: retry later for temporary declines, ask the customer for new details or authentication, or fix the store for gateway and scheduled-action errors. Failed renewal Temporary decline → retry at a better time Card or authentication → customer updates or confirms Gateway or scheduling → you fix the store
Different WooCommerce subscription payment failures need different recovery paths.

What managed payment recovery adds

Managed recovery treats failed payments as an ongoing process rather than a single plugin setting. In practice that means:

  • Diagnosing why each payment failed
  • Tuning retry timing to the kind of failure
  • Spotting expired cards and payment-method problems early
  • Writing customer emails people actually act on
  • Making the payment update a single, direct step
  • Watching recovery results and adjusting every month

That’s how Stunning has worked with subscription businesses since 2012, helping them win back over $13 billion in failed payments, through our Managed Recovery service and our recovery software.

For the business side, read WooCommerce subscription payment recovery: reduce involuntary churn.

Lost revenue calculator

How Much Subscription Revenue Could Failed Payments Be Costing You?

Enter your own numbers to estimate how much recurring revenue failed renewals put at risk each month. The starting values are illustrative examples, not industry averages.

For annual plans, divide the annual price by 12.
Share of monthly billing revenue whose first renewal attempt fails.
Check WooCommerce’s Failed Payment Retry report if retries are enabled.

Estimate

You could be losing $1,000 per month to failed subscription payments.

That’s $12,000 per year in recurring revenue at risk.

Estimated monthly subscription revenue
$25,000
Estimated revenue affected by failed payments
$2,000
Estimated monthly unrecovered revenue
$1,000
Estimated annualized unrecovered revenue
$12,000

Want help recovering more of that revenue?

Get Early Access to Stunning for WooCommerce

These are estimates. The model multiplies subscribers by average monthly revenue, applies your failed-payment rate, then removes the share you recover. It assumes your failure and recovery rates are representative of monthly billing revenue. It is not a cohort-based churn forecast, and it does not account for compounding subscriber losses, recoveries in later months, or differences in billing frequency.

Coming soon

Stunning for WooCommerce Is Coming

Join the early-access list for Stunning’s WooCommerce integration.

We’ll only email you about Stunning for WooCommerce. Privacy policy.

WooCommerce failed payments FAQ

Why are my WooCommerce subscription payments failing?

The usual causes are expired or replaced cards, insufficient funds, bank declines, authentication requests the customer hasn’t completed, payment gateway problems such as invalid API keys or missing payment tokens, and scheduled renewals that never ran. The renewal order’s notes, your gateway logs, and WooCommerce > Status > Scheduled Actions will tell you which one you’re dealing with.

Does WooCommerce automatically retry failed subscription payments?

WooCommerce Subscriptions includes a retry system, but it’s off by default. Turn it on at WooCommerce > Settings > Subscriptions > Payment recovery. It works only for automatic renewals on gateways that don’t control their own billing schedule, and it doesn’t trigger for SEPA payments. WooCommerce’s default rules retry five times over about seven days, though a developer can change those rules.

How do customers update payment methods for WooCommerce subscriptions?

For a failed renewal, the customer pays the renewal order from My Account with the Pay button, which also updates the payment method for future renewals when the gateway supports it. For an active subscription, they can use Change Payment on the subscription page, which appears only when the subscription renews automatically, has a future payment scheduled, the store isn’t in staging mode, and the gateway supports it. Customers can also add a payment method in My Account > Payment methods and apply it to existing subscriptions.

What happens when a WooCommerce subscription renewal fails?

Without the retry system, the subscription stays on hold and the customer gets the Customer Renewal Invoice email, if it’s enabled, asking them to log in and pay. With retries on, the retry rules schedule further attempts, keep the order pending and the subscription on hold, and send the emails you’ve enabled. If every retry fails, the order is marked Failed and the normal failed-renewal process continues.

Can failed WooCommerce subscription payments be recovered automatically?

Some can. Automatic retries recover temporary declines such as insufficient funds. Failures caused by expired cards, authentication requests, or gateway and scheduling problems need the customer or the store owner to act, so recovering them takes good customer communication and some investigation as well as retries.

How do I find failed subscription renewal orders?

In WooCommerce > Orders, filter by Failed and by Pending payment. Renewal orders link to their subscription. Then check WooCommerce > Subscriptions for subscriptions on hold. If the retry system is on, the Failed Payment Retry report shows retry activity across your store.

Does Stunning support WooCommerce yet?

Not yet. Stunning can’t recover WooCommerce payments yet. Join the early-access list to hear when the integration is ready.