Skip to content

Latest commit

 

History

History
229 lines (147 loc) · 9.82 KB

Managing_SKUs.mdx

File metadata and controls

229 lines (147 loc) · 9.82 KB

Managing SKUs

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.


Creating a SKU

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.

Creating Subscription Tiers

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.

Supporting multiple subscription tiers

SKU Limitations

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.


Customizing Your SKUs

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

Example of SKU benefits

Pricing Your SKUs

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.

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

Set a unicode emoji

To use a custom emoji, set a value for both fields:
  • 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.

Set a custom emoji


Publishing and Unpublishing SKUs

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

Publishing a SKU

When publishing a SKU, you have the option to make it Available via the Store and API or Available via the API Only.

Publishing to Store & API

Available to be purchased and visible in your app's store.

Publishing to API Only

You can only make API calls or use the Embedded App SDK to grant entitlements for this SKU.

Unpublishing a 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.

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

Editing a Published SKU

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.

Changing a Subscription SKU Price

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.


Integrating SKUs in Your App

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.

Viewing your Store Page

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.

Accessing your Store page from a Bot User's Profile

Accessing the store as a user

Subscriptions in Your Store page

Subscriptions in your Store View

Items in Your Store page

Items in your Store View


Linking to a Specific SKU

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

Embed for direct link to SKU


Linking To Your Store

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

Embed for direct link to Store


Responding with a Premium Button

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',
                },
            ],
        }]
    },
});

A premium button