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:

  1. Open your project in Publisher Account.
  2. Click Store in the side menu and connect the Virtual Currency module.

  1. On the Prices tab, click New virtual 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

To set up a virtual currency package:

  1. Open your project in Publisher Account.
  2. Click Store in the side menu and go to Virtual Currency.
  3. Go to Packages.
  4. Click New package.

  1. Specify the following parameters:
    • Image of the package (optional).
    • Package SKU.
    • Name for the package.
    • Short description of the package.
    • Virtual currency for a package.
    • Prices in real and virtual currencies.
    • Default currency.
    • Attribute (optional).
Note
You can add only one type of virtual currency to a package. You should specify the prices for virtual currency packages at least in one real or virtual currency. The amount of virtual currency can be specified only as the integer value.
  1. If you want to limit the number of times a user can buy a virtual currency package, switch the Limit the number of times one user can buy package toggle to On and specify the limit.
  2. You can set a time limit for the virtual currency package to be displayed in the store. To do this, select Time period, specify the time zone, the beginning, and end of the period. To not indicate the end of the package display period, check the No end date box.
  3. Click Create package.
Note
After creating a virtual item, virtual currency, or virtual currency package, you can set statuses for the item to determine whether it is available, unavailable, or partially available.
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.

There are 3 types of virtual items:

  • Consumable — items that you can have in large quantities and purchase several times. Their quantity is decreased when users consume them.
  • Nonconsumable — items that can be accrued or purchased only once. They keep into user’s inventory and can’t be removed from the inventory by being consumed on the client side. You can withdraw it only via a server method.
  • Time-limited item — a nonconsumable item that is available for a limited period of time and doesn’t disappear from the inventory when it expires. The user needs to buy this item again to activate it.

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

To set up virtual items, you need to configure virtual items groups. Groups let you have a multilevel catalog and manage a display of items in the store.

To create groups of virtual items:

  1. Open your project in Publisher Account.
  2. Click Store in the side menu and connect the Virtual Items module.

  1. Click Create a group.

  1. Specify the following parameters:
    • Group code.
    • Group name.
  2. If you want to show the group in a catalog, set the Show group in Store toggle to On.
Note
Items that don’t have a specified group are added to the Ungrouped group.

  1. Click Create group.

To set up a virtual item:

  1. Open your project in Publisher Account.
  2. Click Store in the side menu and connect the Virtual Items module.
  3. Click Create item.

  1. Specify:
    • Image.
    • SKU.
    • One or several groups the item should belong to.
    • Name.
    • Description.
    • Item property: consumable, nonconsumable, or time-limited items.
    • Prices in real or virtual currencies.
Notice
You can’t create an item without specifying its price in real or virtual currency. You can’t create an item with a zero price value.
  1. If you want to limit the number of times a user can buy an item, switch the Limit number of times one user can buy this item toggle to On and specify the limit.
  2. You can set a time limit for the item to be displayed in the store. To do this, select Time period, specify the time zone, the beginning, and end of the period. To not indicate the end of the item display period, check the No end date box.
  3. 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 set up a bundle:

  1. Open your project in Publisher Account.
  2. Click Store in the side menu and connect the Bundles module.

  1. Click Create bundle.
  2. Specify the following parameters:
    • Image (optional).
    • SKU.
    • Name.
    • Short description (optional).
    • Product type.
    • Price.
Notice
You can’t add the same bundle or physical goods to a bundle. You can’t create an empty bundle.
Note
You can create a bundle without specifying its price in real or virtual currency. If such a bundle is displayed in the store, it will be available to users for free.
  1. If you want to limit the number of times a user can buy a bundle, switch the Limit the number of times one user can buy bundle toggle to On and specify the limit.
  2. You can set a time limit for the bundle to be displayed in the store. To do this, select Time period and specify the time zone and the beginning and end of the period. To not indicate the end of the bundle display period, check the No end date box.
  3. 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 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
Your progress
Thank you for your feedback!
Last updated: October 10, 2023

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!