Skip to content
Gaurav TiwariDocs

Renewals, Failed Payments and Retries

Updated October 17, 2026

The first sale is the easy part. The money in a subscription business comes from the hundredth renewal, and most of the support load comes from the ones that fail: an expired card, a bank that wants another approval, a customer who never opened the invoice.

The Subscriptions module creates every renewal as a normal WooCommerce order, charges it or emails it, and when payment fails, it retries on your schedule before cancelling. You set the rules once under Stackless → Settings → Subscriptions.

How a Renewal Order Is Built

On the next payment date, the module creates a pending renewal order from the subscription itself:

  • the subscription’s own line items, quantities and line totals, not today’s product prices
  • its billing and shipping addresses
  • its currency, shipping lines, fees and taxes
  • any coupon still discounting it

The order is linked to the subscription, so it shows under Related orders on both sides. A duplicate or late scheduled action never bills the same period twice.

Automatic vs Manual Renewals

Each subscription has a renewal mode, decided at checkout from the product’s Renewal mode and the gateway the customer used.

  • Automatic: the renewal order is charged straight away. The built-in Stripe and PayPal gateways charge the saved card or PayPal account. Polar runs its own schedule and the order is marked paid when Polar reports the charge.
  • Manual: the customer gets the Subscription renewal invoice email with a link to pay the order. This is how every other WooCommerce gateway renews.

If an automatic subscription’s gateway can’t charge on its own, the module adds a note to the subscription and sends the renewal invoice instead.

Set the Renewal and Retry Rules

The Renewals and failed payments section has five settings:

  • Retry schedule (days): comma-separated days between retries, default 1,3,5. Up to 10 entries are used, and each is capped at 60 days.
  • Manual renewal grace period (days): how long an unpaid manual renewal keeps the subscription active, 0 to 60, default 0.
  • Renewal reminders: email customers before each renewal, on by default.
  • Days before renewal: when that reminder goes out, default 3.
  • Days before trial ends: when the trial ending email goes out, default 3. 0 turns it off.

During a trial, the regular reminder is skipped when the trial ending email already covers the first charge.

What Happens When an Automatic Payment Fails

  1. The renewal order is marked Failed.
  2. The subscription goes On hold, and the customer gets the Subscription payment failed email with a link to pay.
  3. A retry is scheduled using the first number in your schedule.
  4. Each retry charges the same renewal order again. Another failure schedules the next retry.
  5. When the last retry fails, the renewal order and the subscription are both cancelled.

With the default 1,3,5, retries run 1 day after the failure, 3 days after that, then 5 days after that. The subscription is cancelled if the third retry fails.

If the payment goes through at any point, the subscription returns to Active, pending retries are removed and the next payment date moves forward.

What Happens When a Manual Renewal Isn’t Paid

  1. The renewal invoice is emailed when the order is created.
  2. After the grace period, the subscription goes On hold. With a grace period of 0, that happens right away.
  3. The same retry schedule then sends the renewal invoice again as a reminder.
  4. If the order is still unpaid at the last step, it’s cancelled and so is the subscription.

With 1,3,5 and no grace period, reminders go out after 1 day and after 4 days, and the subscription is cancelled at day 9. An empty retry schedule leaves it on hold until it’s paid or you cancel it.

Customers Can Always Pay

A failed or unpaid renewal stays payable. Customers see a Pay renewal button on their subscription in My Account and a Subscription link next to renewal orders in their order list. Paying with any available gateway reactivates the subscription.

If a customer adds a new card to the subscription while a renewal is waiting, the next retry uses it.

Subscription Statuses

  • Pending: created at checkout, waiting for the first payment.
  • Trial: in a free trial. It moves to Active when the trial ends.
  • Active: paid and renewing.
  • On hold: a renewal is unpaid or you paused it.
  • Pending cancellation: cancelled at the end of the period. Access continues until then.
  • Cancelled: ended early, by you, the customer or the final failed retry.
  • Expired: a fixed-length plan reached its end.

On a fixed-length plan, the next payment date clears after the last paid period and the subscription expires on its end date.

The Scheduled actions box on each subscription’s edit screen shows what’s queued next.

Good to Know

  • Renewals, retries and reminders are Action Scheduler jobs in the group stackless-subscriptions.
  • If you delete a renewal order, the module won’t recreate it for that period.
  • A renewal paid after the subscription was cancelled or expired is recorded, but no dates change.
  • Gateway-specific behavior, like Stripe’s 3D Secure handling, is in Set Up Stripe Payments and Sell Through Polar as Merchant of Record.
Share

Was this helpful?

Still stuck? Open a support ticket