What this problem looks like
WooCommerce Subscriptions charges stored payment methods on a schedule. Renewal failure leaves subscriptions on-hold and may revoke member access depending on your settings.
Action Scheduler backlog, disabled WP-Cron, or expired cards cause more production incidents than Subscriptions plugin bugs.
Read subscription and renewal order notes
Open the parent subscription in admin. Notes list each renewal attempt with gateway responses. 'No payment method' means the token was removed. 'Card declined' is customer-side. HTTP errors point to integration or hosting blocks.
Action Scheduler health
Failed, pending, or past-due actions mean cron is not processing. Install WP Crontrol or use hosting cron to call wp-cron.php every five minutes. Large queues after migration need WP-CLI action-scheduler run.
wp action-scheduler run --hooks=woocommerce_scheduled_subscription_payment
wp action-scheduler clean
Gateway requirements for renewals
- Stripe: Customer and payment method saved at signup, off-session charges enabled.
- PayPal: Vault or reference transactions supported on your account.
- Manual renewals: customer must return to pay if automatic billing is off.
Retry rules and customer emails
WooCommerce Subscriptions can retry failed payments on a schedule. Configure retries under WooCommerce → Settings → Subscriptions. Ensure failed renewal emails are enabled so customers update cards before suspension.
Plugin conflicts with membership and content access
Membership plugins listening to subscription status may revoke access on first failure even when retries are pending. Align grace periods across plugins. Disable aggressive caching on account and membership pages.
When to stop DIY and hire help
Subscription billing touches gateways, tax, EU regulations, and custom membership logic. BugShield fixes renewal pipelines and Action Scheduler backlogs on WooCommerce Subscriptions stores.