Your membership runs on recurring Stripe subscriptions, but the two events that move revenue — a failed renewal you could still save and a cancellation you could still win back — arrive silently in a dashboard nobody checks. Here's how to hear them in real time.
The ChargeBell Team·Updated July 6, 2026·8 min read
If you run a paid Discord, Circle, or membership community, your whole business is recurring Stripe subscriptions — but you probably watch it through the Stripe dashboard, which nobody opens in real time. Stripe alerts for paid communities fix that: a new member shows up in a team channel the moment they join, a failed renewal reaches you while there's still time to save it, and a cancellation lands early enough to try a win-back. The signals that actually move revenue stop arriving silently and too late.
Short answer
Send three Stripe events to a shared Slack channel: new subscriber (celebrate the join and kick off onboarding), payment failed (the renewal charge that you can still save), and subscription canceled (the member you can still win back). ChargeBell posts each in plain English — name, tier, amount, MRR impact — so a human can act inside the save window instead of finding losses at month-end.
Why paid communities lose members they didn't have to
Community churn is brutal. Paid communities typically see 5–10% monthly churn, which means a community can shed more than half its members over a year if nobody manages it. Even the average subscription business loses about 5.3% of subscribers a month — roughly one in twenty cancels every month. And first-year members are the highest risk of all: median first-year renewal is only around 75%, versus ~84% overall, so a quarter of your newest members are gone within twelve months if onboarding doesn't land.
Here's the part that stings: a large chunk of that churn was never a decision. Involuntary churn — members lost to a failed card rather than an actual choice to cancel — accounts for 20–40% of total churn for subscription businesses. For every ten members you lose, two to four never meant to leave; their card just expired or bounced. Most subscription businesses lose 5–15% of monthly recurring revenue to failed payments, on an average transaction failure rate around 7.9%.
The good news is that this churn is recoverable — if someone acts fast. Good dunning recovers 15–30% of failed payments, and win-back outreach to recently lapsed members recovers another 5–15%, but lapsed members are most likely to return in the first 30–60 days. That's the entire case for real-time alerts: the money isn't lost at the moment a charge fails; it's lost while the failure sits unseen in a dashboard.
20–40%
of community churn is involuntary (failed payments)
~75%
median first-year member renewal — the highest-risk window
15–30%
of failed payments recoverable with fast dunning
Which Stripe events map to which community moment
Every community moment you care about is a documented Stripe subscription lifecycle event. Knowing which is which is the whole game — because one of them fires while you can still act, and one only fires after it's too late.
New member joined → customer.subscription.created / checkout.session.completed. Someone subscribed to a tier. This is the join you celebrate 🎉 and the onboarding trigger.
Renewal charge failed → invoice.payment_failed. A recurring charge was declined. This is the money-saver — it fires during Stripe's retry window while the member still wants to stay.
Member canceled / lost → customer.subscription.deleted. The subscription ended. This is the win-back trigger — worth a personal note, since a meaningful share of cancelers eventually return.
Successful renewal / MRR → invoice.paid. A recurring charge went through. This is the heartbeat of your recurring revenue.
The failed-payment alert is the one that saves the member
invoice.payment_failed fires on each failed attempt — during Stripe's retry window, while the member still wants to be there. customer.subscription.deleted fires only after the member is fully gone. If you only wire up one alert, wire up the failed renewal: it's the difference between a save and a post-mortem.
One timing note worth knowing: as of Stripe's 2025 Checkout changes, subscriptions are created after payment completes, so both checkout.session.completed and customer.subscription.created fire in the new-subscriber flow — either can drive your "new member" alert. And when Stripe's Smart Retries are exhausted, the subscription moves to past_due, unpaid, or canceled depending on your config, which is exactly why you want the alert on the failure, not on the deletion. If you want the deeper mechanics, see how to monitor Stripe subscriptions in Slack.
Celebrate joins in a team channel — it's a ritual, not vanity
A new-member alert isn't a dopamine hit for the founder; it's the trigger for the onboarding that retention data says matters most. Members who don't engage in the first 90 days are 73% more likely to churn, and the top paid Discord servers sustain 85–95% monthly retention by pairing consistent programming with a strong new-member welcome. When a join lands in a shared channel, a real person can say hi, drop the newcomer into the right cohort, and start the relationship — inside the window where it counts.
#community-wins
🎉
ChargeBellApp
🎉 New member! Priya Nair joined the Founders Circle ($49/mo)
MRR +$49.00 · first-time customer
Say hi in #welcome and add her to the onboarding cohort
ChargeBell's new-subscriber alert (🎉) carries the MRR change, so the celebration doubles as a running tally of where your recurring revenue is going. Route wins like this to a #community-wins or #welcome channel, and keep the noisier money-in alerts elsewhere — more on routing below. If you also sell one-off products or events, how to get Stripe payment notifications in Slack covers the payment-received side.
Catch failed renewals in time to save the member
This is where a real-time alert earns its keep. Stripe Smart Retries will reattempt a failed charge automatically — you can set the retry policy to 1 week, 2 weeks, 3 weeks, 1 month, or 2 months — and recovery estimates vary widely, from Stripe's cited ~55% for businesses using recovery features down to roughly 25–38% for Smart Retries alone in independent B2C data. Retries help, but they don't fix an expired card or a member who needs a nudge. A human reaching out during that window is what turns an involuntary loss back into a paying member.
#renewals
⚠️
ChargeBellApp
⚠️ Failed renewal — Marcus Lee's $29/mo membership was declined
Reason: card_declined · Stripe will retry
Reach out now — this is the window to save the member before they lapse
In ChargeBell, payment failed (⚠️) is treated as a critical alert: it bypasses quiet hours and can add an @channel prefix so it doesn't get buried, because a missed renewal is time-sensitive in a way a routine payment isn't. Route it to a channel where someone will actually act — a #renewals or #saves channel your community manager watches. For the full playbook on wiring this event and what a good failed-payment message includes, see how to send failed payment alerts to Slack.
Treat a cancellation as a win-back, not a farewell
Not every departure is permanent. Around 30% of cancelers eventually return, and 51.7% of members would rather pause than fully exit — which means a cancellation alert is really a prompt for a human save attempt. Catch it early and you can offer a pause, a downgrade, or just ask what changed. Notably, subscriptions with community features churn 23% less than those without, so your community is itself a retention lever — which raises the stakes on not silently losing the members you already earned.
#saves
😕
ChargeBellApp
😕 Member canceled — Dana Kim ended her $99/mo Pro tier
After 8 months · reason: "too busy" · MRR −$99.00
Worth a personal win-back note — ~30% of cancelers come back
ChargeBell's subscription canceled alert (😕) carries the negative MRR impact so you see the revenue hit immediately, not at month-end when it's too late to reach out inside the 30–60 day return window.
How to set up Stripe alerts for paid communities
You don't need every alert type — you need the ones that map to a moment a human can act on. Here's a concrete starting setup that most communities can run as-is.
1
Connect Stripe (read-only)
One-click Stripe Connect OAuth. ChargeBell can see subscription events to send alerts; it can never move money, cancel a member, or change anything in your account.
2
Turn on three alerts
New subscriber 🎉, payment failed ⚠️, and subscription canceled 😕. These cover join, at-risk renewal, and loss — the moments that move revenue.
3
Route them to the right channels
Send new subscribers to #community-wins, failed renewals to a #renewals or #saves channel your community manager watches, and cancellations to #saves for win-back follow-up.
4
Keep the failed-renewal alert critical
Let payment failed bypass quiet hours and add @channel. A renewal you can still save shouldn't wait until morning.
5
Add digests for the trend line
On Pro, a daily and weekly digest rolls up new members, cancellations, and MRR movement so you see the direction of the community, not just individual events.
Stripe event
Community moment
ChargeBell alert
Route to
customer.subscription.created
New member joined 🎉
New subscriber (with MRR)
#community-wins
invoice.payment_failed
Renewal at risk — save it
Payment failed (critical)
#renewals
customer.subscription.deleted
Member lost — win them back
Subscription canceled
#saves
invoice.paid
Successful renewal / MRR
Invoice paid (optional)
#revenue
A starting map from Stripe subscription events to the community moments and channels that matter.
Community operators are prone to alert fatigue because a busy community fires a lot of events. Use per-channel routing so wins, renewals, and saves each land in their own place, set a minimum amount if you don't want every small charge, and lean on quiet hours for non-critical alerts. See how to avoid noisy Stripe notifications for the full tuning guide.
Why not just build this yourself?
You can wire Stripe webhooks to Slack directly, or chain them through an automation platform — and if you already run a lot of automations, that may be the right call. But for most community operators the job is narrow: turn a handful of subscription events into clear, actionable messages. A raw webhook gives you invoice.payment_failed as JSON; it doesn't tell you the member's name, tier, or MRR impact, and it doesn't decide that a failed renewal is critical while a routine payment isn't.
ChargeBell writes the message for you — name, tier, amount, net after fees, MRR change — and ships routing, quiet hours, digests, and retry-on-delivery-failure out of the box. It's a flat $24/month (or $240/year — two months free) for unlimited alerts, with a free plan that covers 100 alerts a month and 7-day history, no card required. If you're weighing the build-vs-buy trade-off, ChargeBell vs custom Stripe webhook code and ChargeBell vs Zapier for Stripe Slack alerts lay out both sides.
Key takeaways
Paid communities run on recurring subscriptions but usually watch them in a dashboard nobody checks — so the events that move revenue arrive too late.
20–40% of community churn is involuntary (failed payments) and largely recoverable if someone acts fast.
invoice.payment_failed is the money-saver — it fires during Stripe's retry window; customer.subscription.deleted only tells you after the member is gone.
Celebrate joins in a team channel to power the onboarding that first-90-days retention data proves matters.
Recommended config: new subscriber, payment failed (critical), and cancellation alerts routed to shared channels so a human acts inside the save window.
Hear your community's Stripe moments in Slack
Connect Stripe and Slack, turn on new-member, failed-renewal, and cancellation alerts, and route them to the right channels. Free plan, no card needed.
Which Stripe alerts should a paid community turn on first?
Start with three: new subscriber (customer.subscription.created), payment failed (invoice.payment_failed), and subscription canceled (customer.subscription.deleted). They cover the three moments that move revenue — a member joining, a renewal at risk, and a member lost — and each is something a human can act on in real time.
Why is the failed-payment alert more important than the cancellation alert?
invoice.payment_failed fires during Stripe's retry window, while the member still wants to stay — that's the window to save them. customer.subscription.deleted only fires after the member is fully gone. Since 20–40% of community churn is involuntary and much of it is recoverable, the failed-renewal alert is the one that actually saves members.
Can ChargeBell change or cancel a Stripe subscription for me?
No. ChargeBell connects to Stripe through official read-only OAuth. It can see subscription events to send alerts, but it can never move money, cancel a member, or modify anything in your Stripe account. Stripe stays the source of truth.
Does ChargeBell send alerts to Discord or Circle?
ChargeBell delivers to Slack and to a webhook endpoint you control. Even if your community lives on Discord or Circle, your team can run its operations — welcomes, saves, win-backs — from a shared Slack channel, and the webhook lets you route alert data anywhere else you need.
How much does ChargeBell cost for a community?
The free plan includes 100 alerts a month with 7-day history and every alert type, no card required. Pro is a flat $24/month (or $240/year — two months free) for unlimited alerts plus daily and weekly digests and full history.
Will real-time alerts flood my Slack?
Not if you route them. Send new members, failed renewals, and cancellations to separate channels, set a minimum payment amount if you want, and use quiet hours for non-critical alerts. Critical alerts like failed payments can bypass quiet hours so time-sensitive saves still reach you.