The premium items and subscriptions you offer in your app are represented by SKUs. SKU stands for Stock Keeping Unit and is a unique identifier for your premium offerings.
SKUs are the building blocks of your premium offerings and you can manage them in the Developer Portal.
To create a new SKU, navigate to your app's settings and select the Monetization -> Manage SKUs
tab. From there, you can create a new SKU by clicking the Create SKU
button.
When you click on Create SKU
, you have the option to select from the following:
- User Subscription: An auto-recurring subscription that grants benefits to one user in all servers
- Guild Subscription: An auto-recurring subscription that grants benefits to all users in one server
- Consumable: A one-time purchase that provides a temporary benefit, which is consumed upon use.
- Durable: A one-time purchase that grants a permanent addition or enhancement.
Once you select the SKU type, enter a name for your SKU to continue.
You can create multiple subscription tiers to offer different benefits at different price points. Each tier can have its own set of benefits and price and is represented by unique SKUs.
To support upgrading and downgrading between subscription tiers, see our guide on Implementing App Subscriptions.
There are some limitations to the number of SKUs you can create:
- You can create up to 50 total SKUs per app.
- You can offer either user subscription SKUs or guild subscription SKUs, but not both simultaneously.
- SKU prices must be selected from the list of available prices.
info If you need more SKUs than the 50 limit, consider creating a consumable in-app currency SKU that can be used to purchase items that are tracked in your app.
Once you've created a SKU, you can customize it to match your app's branding and the benefits you want to offer. You can customize:
- A name for your premium SKU, max 80 characters.
- A description for your premium SKU, max 160 characters
- An image for your premium SKU
- A price for your premium SKU
Your list of benefits will displayed on your app's Store page, the App Directory, and during the purchase and cancellation flows to explain to users the benefits of your premium offering. These benefits can have:
- Up to 6 benefits
- An emoji, standard or custom
- A name, max 80 characters
- A description, max 160 characters
When setting the price for your SKU, you can select from a list of predefined prices. The prices are automatically converted to the user's local currency based on their locale.
Subscription SKUs are automatically charged each month unless canceled. Changing the price of this SKU will only change it for new subscribers. Existing subscribers will continue to be charged the existing price.
To set an icon using a standard Unicode emoji, enter the emoji in the `Unicode Emoji or Custom Emoji Name` field.To use a custom emoji, set a value for both fields:info Using an emoji keyboard can make it easier to pick an icon to display alongside your SKU benefit.
MacOS:control + command + space bar
Windows:Windows + .
- Name of your custom emoji
- ID of the custom emoji
info You can find the ID of the emoji in the Discord app by escaping the emoji in a message with a backslash character
\
. For example,\:uwu:
will render with the name and ID of the emoji.
When you initially create a SKU, it will be in an Unavailable
state. This SKU is not yet available for purchase by users. You can edit the SKU to add a price, benefits, and other details before publishing it.
While creating and editing SKUs in your app's settings on the Monetization -> Manage SKUs
tab, you have a few options for managing your SKUs visibility and publishing to your users:
- Publish SKU
- Unpublish SKU
- Delete SKU
When publishing a SKU, you have the option to make it Available via the Store and API or Available via the API Only.
Available to be purchased and visible in your app's store.
You can only make API calls or use the Embedded App SDK to grant entitlements for this SKU.
warn Danger: Unpublishing a SKU can affect your users' existing subscriptions and entitlements
Unpublishing a SKU removes it from the Store and the API, making it unavailable for purchase.
Unpublishing a SKU has the following effects:
- For subscription SKUs, subscriptions will not be renewed for users and guilds that have this SKU at the end of the billing period.
- Users and guilds will still be entitled to the SKU until the end of the billing period.
- For consumable and durable SKUs, users will still be entitled to the SKU if they purchased it before it was unpublished.
- Does not delete a SKU.
warn Danger: Deleting a SKU can affect your users' existing subscriptions and entitlements
Deletes a SKU in the UI and makes it unavailable for publishing. Deleted SKUs are still listed when calling List SKUs in the API.
Deleting a SKU has the following effects:
- For subscription SKUs, users and guilds will be immediately unsubscribed from the SKU. Their entitlement will still be valid until the end of the billing period.
- For consumable and durable SKUs, users will still be entitled to the SKU if they purchased it before it was unpublished.
If you wish to change a SKU that is published, you can do so at any time by first unpublishing the currently published one. When you unpublish a SKU, it is no longer available for sale and users who have already subscribed will not renew at the end of their billing period. You must continue to make the premium offering available to them until the end of their subscription.
When you change the price of a user or guild subscription SKU, it will only affect new subscribers. Existing subscribers will continue to be charged the price of the SKU at the time they subscribed.
After you've published your SKUs, you are ready to start implementing your premium features in your app. See our guides to get started.
Learn how to start and manage recurring subscriptions within your app. Learn how to implement one-time purchases in your app.Users can access an app's Store page from the Bot User's profile in a server. This allows users to view an available subscription and one-time purchases, select a subscription to view its perks, benefits, and details, and make a purchase directly from an app's Store page.
info Only subscriptions and items that have been published to the Store will be visible to users on the Store page.
You can link directly to a specific SKU using our Application Directory Store URL scheme:
https://discord.com/application-directory/:appID/store/:skuID
- When used in chat, it will render as a rich embed that allows users to launch a modal to view either the SKU details or checkout flow
- When used as a direct URL in a browser, it will take the user to your product in the Application Directory on web
You can link directly to your Store page using our Application Directory Store URL scheme:
https://discord.com/application-directory/:appID/store
- When used in chat, it will render as a rich embed that allows users to launch a modal to your Store page
- When used as a direct URL in a browser, it will take the user to your Store page in the Application Directory on web
You can prompt users to purchase item or subscription SKUs using a button with a premium style and a sku_id
. You can use this premium button style anywhere you would use message components, such as in a command response.
return new JsonResponse({
type: 4, // InteractionResponseType.CHANNEL_MESSAGE_WITH_SOURCE
data: {
content: "This command requires Nelly Premium! Upgrade now to get access to these features!",
components: [{
type: MessageComponentTypes.ACTION_ROW,
components: [
{
type: MessageComponentTypes.BUTTON,
style: 6, // ButtonStyleTypes.PREMIUM
sku_id: '1234965026943668316',
},
],
}]
},
});