Explainer · 2026-05-31
Discord server paywall without Patreon: Stripe + webhook (2026)
Discord has no native subscription paywall. To lock a channel or role behind a payment, you need something external that collects the money and then tells Discord to assign the role. Patreon is the most common answer — but Patreon is also an 8% commission tax on every dollar, plus Apple's 30% on every iOS renewal after November 1, 2026. This page covers the three ways to build a Discord paywall, what each one costs to run, and the math on why the cheapest-looking option is rarely the cheapest.
Why Discord's native tools aren't enough
Discord launched Server Subscriptions in 2023 for eligible servers. It lets members pay directly inside the app for access to locked channels and subscriber-only perks. It looks like the obvious answer. It is not — for two reasons.
First, Discord takes 10% of every subscription. That fee compounds on top of Apple's 30% for iOS purchases and Google's cut for Android — the same in-app-purchase rules that now affect Patreon. On a server earning $2,000/mo with 65% iOS subscribers, the effective take across Discord's cut and Apple's cut leaves the creator with roughly $1,330/mo — a 33.5% combined loss before Stripe even touches a dollar.
Second, Discord Server Subscriptions are still in limited availability, only open to servers meeting Discord's own eligibility criteria. Most independent creators do not qualify.
The result: creators who want a Discord paywall either route through Patreon, build one themselves, or use a hosted service that wraps the Stripe-to-Discord pipeline.
Option 1: Patreon → Discord integration
Patreon has a native Discord integration that assigns roles automatically when a patron's subscription is active and removes them when it lapses. Setup takes about ten minutes. The experience is smooth.
The problem is cost. Patreon charges 8% on its Pro plan (the minimum plan that unlocks Discord integration) plus payment processing. After November 1, 2026, every iOS renewal adds Apple's 30% on top.
| Platform | $/mo kept at $2k revenue | Effective take |
|---|---|---|
| Patreon Pro · iOS active · post-Nov 1 | $1,319 | 34.1% |
| Patreon Pro · web-only toggle | $1,701 | 15.0% |
| Stripe direct · no platform fee | $1,942 | 2.9% |
Revenue: $2,000/mo, 65% iOS. Processing: Stripe standard (2.9% + $0.30 per charge). Full fee stack breakdown.
The $382/mo gap between Patreon web-only and Stripe-direct compounds over a year to $4,584 — the price of a dedicated studio upgrade or six months of professional editing. That is the cost of using Patreon as your Discord paywall rather than building or renting the webhook layer yourself.
The web-only toggle is worth doing immediately (the November 2026 checklist explains how). But it does not remove Patreon from the fee stack — only the iOS slice. The platform commission stays.
Option 2: Build the webhook yourself
The technical path is straightforward in concept. A Stripe subscription, a webhook endpoint, and the Discord Bot API are all you need. Here is how the stack fits together.
Step 1: create the Stripe subscription product
In Stripe Dashboard, create a Product with a recurring Price. For a two-tier Discord server, create two products — e.g. "Supporter" at $5/mo and "All-Access" at $15/mo. Enable Stripe Checkout for each, which gives you a hosted payment page with no PCI compliance work on your end.
Step 2: register a Discord bot and define the roles
In the Discord Developer Portal,
create an Application and add a Bot to it. Grant the bot the
Manage Roles permission and invite it to your server.
In your server settings, create the roles that correspond to each
Stripe tier (e.g. "Supporter Role", "All-Access Role"). The bot's
role must sit above these roles in the server hierarchy — Discord
will not let a bot assign a role higher than its own.
Step 3: write the webhook handler
Stripe fires webhook events when subscriptions change state. The four events a Discord paywall must handle are:
checkout.session.completed— subscription created; assign the role.invoice.payment_succeeded— renewal paid; keep the role.invoice.payment_failed— payment failed; optionally downgrade to a "pending" role.customer.subscription.deleted— subscription cancelled or expired; remove the role.
For each event, your handler calls the Discord REST API:
PUT /guilds/{guild_id}/members/{user_id}/roles/{role_id}
to add a role, and
DELETE /guilds/{guild_id}/members/{user_id}/roles/{role_id}
to remove it.
The catch: Stripe knows the subscriber's email address; Discord knows their Discord user ID. You need to collect the Discord ID at checkout. The standard pattern is a Stripe Checkout custom field (added to the session metadata) or a post-checkout page that asks the subscriber to authorize your bot via Discord OAuth2, which hands you the user ID directly. The OAuth2 path is cleaner but adds another 30–60 minutes of implementation.
Step 4: host the endpoint
The webhook handler needs to be reachable from the public internet with low latency — Stripe will retry failed deliveries but subscribers notice if their Discord role takes more than a few minutes to appear. A small VPS (Hetzner CX11 at €3.29/mo), a serverless function, or a Railway/Fly.io free tier all work.
Honest build time and total cost
An experienced developer who knows both the Stripe and Discord APIs can build and deploy this in four to six hours. Someone learning either API for the first time should expect a weekend. The ongoing cost is hosting plus Stripe's processing fee (2.9% + $0.30). There is no platform commission.
If your membership revenue is above $400/mo, the build pays itself back in the first month versus Patreon Pro. Below that, the hourly opportunity cost of the build may not clear.
The harder ongoing cost is maintenance. Stripe API versions change. Discord permissions models change. When a subscriber's role fails to assign because the bot's token expired or the webhook secret rotated, you are the support queue. That hidden tax is real and is often underestimated.
Option 3: KeepTier — the hosted webhook layer
KeepTier is the build-it-yourself approach above, hosted and managed, for $9/mo flat. The platform commission is 0%; you pay Stripe's standard processing (2.9% + $0.30) and nothing else to KeepTier.
Setup is the same end-state as the DIY path but without the implementation:
you connect your Stripe account, define up to two tiers,
connect the Discord bot (using KeepTier's OAuth2 flow, which
requests only the Manage Roles scope — no access to
messages or member list), and get a branded membership page at
support.yourbrand.com.
When a subscriber pays, the role assignment happens in seconds.
When they cancel or fail a renewal, the role is removed automatically.
At what revenue does KeepTier's $9/mo flat fee beat building and hosting the webhook yourself? A bare VPS costs ~$4/mo, so the marginal cost of KeepTier over self-hosting is $5/mo — about 2.5 hours of ongoing maintenance per year at a conservative $25/hr opportunity cost. If your webhook needs attention even once a year (a Stripe version bump, a Discord permission change, an expired token), KeepTier is already cheaper.
The full fee comparison at $2,000/mo
| Path | Monthly fee to platform | $/mo kept |
|---|---|---|
| Patreon Pro · iOS active · post-Nov 1 | $681 | $1,319 |
| Patreon Pro · web-only toggle | $299 | $1,701 |
| DIY Stripe + VPS ($4/mo) | $62 | $1,938 |
| KeepTier ($9/mo flat) | $67 | $1,933 |
Revenue: $2,000/mo, 65% iOS. Processing: Stripe standard on all paths. DIY VPS at $4/mo. Patreon platform commission: 8% (Pro). Apple's 30% applied to iOS share post-Nov 1. Full fee methodology.
DIY and KeepTier are within $5/mo of each other at this revenue band. Both save over $230/mo versus Patreon web-only — and over $600/mo versus staying on Patreon with iOS active post-November.
Which option fits which creator
The choice comes down to one question: how much do you want to own the infrastructure?
- You have a developer on your team or are comfortable with Node.js. Build the DIY path. Your total monthly overhead will be Stripe processing plus hosting. The implementation is documented and not exotic. Budget a weekend of work and $4–$10/mo ongoing.
- You want the same economics without the build. KeepTier is the hosted version of that path. You get the same 0% platform commission, the same Stripe processing, and automatic role assignment — without writing or maintaining the webhook service.
- You need private podcast RSS feeds as the primary perk, not Discord roles. Memberful is the better fit — it has native private RSS feed support. Its fee structure is $25/mo + 4.9% on Pro, which is more expensive than KeepTier but less expensive than Patreon above the $807/mo revenue inflection. Memberful vs KeepTier detailed.
- You also sell products and need a single dashboard. Ko-fi Gold ($6/mo, no commission) or Gumroad handle subscriptions and product sales together. Discord integration on Ko-fi uses a bot webhook, similar to the Patreon model. Eight platforms compared on one ledger.
The one thing to do this week regardless of which path you choose
If your Discord membership revenue runs through Patreon today, the single highest-return action before November 1, 2026 is to toggle off iOS purchases in Patreon Creator Settings. That one action recovers most of Apple's 30% cut with no migration required. It is not a permanent solution, but it is immediate and costs nothing to execute.
After that, run the numbers on your own revenue band. The difference between staying-on-Patreon and any of the Stripe-direct paths is not a rounding error — it compounds month over month against the same subscriber base with no audience growth required.
SEE YOUR NUMBERS
Enter your monthly revenue and iOS share. The calculator returns the exact take-home across every exit path in seconds. No email required.
Open the calculator →Related reading
- Patreon fees in 2026, every cut, receipts only — the full fee stack behind every number on this page.
- How to disable iOS billing on Patreon: the November 2026 checklist — the immediate toggle, week by week.
- How to leave Patreon: 30-day migration playbook — when you are ready to move entirely, not just toggle.
- Eight Patreon alternatives compared on one ledger — all platforms side-by-side with the same revenue band.
- Memberful vs KeepTier — when private RSS is the primary perk.
- Patreon alternatives for podcasters — Discord + RSS intersection for audio creators.