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:

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.

To set up virtual currency via Publisher Account:

  1. In your project in Publisher Account, go to the Items catalog > All items section.
  2. Click Add and select Virtual currency from the drop-down list.
  1. Specify the following parameters:
    1. Image (optional).
    2. SKU.
    3. Virtual currency name.
  2. To configure how virtual currency is displayed in the store, select the appropriate status.
  1. To set a price, click Set up prices and specify the price in real currency. If needed, configure regional prices.
  2. Configure attributes using one of the following methods (optional):
    1. Add attributes and their values in JSON format.
    1. Manually create attributes and values and link them to specific items.
  1. Check the settings and click Create currency.
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

Note
Before setting up a virtual currency package, you must create a virtual currency.
To set up virtual currency package via Publisher Account:
  1. In your project in Publisher Account, go to the Items catalog > All items section.
  2. Click Add and select Virtual currency package from the drop-down list.
  1. Specify the following parameters:
    1. Image (optional).
    2. SKU.
    3. One or several groups the package should belong to.
    4. Name.
    5. Description (optional).
  2. To configure how virtual currency is displayed in the store, select the appropriate status.
  1. Specify the virtual currency included in the package and its amount.
  2. Set prices or create a free item in the Paid or free field:
    • To create a free package, select Free package.
  1. To limit the number of packages available for purchase, turn on the Limit number of times one user can buy package toggle and enter the desired quantity.
  2. To configure how often the limit resets:
    1. From the drop-down list, select a period:
      • Daily.
      • Weekly.
      • Monthly.
      • Custom interval – this is calculated starting from the package’s display start date.
      • No regular refresh.
    1. Set up the reset schedule based on the selected period.
  1. Configure a time limit for displaying a package (optional):
    1. In the Show item in store field, select Limited time.
    1. Specify the time zone and the beginning and the end of the period.
    1. If you don’t want to indicate the end of the item display period, check the No end date box.
  1. Configure attributes using one of the following methods (optional):
    1. Add attributes and their values in JSON format.
    1. Manually create attributes and values and link them to specific items.
  1. Check the settings and click Create package.
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.

Note
Before setting up virtual items, it is recommended to create groups to sort items and manage how they are displayed in the store.
To create a virtual item:
  1. In your project in Publisher Account, go to the Items catalog > All items section.
  2. Click Add and select Virtual item from the drop-down list.
  1. Specify the following parameters:
    • Image (optional).
    • SKU.
    • One or several groups the item should belong to.
    • Name.
    • Description (optional).
  2. To configure how the virtual item is displayed in the store, select the appropriate status.
  1. Set prices or create a free item in the Paid or free field:
    • To create a free item, select Free item.
Note
An item can have prices in multiple real and virtual currencies. In this case, you must specify a default currency for each type: one real currency and one virtual currency.
  1. To limit the number of items available for purchase, turn on the Limit number of times one user can buy this item toggle and enter the desired quantity.
  2. To configure how often the limit resets:
    1. From the drop-down list, select a period:
      • Daily.
      • Weekly.
      • Monthly.
      • Custom interval – this is calculated starting from the item’s display start date.
      • No regular refresh.
    1. Set up the reset schedule based on the selected period.
  1. Configure a time limit for displaying the item (optional):
    1. In the Show item in store field, select Limited time.
    1. Specify the time zone and the beginning and the end of the period.
    1. If you don’t want to indicate the end of the item display period, check the No end date box.
  1. Configure attributes using one of the following methods (optional):
    1. Add attributes and their values in JSON format.
    1. Manually create attributes and values and link them to specific items.
  1. Check the settings and click Create item.
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. In your project in Publisher Account, go to the Items catalog > All items section.
  2. Click Add and select Bundle from the drop-down list.
  1. Specify the following parameters:
    • Image (optional).
    • SKU.
    • One or several groups the bundle should belong to.
    • Name.
    • Description (optional).
  2. Configure bundle attributes (optional) using one of the following methods:
  3. Click Next.
  4. If partner-side personalization is enabled, you can choose between a standard and a dynamic bundle type. Dynamic bundles allow you to skip item creation in Xsolla and instead return bundle contents generated by your server when the catalog is requested. If partner-side personalization is disabled, the bundle type selector is not displayed, and a standard bundle is created automatically.

  1. Add items to the bundle:
    1. Select the item type.
    2. Specify one or more item SKUs to be included in the bundle.
    3. Set the quantity for each SKU.

  1. Click Next.
  2. Set the bundle price in the Paid or Free field:
    • To create a free bundle, select Free bundle.
    • To set a price, select Paid bundle and specify the price in real or virtual currency. You can’t create a bundle with a price of zero. If needed, configure regional prices.
  3. To limit the number of bundles available for purchase, turn on the Limit bundle purchases per user toggle and enter the desired quantity.

  1. To configure how often the limit resets:
    1. From the drop-down list, select a period:
      • Daily.
      • Weekly.
      • Monthly.
      • Custom interval — this is calculated starting from the bundle’s display start date.
      • No regular refresh.
    2. Set up the reset schedule based on the selected period.

  1. Click Next.

  1. Configure how the bundle is displayed in the store:
    1. Choose the status.
    2. Set a display time limit for the bundle (optional): specify the time zone and the beginning and the end of the period. If you don’t want to indicate the end of the item display period, check the No end date box.

  1. Click Next.
  2. Check the settings and click Save.
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.
  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.

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 csm@xsolla.com 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 csm@xsolla.com.
  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 csm@xsolla.com 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 csm@xsolla.com.
  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 csm@xsolla.com 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 csm@xsolla.com.
  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: February 13, 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 doc_feedback@xsolla.com.