How Benecaster Handles Subscriber Billing
This page explains how the built-in membership system handles common billing situations — what happens to a subscriber’s feed access in each case, and what (if anything) you need to do.
Successful Payment
When a subscriber’s payment succeeds:
- Stripe sends an
invoice.paidevent. - Benecaster updates the subscription’s billing period dates.
- A payment receipt email is sent (if enabled in Show settings).
- The subscriber’s feed URL is unchanged.
You don’t need to do anything. Renewals are fully automatic.
Payment Failure — During Stripe’s Retry Window
When a payment fails, Stripe enters a retry cycle. The default retry schedule spans roughly three weeks across four attempts, though this depends on your Stripe account settings.
What happens to feed access: The subscription is internally marked as overdue, but the subscriber’s feed token is not revoked. They can continue downloading episodes throughout the retry window. This is consistent with how external membership plugins handle failed payments — WooCommerce Subscriptions puts the subscription “on hold,” MemberPress and Restrict Content Pro use configurable grace periods — all of them maintain access while retrying.
What Benecaster does automatically:
- Sends the subscriber a payment failure email (once, not on every retry attempt)
- Shows a persistent “payment failed” notice on the subscriber’s account page with a link to update their payment method
What you need to do: Nothing, unless a retry succeeds or all retries are exhausted (see below).
Payment Recovery — Retry Succeeds
When a retry payment succeeds:
- Stripe sends
invoice.paidfollowed bycustomer.subscription.updated. - Benecaster transitions the subscription status from overdue back to active.
- The account page payment failure notice clears automatically.
- The subscriber’s feed access was never interrupted.
All Retries Exhausted — Subscription Cancelled
When all Stripe retries are exhausted without a successful payment:
- Stripe cancels the subscription and sends
customer.subscription.deleted. - Benecaster revokes the subscriber’s feed token immediately.
- The subscriber receives a Subscription Cancelled email (if enabled).
- The subscriber loses podcast access.
To regain access, the subscriber would need to resubscribe through the podcast’s subscribe page.
Subscriber Cancels
When a subscriber cancels through their account page:
- Benecaster sets
cancel_at_period_end = trueon the Stripe subscription. - Feed access continues through the end of the current billing period — the subscriber paid for that period.
- At the end of the billing period, Stripe closes the subscription and Benecaster revokes the token.
- The subscriber receives a Subscription Cancelled email at that point (not at the moment they cancel).
This is the standard cancel-at-period-end pattern used across all subscription billing platforms.
Parity with External Bridges
Built-in membership billing behavior is consistent with how external bridges handle the same scenarios:
| Scenario | External bridges | Built-in membership |
|---|---|---|
| Payment failure | Access continues (WC: on-hold; MemberPress/PMP/RCP: grace period) | Access continues (subscription marked past_due) |
| Retry success | Access continues uninterrupted | Access continues uninterrupted |
| All retries exhausted | Bridge cancels/expires membership | Stripe cancels; token revoked |
| Subscriber cancels | External plugin handles end-of-period | Stripe cancel_at_period_end |
What Requires Your Attention
In normal operation, nothing. The billing cycle runs automatically. The scenarios that may benefit from your attention:
- Subscriber with recurring payment failures — you can view their subscription status in Benecaster → Subscribers → [Subscriber]. The account page notice prompts them to update their payment method.
- Subscriber who wants a refund — Benecaster does not issue refunds. Use the Stripe Dashboard to refund the charge directly.
- Subscriber who wants an immediate cancellation (not end-of-period) — not available through the subscriber account page. Use the Stripe Dashboard to cancel the subscription immediately, or cancel via the Benecaster subscriber detail panel if that option is exposed.
If Your Own Benecaster License Lapses
Everything above assumes your Benecaster license is in good standing. If it isn’t — a payment of yours failed and ran past the 30-day grace, or you cancelled — there is one thing that does not take care of itself.
Your subscribers’ billing is separate from your own. Your license lapsing stops their feeds. It does not, on its own, stop their payments.
What happens automatically: when your license reaches hard cutoff, Benecaster pauses collection on the subscriptions it manages, so nobody is charged for a feed that has stopped working. If you later bring your license current, that pause lifts and collection resumes for exactly the subscribers we paused — nothing for you to reconstruct, and nothing for them to re-enter.
What does not happen automatically: those subscriptions are paused, not cancelled. They stay on your account indefinitely until you close them.
That is deliberate. Pausing is reversible and cancelling effectively isn’t — a cancelled subscription means each subscriber would have to sign up again by hand. We are not willing to make that call on your behalf, because it destroys revenue you may be about to recover. If you are not coming back, cancel them yourself in Benecaster → Memberships.
Running an external membership plugin instead? None of the above applies. Benecaster cannot pause or cancel billing inside Restrict Content Pro, Paid Memberships Pro, WooCommerce Subscriptions or Patreon — those systems have no idea your license lapsed and will keep charging on schedule, indefinitely. You must stop it there yourself. See License Status and Notifications.