Set up catalog and subscription plans

Set up virtual currencies, virtual items and/or subscription plans in your Publisher Account following the step-by-step instructions:
Set up virtual currencies, virtual items and/or subscription plans in your account following the step-by-step instructions:

Create virtual currency

Virtual currency is virtual money that is used for purchasing and selling in-game items. Depending on its purpose, a virtual currency affects the game economy balance or is connected to the monetization of the app. You can also create hard currency — a virtual currency that is linked to the platform of purchase and can be purchased only for real money.

You can sell the virtual currency in predefined amounts. For a package, you can define a special price that doesn’t equal the amount of virtual currency in it.

See the Virtual currency section to learn more about virtual currency.

  1. Open your project in Publisher Account and go to the Items catalog > All items > Virtual currencies section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual currencies section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual currencies section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual currencies section.
  1. Open your project in the account for mobile games and go to the Catalog section.
  1. Click Create manually and select Virtual currency from the drop-down list.
  1. In the General settings section, specify the following:
    1. SKU
    2. One or several groups the item should belong to (optional)
    3. Name
    4. Short description
    5. Extended description — to add it, turn on the corresponding toggle (optional)
  1. In the Media section, upload one or more images or videos (optional) — from your device or via a link. In the store created with the Xsolla site editor, all item cards display the file marked as Main, while the remaining files are available only in item cards with a media gallery. The file marked as Main is also returned in the responses of the catalog retrieval API calls.
  1. In the Price settings section, set prices or create a free item:
    • To set a price, select Paid item, turn on the Pricing in real currency toggle, and specify the price. If needed, configure regional prices.
    • To create a free item, select Free item.
  1. To limit the number of items available for purchase:
    1. Turn on the toggle in the Limits section and specify the quantity.
    2. Configure the limit reset frequency. To do this, select a period from the drop-down list:
      • Daily.
      • Weekly.
      • Monthly.
      • Custom interval. The interval is calculated from the item’s display start date in the store.
      • No regular refresh.
    3. Set up the reset schedule by specifying the parameters that correspond to the selected period.
Note
By default, an item is hidden from the catalog once the purchase limit is reached. If automatic limit reset is configured, the Show item even after users reach the purchase limit checkbox lets you keep the item visible until the next reset cycle begins.
  1. To configure a display time limit for the item (optional):

    1. Turn on the toggle in the Add specific display period section.
    2. Specify the time zone and the beginning and the end of the period.

    To leave the end of the item’s display period unspecified, turn on the No end date toggle.

Note
To add another display period for the item in the catalog, click +. If an item has multiple display periods, each must have an end date. The display period ends at the last second of the specified minute. For example, if an end time is set to 12:00, the display period runs until 12:00:59.
  1. Configure attributes using one of the following options (optional):
    1. Add attributes and their values in JSON format.
    2. Manually create attributes and their values, and link them to items.
  1. If the paid item will be used in any mechanics with a random reward (e.g., loot boxes or gacha), enable the Mark as paid randomized reward toggle.
Note
This parameter may be required for games distributed in countries with legal restrictions on such mechanics.
  1. Click Create.

  2. In the window that opens, select the item status and click Continue.

The created item will appear in the All items section.

Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Hide

Set up a virtual currency package

  1. Open your project in Publisher Account and go to the Items catalog > All items > Virtual currency packages section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual currency packages section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual currency packages section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual currency packages section.
  1. Open your project in the account for mobile games and go to the Catalog section.
  1. Click Create manually and select Virtual currency from the drop-down list.
  1. In the General settings section, specify the following:
    1. SKU
    2. One or several groups the item should belong to (optional)
    3. Name
    4. Short description
    5. Extended description — to add it, turn on the corresponding toggle (optional)
  1. In the Media section, upload one or more images or videos (optional) — from your device or via a link. In the store created with the Xsolla site editor, all item cards display the file marked as Main, while the remaining files are available only in item cards with a media gallery. The file marked as Main is also returned in the responses of the catalog retrieval API calls.
  1. Specify the virtual currency included in the package and its amount.

  2. In the Price settings section, set prices or create a free item:

    • To set a price, select Paid item, turn on the Pricing in real currency and/or Pricing in virtual currency toggle, and specify the price. If needed, configure regional prices.
    • To create a free item, select Free item.
Note

An item can have prices in several real and virtual currencies. In this case, you must specify a default currency for each type — one among the real currencies and one among the virtual currencies.

You can specify a price in virtual currency only if the virtual currency has already been created in the project.

  1. To limit the number of items available for purchase:
    1. Turn on the toggle in the Limits section and specify the quantity.
    2. Configure the limit reset frequency. To do this, select a period from the drop-down list:
      • Daily.
      • Weekly.
      • Monthly.
      • Custom interval. The interval is calculated from the item’s display start date in the store.
      • No regular refresh.
    3. Set up the reset schedule by specifying the parameters that correspond to the selected period.
