Skip to main content
Discord Memberships connects a PayRequest product to a role in your Discord server. A customer pays, connects their Discord account in your customer portal and joins your server. PayRequest checks the purchase and gives them the role while their paid access is valid.
PayRequest provides the shared Discord app. You do not need to create a Discord application or enter a bot token or client secret. You must own the Discord server you connect.

What you can sell

  • A one-time community pass lasting between 1 and 3,650 days, or unlimited access without automatic expiry.
  • A native PayRequest subscription with a daily, weekly, monthly or yearly paid period.
  • Different products linked to different roles, such as Community and Workshop.
Use a service product for one-time passes or a subscription product for native recurring access, with a positive price and one unit. Recurring products must have an interval count of one. Free trials, provider-managed subscriptions, existing purchases and products already using another automatic delivery integration are not supported by this first version. A standalone amount link without a purchased product does not grant a role. Active connected Discord products use their fixed product price even when it is below the Page minimum for open-amount payments. The Page maximum still applies. This integration sells community access. Downloadable bot software can continue to use digital product delivery; Discord Memberships does not host or run a customer’s bot.

Set up your server

1

Create a dedicated access role

In Discord, create a role such as Paid member. Give it access to your private channels. Keep moderation, administrator and staff roles separate. PayRequest rejects administrative or otherwise unmanageable roles.
2

Install the PayRequest bot

Open Services & integrations → Discord Memberships → Install Discord bot. Select your server and approve the account connection and Manage Roles permission. Move the bot’s role above the paid-access roles, then return to PayRequest.
3

Connect your Discord account and server

If you installed the bot separately, use Connect Discord account first. Select your server and use Save server to link it to your business. PayRequest verifies server ownership and the bot’s role permissions. Installing the bot alone does not save the business connection. One PayRequest business connects one server; that server cannot also be connected to another PayRequest business.
4

Add a server invitation

Paste a Discord invitation to your server. PayRequest checks that it belongs to the connected server. Customers use it to join before claiming access. Replace it if it expires or is revoked.
5

Connect your product

With an active Discord server connection, open Products → New product → Discord Membership. Choose a one-time access pass or subscription, enter the product details and save. PayRequest then opens Discord Memberships with your new product selected. Choose its dedicated access role. You can also connect an existing eligible service or subscription product from this screen. You can also use Create membership role to create a role without extra permissions; PayRequest checks that the bot can manage it and reuses the same role on repeated setup. Choose the private channels it unlocks in Discord before selling access. For a one-time product, enter the number of access days or select Unlimited access. Confirm that you have checked which private channels the role unlocks.
Saving the same active connection again is safe. Before any order, invoice, subscription or recorded access exists, you can explicitly switch the same role from a fixed one-time duration to Unlimited access. This preserves the role and original connection date. Once checkout or billing has started, the saved terms stay fixed. Role changes, shorter access, disabled connections and other changes require a new product. Selecting an already connected product loads its saved settings. Only purchases created after the product is connected are considered; existing customers are not imported automatically.

Check your setup

The Setup status checklist updates automatically about every 15 seconds while the page is visible, and checks again when you return to it. It shows your Discord account connection, bot installation, role permissions, saved server connection and connected product. Not checked yet means PayRequest still needs your Discord account connection or a server selection before it can verify the bot. If a step remains incomplete, check the server selection, the bot’s Manage Roles permission and its position above the membership role. Complete Save server and connect a product before selling access. Discord rate limits can delay checks.

Your customer’s experience

  1. The customer purchases the connected product and completes payment.
  2. They sign in to your customer portal on payrequest.app/shop/{storename}/ and open Discord access.
  3. They connect the Discord account they want to use, join through your invitation and accept any Discord server rules.
  4. They select Check Discord access. Once the payment and membership are checked, the role is granted.
The primary customer connects their own Discord account. Delegated contacts and merchant impersonation sessions cannot claim access. A linked account cannot be switched automatically; contact support if the wrong account was connected. Custom-domain portal OAuth is not supported yet: use the canonical PayRequest customer portal for this step.

Renewal, expiry and cancellation

Each eligible paid purchase is recorded once. Repeated provider notifications or access checks do not extend it again. Native recurring renewals extend the paid period; an unpaid renewal does not. PayRequest checks access after relevant saved payments/subscriptions and through a five-minute recovery schedule. Changes can take longer when the queue is busy or Discord limits requests. No always-instant delivery is promised. Unlimited one-time access has no automatic expiry, but refunds, disputes, disabled delivery and account blocks still stop the affected purchase from granting managed access. Time-limited access ends when the paid period expires or the subscription’s cancellation takes effect. A future scheduled cancellation does not remove access early. Paused or suspended subscriptions do not grant current access. Refunds, credit notes, chargebacks and unresolved payment disputes stop the affected purchase from granting automatic access. Partial credits/refunds are treated conservatively and need seller review. If more than one valid purchase grants the same role, one expired purchase does not remove it while another still qualifies.
PayRequest only removes roles it has claimed responsibility for granting. A role already present before PayRequest handled the purchase is retained. Use dedicated roles and review existing manual assignments before selling access. PayRequest does not kick or ban customers, change channel permissions, cancel billing or issue refunds through this integration.

Troubleshooting

In Discord Memberships, use Check Discord connection to check server ownership, bot permissions and eligible roles without changing customer roles. Under Recent Discord access, the last checked time and a specific explanation help you resolve failures. Check Discord access queues a fresh payment/access check for that customer; it does not charge them or grant unpaid access. Disabling delivery for a product removes its managed access at the next successful check. It does not stop subscription billing. Review billing and tell affected customers separately before disabling a live product.