Tutorial

How to sell Discord roles with Stripe

Seven steps from an empty role to a member paying for it, using Arcalotl and your own Stripe account. Most of the time goes to Stripe verification; everything else is a few minutes each.

Published . about 30 minutes to complete

What you need

  • A Discord server where you have Manage Server and Manage Roles.
  • A Stripe account, or the identity and bank details to create one.
  • One thing members will pay for: a channel, a resource, an event, or a badge.

There is no member-count or server-age requirement, and no country restriction beyond Stripe's own list. If you want Discord's built-in option instead, the native vs bot comparison explains the trade.

The steps

  1. Step 1
    3 minutes

    Create the role you will sell

    In Server Settings, Roles, create the role (for example Supporter). Give it the channel permissions that make it worth paying for and nothing else. Do not give it Manage Roles or Administrator; a paid role with admin rights is a security incident waiting for a stolen card.

  2. Step 2
    2 minutes

    Invite the bot

    Sign in to Arcalotl with Discord, pick the server, and approve the invite. The bot asks for Manage Roles and permission to send messages and DMs. It does not ask for Administrator. When the invite completes, the dashboard shows the server as connected.

  3. Step 3
    2 to 20 minutes

    Connect Stripe

    In the dashboard, choose Connect Stripe. If you already have a Stripe account, sign in and approve the connection; it takes a minute. If you do not, Stripe walks you through creating one, which needs your identity and bank details and can take longer to verify. Payments settle in this account, not in Arcalotl's.

  4. Step 4
    3 minutes

    Create the plan

    Plans, New plan. Name it what members will see in the /subscribe list. Set the price and currency, choose monthly, annual, or one-time, and pick the role from step 1. Save. If the dashboard warns that the bot cannot assign that role, go to step 5.

  5. Step 5
    1 minute

    Move the bot's role above the paid role

    Discord only lets a bot assign roles that sit below the bot's own role in the list. Discord creates the bot's role at the bottom, so this step is needed in almost every server. Server Settings, Roles, drag the Arcalotl role above Supporter. The dashboard re-checks and clears the warning.

  6. Step 6
    5 minutes

    Run a test payment

    Type /subscribe in a channel, pick the plan, and pay with your own card. Confirm the role appears on your profile within a few seconds. Then run /cancel, choose to cancel, and confirm the role stays until the period ends. Refund yourself from the Stripe dashboard. Now you know the whole loop works before a member tries it.

  7. Step 7
    10 minutes

    Announce it

    One pinned message: what the role gets, what it costs, and the command. Put the same three lines in the channel description of the first gated channel. Members who ask in DMs get a checkout link from the dashboard, which works for people who are not in the server yet.

Screenshots of each dashboard screen are in the quick start and the Discord setup guide.

Start with step 2
Sign in with Discord, invite the bot, connect the Stripe account you already have.
Start free

What to charge

Supporter roles with cosmetic perks sell at $3 to $5 a month. Access roles that grant channels, resources, or events sell at $10 to $25. Coaching, signals, and professional communities go higher and usually sell better as annual or one-time. Price at $5 rather than $3 where you can: Stripe's fixed 30 cents is 10% of a $3 payment and 6% of a $5 one.

Add an annual option at about ten months' price from day one. It costs you nothing, it removes eleven renewal failures a year for the members who take it, and Arcalotl will offer it to engaged monthly members automatically later.

The role lifecycle, so nothing surprises you

  • Payment succeeds: role granted within seconds; the member gets a confirmation DM.
  • Renewal succeeds: nothing visible happens, which is the goal.
  • Renewal fails: the member gets a DM with a card-update link; the role stays during the grace period; the charge retries after they update.
  • Member cancels: one save offer, then the cancellation; the role stays until the paid period ends.
  • Refund or dispute: role removed immediately.
  • Member leaves the server: the subscription continues billing unless they cancel; if they rejoin, the role is restored. Tell members this in your announcement.

Three mistakes that cost servers their first subscribers

  • Skipping the test payment. The first member to pay should not be the first person to find out the role does not assign.
  • Gating the channel where the announcement lives. If the pinned explanation is inside the paid channel, nobody can read it.
  • Two bots managing one role. If another bot also removes that role (a levels bot, a verification bot), members lose paid access and blame you. One role, one owner.

Questions

Read next

Sell your first role this week

Invite the bot, connect Stripe, create the plan, and pay for it yourself to see the role land. No monthly fee, 2% per payment.