Note
By default, an item is hidden from the catalog once the purchase limit is reached. If automatic limit reset is configured, the Show item even after users reach the purchase limit checkbox lets you keep the item visible until the next reset cycle begins.
  1. To configure a display time limit for the item (optional):

    1. Turn on the toggle in the Add specific display period section.
    2. Specify the time zone and the beginning and the end of the period.

    To leave the end of the item’s display period unspecified, turn on the No end date toggle.

Note
To add another display period for the item in the catalog, click +. If an item has multiple display periods, each must have an end date. The display period ends at the last second of the specified minute. For example, if an end time is set to 12:00, the display period runs until 12:00:59.
  1. Configure attributes using one of the following options (optional):
    1. Add attributes and their values in JSON format.
    2. Manually create attributes and their values, and link them to items.
  1. If the paid item will be used in any mechanics with a random reward (e.g., loot boxes or gacha), enable the Mark as paid randomized reward toggle.
Note
This parameter may be required for games distributed in countries with legal restrictions on such mechanics.
  1. Click Create.

  2. In the window that opens, select the item status and click Continue.

The created item will appear in the All items section.

Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Hide

Create virtual items

Virtual items are the in-game content that you can sell for real and virtual currency.

See the Virtual items section to learn more about virtual items.

  1. Open your project in Publisher Account and go to the Items catalog > All items > Virtual items section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual items section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual items section.
  1. Open the project in your account and go to the Items catalog > All items > Virtual items section.
  1. Open your project in the account for mobile games and go to the Catalog section.
  1. Click Create manually and select Virtual item from the drop-down list.
  1. In the General settings section, specify the following:
    • SKU
    • One or several groups the item should belong to (optional)
    • Name
    • Short description
    • Extended description — to add it, turn on the corresponding toggle (optional)
  1. In the Media section, upload one or more images or videos (optional) — from your device or via a link. In the store created with the Xsolla site editor, all item cards display the file marked as Main, while the remaining files are available only in item cards with a media gallery. The file marked as Main is also returned in the responses of the catalog retrieval API calls.
  1. In the Price settings section, set prices or create a free item:
    • To set a price, select Paid item, turn on the Pricing in real currency and/or Pricing in virtual currency toggle, and specify the price. If needed, configure regional prices.
    • To create a free item, select Free item.
Note

An item can have prices in several real and virtual currencies. In this case, you must specify a default currency for each type — one among the real currencies and one among the virtual currencies.

You can specify a price in virtual currency only if the virtual currency has already been created in the project.

  1. To limit the number of items available for purchase:
    1. Turn on the toggle in the Limits section and specify the quantity.
    2. Configure the limit reset frequency. To do this, select a period from the drop-down list:
      • Daily.
      • Weekly.
      • Monthly.
      • Custom interval. The interval is calculated from the item’s display start date in the store.
      • No regular refresh.
    3. Set up the reset schedule by specifying the parameters that correspond to the selected period.
Note
By default, an item is hidden from the catalog once the purchase limit is reached. If automatic limit reset is configured, the Show item even after users reach the purchase limit checkbox lets you keep the item visible until the next reset cycle begins.
  1. To configure a display time limit for the item (optional):

    1. Turn on the toggle in the Add specific display period section.
    2. Specify the time zone and the beginning and the end of the period.

    To leave the end of the item’s display period unspecified, turn on the No end date toggle.

Note
To add another display period for the item in the catalog, click +. If an item has multiple display periods, each must have an end date. The display period ends at the last second of the specified minute. For example, if an end time is set to 12:00, the display period runs until 12:00:59.
  1. Configure attributes using one of the following options (optional):
    1. Add attributes and their values in JSON format.
    2. Manually create attributes and their values, and link them to items.
  1. If the paid item will be used in any mechanics with a random reward (e.g., loot boxes or gacha), enable the Mark as paid randomized reward toggle.
Note
This parameter may be required for games distributed in countries with legal restrictions on such mechanics.
  1. Click Create.

  2. In the window that opens, select the item status and click Continue.

The created item will appear in the All items section.

Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Hide

Create bundles

Bundle is a set of several items that are sold as a single unit. You can add items of different types to a bundle:

  • Virtual currency.
  • Package of virtual currency.
  • Virtual items including time-limited items.
  • Bundles.

See the Bundles section to learn more about bundles.

