Skip to main content

Payment Failure and Recovery

When a Benecaster subscription payment fails, your license moves to Suspended state. Benecaster gives you a 30-day window to resolve the billing issue before any subscriber impact occurs. This page covers what to expect at each stage and how to recover.


The 30-Day Grace Window

The moment Benecaster’s daily license check receives a payment-failed rejection from the license server, a 30-day grace window opens. During this window:

  • Subscribers are unaffected. Their private feed URLs continue to work and deliver their tier-specific content normally.
  • New token generation is blocked. New subscribers who sign up through your membership plugin cannot receive a feed URL until the billing issue is resolved.
  • A warning notice appears in the Benecaster admin notification panel explaining that payment failed and prompting you to update billing.

The grace window opens once, on the first payment-failed response. Subsequent daily checks that also return payment-failed do not restart the clock — you have 30 days from the initial failure, regardless of how many failed checks occur in between.


What Your Subscribers See

Nothing. That’s the point.

During the full 30-day grace window, your subscribers’ private feed URLs continue to deliver their tier-specific episodes exactly as normal. No notification is sent to subscribers. Their podcast apps keep working without interruption. You have 30 days to resolve the billing issue without any subscriber-visible consequence.


What the Operator Sees

Where What appears
Settings → Account → Status Suspended
Admin notification panel Warning notice — payment failed, 30-day window has begun
Settings → Account → Renewal date Shows when the subscription lapsed

Benecaster also emails you a series of reminders to prompt you to update billing:

Day Email
Day 0 Payment failed — your Benecaster subscription payment could not be processed
Day 10 Billing reminder — 20 days remain in your Benecaster grace period
Day 20 Billing reminder — 10 days remain in your Benecaster grace period
Day 29 Final notice — your Benecaster grace period ends tomorrow

Each reminder is sent once. The Day-0 email does not re-fire on subsequent retry attempts from Stripe — only the first confirmed failure triggers it.

The ladder stops at the cutoff. The Day-29 notice is sent on day 29 and only while you are still inside the 30-day window. Once the window closes you receive nothing further from this sequence — no repeated final notices, and never a “0 days remaining” warning after the fact.

These come from benecaster.com, not from your site, and go to your account’s billing address rather than your site’s admin address.

Because they aren’t sent by your site, they don’t appear in your email queue, can’t be delayed by WP-Cron, and have no local template to override.

For local observability, the plugin fires benecaster_license_grace_started when the grace window opens — hook it to route an alert to external monitoring or raise your own notice. There is no plugin-side hook for the reminder emails themselves.


If the Grace Window Expires Unresolved

If 30 days pass without a successful payment, Benecaster enters hard cutoff state. From that point:

  • Private feed URLs stop serving. They return an error rather than content, and they do not fall back to your public feed. The paid product stops.
  • Your public feed keeps working normally. So do your episodes, your show pages, and listener support links. At hard cutoff the site runs as exactly the free WordPress.org version of Benecaster. You lose subscriber delivery, not your podcast.
  • Nothing is downgraded or deleted, and it all comes back when you pay. Hard cutoff is a state your license is in, not a conversion of your install. Subscriber records, tier mappings, episodes and settings are untouched, and recovery works at any point — see Recovery below.
  • Token access is suspended but tokens are not deleted. Tokens are marked as blocked for the duration. On recovery, the block is lifted — feed URLs start working again on the next app poll, and subscribers do not need to re-add their feeds.
  • New token generation stays blocked.
  • Some podcast apps eventually drop subscriptions after enough consecutive failed polls. This is the consequence worth knowing about — see the recovery section below.

The hard cutoff is applied by GraceExpiryTracker during the nightly cron pass, which records the cutoff timestamp. The benecaster_license_payment_grace_hard_cutoff action fires once, on the first cron tick that crosses day 30 — hook it to escalate an admin notice or alert external monitoring.

What subscribers see during hard cutoff. Their app reports an error or an empty feed rather than quietly showing different episodes. That is deliberate. Somebody whose paid access has ended should be told, not moved onto the free tier without noticing — a silent switch to public content damages your relationship with the people who were paying you, and it hides from them that anything happened at all.

The audio stops too, including for episodes their app already lists. Not just new episodes: the tokenized audio links inside episodes downloaded into their queue weeks ago stop working as well, so tapping play on one fails. Episodes they already downloaded stay on their device — a file on disk is untouched; what stops is fetching anything new. Followers are exempt and keep listening throughout.

** Benecaster stops built-in-membership billing here — but not billing you run elsewhere.** Hard cutoff stops your subscribers’ feeds. What it does to their payments depends entirely on who is collecting the money.

Built-in membership: collection is paused for you. At hard cutoff Benecaster pauses collection on every built-in-membership subscription it created, so nobody keeps paying for a feed that returns an error. Bring your licence current and the pause lifts for exactly the subscribers it paused — nothing to reconstruct, and nothing for them to re-enter.

