How to automatically give a Discord role after purchase
Updated · Integrations
Use a tool that links the buyer's Discord account at checkout and then adds (and later removes) a role with its bot: a paid-access platform like Whop or LaunchPass is the fastest route, Zapier works if you can collect the buyer's Discord user ID, and a custom bot using Discord OAuth2 gives full control. Discord's own Server Subscriptions are the native alternative where your server is eligible.
| Approach | Payment side | How it gets the Discord ID | Removes role on cancel | Best for |
|---|---|---|---|---|
| Whop / LaunchPass | Their checkout | Connect Discord login | Yes, automatic | Paid communities that want it done fast |
| Discord Server Subscriptions | Discord | Buyer is already on Discord | Yes, automatic | Eligible servers wanting a native option |
| Zapier: Stripe -> Discord add role | Your Stripe | Custom field or form | Only with a second Zap | Low volume, simple tiers |
| Custom bot + Stripe webhooks + OAuth2 | Your Stripe | OAuth2 login | Yes, if coded | Developers, custom logic |
| Linked Roles app | Any (app checks status) | User connects the app in Discord | Re-checked when metadata updates | Verifying an external membership |
| Manual role after a purchase alert | Any | Buyer posts in #verify | Manual audit | Very small groups |
Why it is harder than it looks
Payments know an email address; Discord roles belong to a user ID. Every working setup has a step that connects the two, usually a Connect Discord button that uses Discord OAuth2 so the buyer logs in once and the system learns their ID. After that, a bot whose role is above the paid role adds it, and removes it when the subscription ends.
How to connect Stripe to Discord roles
- No code: sell through a paid-access platform that uses Stripe or its own processor and has a built-in Discord bot. Check fees on the vendor's own pricing page.
- Low code: Zapier with a Stripe payment or subscription trigger and a Discord add-role action. Add a custom checkout field for the Discord ID (expect typos) and a second Zap for cancellations.
- Code: listen to Stripe webhooks for successful checkout and subscription changes, store the customer's Discord ID from an OAuth2 login, and call Discord's API to add or remove the role. With the guilds.join scope your bot can also add the buyer to the server directly.
Sync Discord roles with a membership platform
Most membership platforms (for example Whop, LaunchPass, Patreon, Memberful) run the same loop: member connects Discord, platform maps each tier to a role, role is added on payment and removed on cancellation or failed payment. When comparing, check: tier-to-role mapping, grace periods, what happens to members who leave and rejoin, and whether the bot needs Manage Roles (it does) and a role position above your tier roles.
Linked Roles explained
Linked Roles let a Discord app verify something about a user's external account and make a role available only to users who meet the requirement. You attach the requirement to a role in Server Settings > Roles; members connect the app and Discord checks the metadata the app reports (for example, is_member = true). It is a verification layer, not a checkout: something still has to sell the membership and keep the app's metadata up to date. Developer details are in the Linked Roles tutorial.
Set up the server side first
- Create one role per paid tier (for example Member, VIP).
- Make the paid channels private: deny View Channel for @everyone, allow it for the tier roles.
- Invite the bot and drag its role above every role it must assign.
- Test with a second account: buy, confirm the role appears, cancel, confirm it disappears.
Quick answers
- Automatically give a role after purchase discord?
- Use a paid-access platform or bot that links the buyer's Discord account and assigns a role on payment, or build it with Zapier/Stripe webhooks plus the buyer's Discord user ID. Put the bot's role above the paid role.
- How to connect stripe to discord roles?
- Stripe has no built-in Discord role feature. Connect them through a platform with a Discord bot, a Zapier Stripe trigger with a Discord add-role action, or your own bot that handles Stripe webhooks and Discord OAuth2.
- Sync discord roles with a membership platform?
- Pick a platform with a Discord integration, map each tier to a Discord role, make sure its bot role sits above those roles, and test both joining and cancelling with a test account.
- How to enable premium memberships in my discord server?
- Discord's native option is Server Subscriptions, which depends on eligibility and region; check Server Settings for a monetization option and Discord's official help articles. Otherwise use a third-party paid-access tool.
- Why didn't the bot give the role?
- Almost always role hierarchy: a bot can only assign roles below its own highest role. Also confirm it has Manage Roles and that the user ID is correct.
What to do next
Get a paid membership server with tier roles, private channels and correct bot role order, ready to plug into your payment tool.
Related guides
Sources
- Discord Developer Docs: Linked Roles tutorial
- Discord Developer Docs: OAuth2
- Discord Help Center: Server Subscriptions
- Whop
- LaunchPass
- Stripe on Zapier
Checked: . Discord changes features and menus often; if something looks different, the official help center is the source of truth. LaunchMyServer is not affiliated with Discord.