Skip to content
LaunchMyServer

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.

Ways to grant a Discord role when someone pays
ApproachPayment sideHow it gets the Discord IDRemoves role on cancelBest for
Whop / LaunchPassTheir checkoutConnect Discord loginYes, automaticPaid communities that want it done fast
Discord Server SubscriptionsDiscordBuyer is already on DiscordYes, automaticEligible servers wanting a native option
Zapier: Stripe -> Discord add roleYour StripeCustom field or formOnly with a second ZapLow volume, simple tiers
Custom bot + Stripe webhooks + OAuth2Your StripeOAuth2 loginYes, if codedDevelopers, custom logic
Linked Roles appAny (app checks status)User connects the app in DiscordRe-checked when metadata updatesVerifying an external membership
Manual role after a purchase alertAnyBuyer posts in #verifyManual auditVery 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

  1. Create one role per paid tier (for example Member, VIP).
  2. Make the paid channels private: deny View Channel for @everyone, allow it for the tier roles.
  3. Invite the bot and drag its role above every role it must assign.
  4. 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

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.