To create a bundle:

  1. Open your project in Publisher Account and go to the Items catalog > All items > Bundles section.
  1. Open the project in your account and go to the Items catalog > All items > Bundles section.
  1. Open the project in your account and go to the Items catalog > All items > Bundles section.
  1. Open the project in your account and go to the Items catalog > All items > Bundles section.
  1. Open your project in the account for mobile games and go to the Catalog section.
  1. Click Create manually and select Bundle from the drop-down list.
  1. In the General settings section, specify the following:
    • SKU
    • One or several groups the item should belong to (optional)
    • Name
    • Short description
    • Extended description — to add it, turn on the corresponding toggle (optional)
  1. In the Media section, upload one or more images or videos (optional) — from your device or via a link. In the store created with the Xsolla site editor, all item cards display the file marked as Main, while the remaining files are available only in item cards with a media gallery. The file marked as Main is also returned in the responses of the catalog retrieval API calls.
  1. In the Bundle items section, select SKUs to add to the bundle. At least one item is required.
  1. In the Price settings section, set prices or create a free item:
    • To set a price, select Paid item, turn on the Pricing in real currency and/or Pricing in virtual currency toggle, and specify the price. If needed, configure regional prices.
    • To create a free item, select Free item.
  1. To limit the number of items available for purchase:
    1. Turn on the toggle in the Limits section and specify the quantity.
    2. Configure the limit reset frequency. To do this, select a period from the drop-down list:
      • Daily.
      • Weekly.
      • Monthly.
      • Custom interval. The interval is calculated from the item’s display start date in the store.
      • No regular refresh.
    3. Set up the reset schedule by specifying the parameters that correspond to the selected period.
Note
By default, an item is hidden from the catalog once the purchase limit is reached. If automatic limit reset is configured, the Show item even after users reach the purchase limit checkbox lets you keep the item visible until the next reset cycle begins.
  1. To configure a display time limit for the item (optional):

    1. Turn on the toggle in the Add specific display period section.
    2. Specify the time zone and the beginning and the end of the period.

    To leave the end of the item’s display period unspecified, turn on the No end date toggle.

Note
To add another display period for the item in the catalog, click +. If an item has multiple display periods, each must have an end date. The display period ends at the last second of the specified minute. For example, if an end time is set to 12:00, the display period runs until 12:00:59.
  1. Configure attributes using one of the following options (optional):
    1. Add attributes and their values in JSON format.
    2. Manually create attributes and their values, and link them to items.
  1. If the paid item will be used in any mechanics with a random reward (e.g., loot boxes or gacha), enable the Mark as paid randomized reward toggle.
Note
This parameter may be required for games distributed in countries with legal restrictions on such mechanics.
  1. Click Create.

  2. In the window that opens, select the item status and click Continue.

The created item will appear in the All items section.

Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Hide

Set up subscription plan

You can set up subscription plans via Publisher Account or with the Create plan API call.

To set up a plan via Publisher Account:

  1. Go to the Items catalog > Subscriptions section.
  2. On the Subscription plan tab, click Create subscription plan.

You can set up subscription plans in the account or with the Create plan API call.

To set up a plan in the account:

  1. Go to the Items catalog > Subscriptions section.
  2. On the Subscription plan tab, click Create subscription plan.

You can set up subscription plans in the account or with the Create plan API call.

To set up a plan in the account:

  1. Go to the Items catalog > Subscriptions section.
  2. On the Subscription plan tab, click Create subscription plan.

You can set up subscription plans in the account or with the Create plan API call.

To set up a plan in the account:

  1. Go to the Items catalog > Subscriptions section.
  2. On the Subscription plan tab, click Create subscription plan.

You can set up subscription plans in the account or with the Create plan API call.

To set up a plan in the account:

  1. Go to the Items catalog > Subscriptions section.
  2. On the Subscription plan tab, click Create subscription plan.

  1. Choose and set up the plan type:
Note
All plans created through Publisher Account are assigned an External ID value which allows you to:
  • Open a payment UI with a specific plan.
  • Identify the plan in alerts.
  • Identify the plan in a transactional report.
If you need to specify the External ID, create a plan with the Create Plan API call.
All plans created in the account are assigned an External ID value which allows you to:
  • Open the payment UI with a specific plan.
  • Identify the plan in alerts.
  • Identify the plan in a transactional report.
If you need to specify the External ID, create a plan with the Create Plan API call.

Set up regular plan

  1. Specify:
    1. Plan name.
    2. Description (optional): This plan description is displayed in the payment UI when users are purchasing a subscription.

  1. Click Next.
  2. Choose one of the subscription fee options:
    • Regular: the amount of each payment is specified manually.
    • Including setup fee: the amount of each payment as well as the amount of the setup fee are specified manually. Use this setting if you want to charge the subscriber for cover additional costs such as connecting a license, setting up a system, training a user, or providing a consultation The first payment in this case will include a setup fee, the remaining payments will be equal to the amount of the regular payment.
