Stripe estimates that 9% of subscription revenue is lost to failed payments every month. If your paid Discord community or membership does $5,000 MRR, that is $450 disappearing each month -- not from members who chose to leave, but from people whose cards expired or whose banks flagged a recurring charge. They did not intend to cancel. They just never received a message that actually reached them.

Here is what you are losing, what an automated dunning system recovers, and how to build the recovery sequence for a paid Discord community.

The size of the problem by MRR

At different MRR levels, here is what paid communities lose annually to failed payments with no recovery system in place:

  • $2,000 MRR: approximately $2,160 per year
  • $5,000 MRR: approximately $5,400 per year
  • $10,000 MRR: approximately $10,800 per year
  • $25,000 MRR: approximately $27,000 per year

This is recurring revenue permanently lost -- not a one-time event. Every month, the same percentage of your subscription base has a payment fail. Without a dunning system, most of those members lose their Discord access without understanding why, assume they were removed, and move on.

Why most community owners do not catch it

Stripe sends email notifications when payments fail. They go to the member's inbox -- often infrequently checked, or sorted into a promotions folder they never look at. A notification from "Stripe" about a failed payment does not carry the same urgency as a message from the Discord community they are actively part of.

Without a custom dunning sequence, you are relying on Stripe's generic retry logic and hoping members notice and fix it themselves. Most do not. They see their Discord access disappear, assume they were cancelled or removed, and move on without realising a payment was the cause.

What a proper failed payment recovery system does

A dunning automation catches failed payments before they become cancellations. The moment Stripe fires an invoice.payment_failed event, your n8n workflow starts the recovery sequence for your Discord community:

Day 0: Immediate response

Within minutes of the payment failure, send two things at the same time:

A Discord DM from your community bot: "Hey [Name], your payment did not go through this month. Your access is still active for the next few days while you sort it. Update your card here: [Stripe customer portal link]."

An email via your email platform with the same message and a prominent payment update link. Some members respond faster to email. Some to Discord. Send both.

This immediate, personal-feeling response from the community they are part of converts significantly better than a generic Stripe notification sent hours later.

Day 2: Follow-up

If the payment has not recovered after 48 hours, send a follow-up DM and email. Slightly different framing: acknowledge it may have been missed, state that Discord access will be removed in two days, and keep the payment update link prominent. Practical information, not guilt.

Day 4: Final warning

If still unrecovered: a final message that Discord access will be removed at the end of that day. This is often the highest-converting message in the sequence because the deadline is real and immediate.

Day 4 end: Role removal and win-back

If no payment by end of Day 4: n8n removes the Discord role, updates your member database, and starts a win-back email sequence. The win-back sequence acknowledges the member may have decided to leave and gives them an easy path back if they want to return.

How much this recovers

Recovery rates depend on response speed and community engagement level:

  • Communities with immediate dunning (same-day response): recover 60 to 75% of failed payments
  • Communities with delayed dunning (next-day or later): recover 30 to 45%
  • Communities with no dunning (Stripe defaults only): recover 10 to 20%

One community we work with was recovering roughly 15% of failed payments through Stripe's default retry logic alone. After implementing a dunning sequence with Discord DMs and email, that jumped to 67% in the first month. On a $6,000 MRR community, that is an additional $1,800 recovered in month one from a workflow that runs automatically every time it fires.

The Stripe events to listen for

invoice.payment_failed -- the main event. First failure. Start the dunning sequence immediately.

invoice.payment_action_required -- Stripe is requesting 3D Secure authentication from the member. Send a specific message directing them to authenticate the payment, not just update their card.

invoice.payment_succeeded -- payment recovered. Cancel any pending Discord role removal. Send a recovery confirmation DM. Log the recovery in your database.

customer.subscription.deleted with reason payment_failed -- Stripe has exhausted retries and cancelled the subscription. Your grace period should have already handled Discord role removal, but catch this as a fallback.

Recovering members you have already lost

If you have had no dunning system until now, you have a backlog of churned members whose payments failed and who were never contacted properly. Pull a list of cancelled subscriptions from Stripe with a cancellation reason of payment_failed in the last 90 days and run a one-time re-engagement campaign targeting those members specifically.

The message angle: acknowledge what happened (their payment failed, they lost Discord access), offer a simple path to rejoin (one-click Stripe checkout link), and include a reason to come back (what is new since they left). Even a 10% response on this list is real recovered revenue.

Want this set up correctly without the trial and error? We do payment-to-access automation for paid communities in 7 days. Book a free audit.

Related: Paid community automation: the complete guide | Stripe to Discord: handling renewals, failed payments and cancellations | How to reduce churn in a paid membership community