> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payreque.st/llms.txt
> Use this file to discover all available pages before exploring further.

# Discord Memberships

> Sell paid access to your Discord community with product-linked roles and automatic expiry.

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.

> [!NOTE]
>
> 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](https://docs.payreque.st/products-and-pricing/digital-products.md); 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.

## Works with a Payment Page

A shop is not required. Payment Page sellers use a dedicated Discord access page at `payrequest.app/discord/access/{page-handle}`. Customers sign in with the email address from their purchase and connect their own Discord account there. Existing shop customer access remains available for shop-only sellers.

## Your customer's experience

1. The customer purchases the connected product and completes payment.
2. The payment confirmation shows **Continue to Discord**. This opens the dedicated Discord access page. If needed, the customer signs in using the email address from their purchase; the login link then takes them back to Discord access. No shop account or shop setup is needed.
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.

Paid order confirmations and completion emails also include the Discord role, access duration and a return link to this access page. The return link does not expire like an email login token; customers prove their identity when they sign in.

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. Discord sign-in runs on the canonical PayRequest domain, including for purchases made on a custom domain. It does not require a shop.

## 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.

> [!WARNING]
>
> 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 → Setup**, connection checks run automatically when you open the page and about every 15 seconds while it is visible. A checkmark confirms the connection; problems show a short explanation without changing customer roles.

The **Customer access** tab lists recent customers who bought a Discord product, including buyers who have not connected Discord yet. Connected customers show their last recorded access status and check time. **Check Discord access** queues a fresh payment/access check; it does not charge the customer or grant unpaid access.

Product and order details also show their Discord role and access duration. Order details distinguish delivery configuration from the customer’s Discord connection and recorded access state.

| Status | What to do |
| - | - |
| Join the Discord server | Use the seller's invitation, then check access again. |
| Complete the Discord server rules | Open Discord, accept the rules and retry. |
| No current paid access | Check the purchased product, payment, paid period and effective cancellation date. |
| Existing Discord role retained | The account already had this role; PayRequest will not remove it automatically. |
| Discord access needs attention | The seller should check the bot, role hierarchy, server ownership and permissions. |

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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.