You are told if the pause does not go through. Every pause sweep publishes a notice: informational when it was clean, critical when any subscription failed to pause or any show had to be skipped, naming the shows affected. A show sitting in test mode while holding live subscriptions is the case that gets skipped, and it is the one worth acting on — those subscribers keep being charged until you stop it.

An external membership plugin: nothing stops. Restrict Content Pro, Paid Memberships Pro, WooCommerce Subscriptions and Patreon have no idea your licence lapsed and keep charging on schedule, indefinitely. You must stop it there yourself.

This matters more here than on a deliberate cancellation, because nobody chose this state. A card expired, and the site arrived at the end of the window on its own.

Pausing is not cancelling, and the cancelling is still yours to do. A paused subscription sits in your Stripe account indefinitely until you close it — that is deliberate, because pausing is reversible and cancelling effectively is not: a cancelled subscriber has to sign up again by hand. Benecaster will not make that call for you. If you are not coming back, cancel each membership yourself in Benecaster → Memberships; the pause alone will never end it.

** This pause is specific to the payment-failure path.** It fires when a failed payment runs the full grace window to hard cutoff. It does not fire when you cancel deliberately, and it does not fire on a plain expiry — in those cases your subscribers’ billing carries on exactly as before and stopping it is yours to do.


Recovery

To restore full private access:

  1. Log in to benecaster.com/my-account/ and update your payment method or clear the failed invoice. Every email in this sequence links to the same place — the Payment method panel, not the top of the page.
  2. Wait for the next daily license validation (automatic, runs once per day), or trigger it manually from Settings → Account → Validate now.
  3. When the license server responds with a valid status, Benecaster:
    • Clears the grace window record and the hard-cutoff marker
    • Un-revokes every token that was revoked by the cutoff, in a single pass
    • Restores private feed delivery on the next poll from each subscriber’s app
    • Unblocks new token generation

There is no deadline on recovery. Whether you resolve the billing issue on day 5, day 45, or a year later, the result is identical — full restoration. Nothing expires, nothing is purged, and there is no point after which the license can only be replaced rather than revived. Paying on day 5 simply means there were no revoked tokens to bring back.

Recovery requires nothing from your subscribers. Their feed URLs are unchanged and start working again on their own — you do not need to reissue tokens, resend welcome emails, or tell anyone to do anything.

Only tokens blocked by the hard cutoff come back. Restoration is scoped to tokens tagged grace_timeout. Anything revoked for another reason during the same window — an admin revoking access, a bridge cancellation, a manual grant reaching its expiry — stays revoked. Those were deliberate decisions and recovery does not undo them.

Timing. Restoration happens on the first daily validation cycle after the payment succeeds, so typically within 24 hours — during which your feeds are still dark even though the billing problem is fixed.

Don’t wait for it. Trigger validation immediately from Settings → Account → Validate now. Every hour of unnecessary darkness is another chance for a podcast app to give up on the feed.

The one case that needs subscriber action. If a subscriber’s podcast app dropped the show during the dark period — some apps do after enough consecutive failures — their feed URL works again, but the app has already deleted the subscription. They will need to re-add it. This is worth a proactive message to your subscribers after a long outage rather than waiting for support requests.

Two actions fire on recovery. benecaster_license_grace_recovered fires on every recovery, including one where payment succeeded before day 30 and no access was ever lost. benecaster_license_payment_grace_recovered( int $restored_count, int $started_at ) fires only when a hard cutoff was cleared and tokens were actually restored — hook that one for “N subscribers just got their access back” notices, resolve events on a monitoring incident, or tracking how many subscribers survive an outage.


The Unpaid Balance Doesn’t Go Away

Reaching hard cutoff doesn’t erase what you owed. Benecaster doesn’t cancel a lapsed subscription outright — it’s left in an unpaid state, and the invoice from the month the payment failed stays outstanding indefinitely.

You can’t sidestep it by signing up again. Starting a brand-new subscription checkout under the same email you used before is blocked while that balance is unpaid — you’ll be pointed at My Account → Payment method to clear it. Update your payment method or clear the invoice there, the same step described under Recovery, and a new checkout is unblocked immediately afterward.


If Your Show Is Subscription-Only

If your show has no meaningful public feed — a subscription-only show where the public feed is empty or sparse — a cutoff takes your whole subscriber-facing operation offline. There is no partial service to fall back on, which makes the day 0, 10, 20 and 29 reminders worth acting on rather than filing.

Running a show this way is supported — see Running a Subscription-Only Show for how to set one up, and for the two other consequences worth weighing first.


Timeline Summary

Day Status Subscriber access
0 (payment fails) Suspended — grace opens Full private access ✓
1–29 Suspended — grace window Full private access ✓
30 (grace expires) Suspended — hard cutoff Private feeds stop; public feed unaffected
After recovery Active Full private access ✓

See Also

Frequently Asked Questions

See Also