Skip to content

How to find and fix failed WooCommerce subscription renewals

By Recast. Updated .

Most failed renewals have one of three causes: the payment method is no longer installed or turned on, the renewal did not run so the subscription is past its next payment, or the subscription renews manually and waits for the customer to pay an invoice. Find each group, then fix it in bulk.

Preview this change on your own subscriptions, free.

Download Recast free

Where to look in WooCommerce

  • WooCommerce > Subscriptions: filter by status. Subscriptions put on hold after a failed payment show as On hold.
  • WooCommerce > Orders: renewal orders with the status Failed or Pending payment.
  • Tools > Scheduled Actions: search for woocommerce_scheduled_subscription_payment. Actions that are past due or failed are renewals that did not run.
  • WooCommerce > Settings > Subscriptions: the failed payment retry setting, if you want WooCommerce Subscriptions to try failed payments again.

This shows what already failed. It does not show what will fail next.

Find renewals that will fail, before they fail

Recast is a free plugin on WordPress.org. Its Health check, under WooCommerce > Recast, reads your active and on-hold subscriptions and reports:

  • Renewals that will fail: automatic renewals through a payment method that is not installed or is turned off. WooCommerce cannot charge these.
  • Overdue renewals: active subscriptions more than a day past their next payment, or with none. A renewal that did not run is revenue you did not collect.
  • Renewals that send an invoice: manual renewals where the customer has a saved card that could pay automatically. The customer gets an invoice and pays by hand, so some renewals are paid late or not at all.

The Health check also shows the next 30 days of renewals, with the amount due each day. It only reads data.

Fix each group

Each finding has Preview the fix, which selects the subscriptions and chooses the change:

  • Renewals that will fail: move them to a payment method you choose, or to manual renewal. Recast cannot move saved cards from one payment method to another, so it moves subscriptions only to manual renewal or to a payment method that needs no saved card. For the rest, ask the customers to add a new payment method in their account.
  • Overdue renewals: set a new next payment date. Recast skips dates less than 24 hours away by default, so the change does not charge customers at once by surprise.
  • Renewals that send an invoice: switch them to automatic renewal. If you chose manual renewal on purpose, leave them.

Check the preview, then apply with Recast Pro, a separate plugin. You can undo the whole batch.

Prevent the next one

  • Before you remove or turn off a payment method, run the Health check and move its subscriptions first.
  • Run the Health check after you change payment methods or product prices.
  • Keep the failed payment retry on, so a card that fails once gets another try.

Related guides