Note
If your project does not have the ability to set up a subscription fee with setup fee and prices for different currencies, contact your Customer Success Manager or email to [email protected] to enable multi currency in the project.

    • Associated with the first payment: the amount of each payment is equal to the first payment. The subscription cost and currency type are passed in the purchase.checkout.amount and purchase.checkout.currency parameters when opening the payment UI. Use this option if you want to manage pricing on your side and set individual prices for specific users.

  1. Whether you choose a regular subscription fee or with setup fee, you can set up different subscription prices for different currencies. To do this:

    1. In the Currency and Price field, select the required currency and specify the value of the subscription price. For a subscription with setup fee, also enter the value of the setup fee in the corresponding field.
    1. Click + to add prices in other currencies.
    1. Specify the default currency.
  1. Configure the billing cycle:
    1. Specify the frequency of the payment.
    2. Specify the number of days in the trial period where the subscription can be used without a payment. Set the value to 0 to create a plan that does not have a trial period.
  1. Specify parameters for a one-time payment. With this type of subscription renewal, users make payments via a payment link sent by email.
    1. Expiration reminder: Specify the number of days before the subscription expiration date when the user will receive a reminder. If the value is set to 6 or higher, the user receives an extra reminder one day before the expiration date. Set the value to 0 if you don’t want to send any reminders.
    2. Grace period: The number of days users can continue using their subscription after its expiration date, and have the option to renew it. Set the value to 0 to create a plan that does not have a grace period.
  1. Specify the parameters for an automatic payment: with this type of subscription renewal, payments are made automatically using the saved billing information without any user interaction.
    1. Subscription expiration reminder.
    2. The number of retries after the first unsuccessful attempt to charge for the subscription. The system will retry once a day.
  1. Click Next.
Note
Setting up bonuses in the Publisher Account is currently unavailable. To enable sending bonuses, contact your Customer Success Manager or email to [email protected].
Setting up bonuses in the account is currently unavailable. To enable sending bonuses, contact your Customer Success Manager or email to [email protected].
  1. Click Create.

Set up lifetime plan

  1. Specify:
    1. Plan name.
    2. Description (optional): This plan description is displayed in the payment UI when users are purchasing a subscription.

  1. Click Next.
  2. Choose one of the subscription fee options:
    • Regular: the amount of each payment is specified manually.
    • Associated with the first payment: the amount of each payment is equal to the first payment made by the user. The subscription cost and currency type are passed in the purchase.checkout.amount and purchase.checkout.currency parameters when opening the payment UI. Use this option if you want to manage pricing on your side and be able to set the individual price for a specific user.

  1. In the Refund period field, set the number of days when the user can unsubscribe and refund the payment.

  1. Whether you choose a regular subscription fee, you can set up different subscription prices for different currencies. To do this:
Note
If your project does not have the ability to set up prices for different currencies, contact your Customer Success Manager or email to [email protected] to enable multi currency in the project.
    1. In the Currency and Price field, select the required currency and specify the value of the subscription price.
    1. Click + to add prices in other currencies.
    1. Specify the default currency.
  1. Click Next.

Note
Setting up bonuses in the Publisher Account is currently unavailable. To enable sending bonuses, contact your Customer Success Manager or email to [email protected].
Setting up bonuses in the account is currently unavailable. To enable sending bonuses, contact your Customer Success Manager or email to [email protected].
  1. Click Create.

Set up season pass

  1. Specify:
    1. Plan name.
    2. Season pass validity period.
    3. Description (optional): This plan description is displayed in the payment UI when users are purchasing a subscription.

  1. Click Next.
  2. Choose one of the subscription fee options:
    • Regular: the amount of each payment is specified manually.
    • Associated with the first payment: the amount of each payment is equal to the first payment made by the user. The subscription cost and currency type are passed in the purchase.checkout.amount and purchase.checkout.currency parameters when opening the payment UI. Use this option if you want to manage pricing on your side and be able to set the individual price for a specific user.

  1. In the Refund period field, set the number of days when the user can unsubscribe and refund the payment.

  1. Whether you choose a regular subscription fee, you can set up different subscription prices for different currencies. To do this:
Note
If your project does not have the ability to set up prices for different currencies, contact your Customer Success Manager or email to [email protected] to enable multi currency in the project.
    1. In the Currency and Price field, select the required currency and specify the value of the subscription price.
    1. Click + to add prices in other currencies.
    1. Specify the default currency.
  1. Click Next.
Note
Setting up bonuses in the Publisher Account is currently unavailable. To enable sending bonuses, contact your Customer Success Manager or email to [email protected].
Setting up bonuses in the account is currently unavailable. To enable sending bonuses, contact your Customer Success Manager or email to [email protected].
  1. Click Create.
Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Hide
Last updated: September 7, 2026

Found a typo or other text error? Select the text and press Ctrl+Enter.

Report a problem
We always review our content. Your feedback helps us improve it.
Provide an email so we can follow up
Thank you for your feedback!
We couldn't send your feedback
Try again later or contact us at [email protected].