Use F2P template

Overview

This use case and ready-to-use Xsolla tools enable free-to-play (F2P) game monetization through your own web store. In this store, you can sell virtual items, virtual currency, and bundles on an external website — regardless of whether your game is for PC, consoles, or cross-platform.

Key features:

  • The flexible and secure Xsolla payment UI that supports over 1,000 payment methods worldwide.
  • The store UI which is easy to customize using the site builder without the need to develop it from scratch.
  • Full control over your item catalog, pricing, and promotions.
  • A wide range of LiveOps tools, for example, discount promotions, upsells, and reward systems.

This guide describes a quick setup and launch of a web store for your F2P game using Xsolla tools.

Who can use it

This use case is ideal for you if you:

  • develop or publish games for PC, consoles, or cross-platform
  • want to sell in-game goods and virtual currency through your own website
  • are looking to reduce platform fees
  • want a full control over marketing, sales funnel, and user data

How to set it up

  1. Create a project in Publisher Account.
  2. Create an item catalog.
  3. Create a site.
  4. Set up main blocks.
  5. Configure user authentication.
  6. Configure webhooks to grant purchases to the user.
  7. Test the site.
  8. Publish the site.

Create item catalog

To create a catalog, you can:

Note
These instructions provide steps for basic setup of a virtual item. Later, you can add other items to your catalog (virtual currency, bundles, game keys), create item groups, set up promotional campaigns, regional prices, etc.

To add a virtual item with basic settings to the catalog:

  1. Open your project in Publisher Account and go to the Items catalog > Virtual items section.
  2. In the drop-down menu, select Create item.

  1. Set the basic settings of the item in the following fields:
    • Image (optional)
    • SKU (item unique ID)
    • Item name
    • Description (optional)

  1. Specify item price:
    1. Set the Price in real currency toggle to On.
    2. In the Default currency field, change the currency (optional) and specify the item price.
    3. If you changed the currency in the Default currency field, select the same currency in the Price in real currency field.

Note
To ensure that the API calls for getting the catalog work correctly, make sure that the default currency and the list of currencies in which prices are specified match for all items.

  1. Change the item status to Available.

  1. Click Create item.

Create site

  1. Open your project in Publisher Account.
  2. On the project main page, click Change focus and select Sell virtual goods in-game or online.
  1. On the Optional: Set up a web storefront step, click Create template.
  1. On the Express tab, add a link to the platform where your game is available — Steam or Epic Games Store. It allows you to quickly create a site customized for your game: your game image, title, developer name, and color scheme are automatically added when creating a site.
  1. Click Generate web store.
  2. Click Continue to set up.

Configure main blocks

Note
Below is a description of how to customize the main site blocks, but you can add and configure any other blocks available in the site builder. For detailed information, refer to the Site Builder documentation.
  1. On the project main page, in the Sell virtual goods in-game or online focus, go to the Optional: Set up a web storefront step, and click Customize site. You will be redirected to the site builder, where you can customize the created site.
Note

If you closed the project main page, go to the Storefronts > Websites section and click Open Site Builder in the pane of the created site. To find it, you can check its creation time displayed on the site pane.

  1. Configure the Header block where user information and site navigation elements are displayed:
    • Add a logo of your game or studio.
    • If needed, change the preset buttons.

Header block example:

  1. Configure the Lead block, where the main information about your store is displayed:
    • Add a store name, description, and background image if you don’t want to use the automatically uploaded ones.
    • Add tags.
    • Specify the platforms where the game is available.
    • Edit the default buttons or add new ones if necessary.
  1. Configure the Battle pass block that displays a featured offer:
  • Update card custom background.
  • Add a name and description of the offer.
  • Set up the purchase button: select the item to sell and, if needed, customize the button style.
Note
If you’re not selling a battle pass, you can remove this block or customize it for other promotions, such as special offers. This is a universal block that supports selling any type of item or subscription.

Battle pass block example:

  1. Configure the Store block, where virtual items, bundles and virtual currency packages available for purchase are displayed:
    • If needed, remove the automatically added sections or add new ones.
    • In the block for the relevant section, select the item type and group from the drop-down list to display them on the page.
Notice

If the selected item type and group aren’t displayed in the builder, make sure the required item groups and virtual currency packages have the Enabled status, i. e. they are available for display in the store, and that items are included in those groups. To check or edit the status of the items, go to Items catalog and open a section for the necessary item type.

Store block example:

  1. Configure the Footer block that contains legal information and privacy settings. You can:
    • Choose a layout: columns or rows.
    • Add custom background.
    • Add links on social networks.
    • Add age restrictions.

Footer block example:

  1. Go to the Cart settings section to configure additional features. Set the corresponding toggles to active:
    • Show promo code field — allows users to apply a promo code or coupon in the cart interface.
    • Login before shopping cart — opens the login window when proceeding to the cart if the user is unauthorized.

Set up user authentication

Authentication allows users to purchase items in the store and see personalized offers in the catalog. Setting up authentication via Xsolla Login gives users a wide range of authorization methods: via social networks, one-time codes or links, or by entering a login and password. You can also customize the Xsolla Login widget and set age restrictions for authentication.

To set up user authentication via Xsolla Login:

  1. Open your project in Publisher Account and go to the Storefronts > Websites section.
  2. Click Open Site Builder in the pane of the necessary site.
  3. In the site builder, go to the Login settings block.
  4. Choose Xsolla Login.
  5. From the drop-down list, select New Login. As a result, the Login project with user authentication by email and password will be automatically created. To set up another login method, follow the instructions.
Note

For the created Login project, the store URL will be automatically specified as a callback URL. The user will be redirected to the store in the following cases:

  • after successful authentication
  • after successful email confirmation
  • after password reset
  • in case of authentication failure

When you change the store domain, the callback URL in the Login project settings changes automatically.

  1. Connect user data storage. Depending on the user data storage option, different product features are available to you (refer to the Comparison of user data storage options section).
Note

You can also set up other user authentication methods:

  • via user ID
  • via user ID and deep link
  • via deep link
  • via Xsolla Login with linked user ID

Refer to the instructions for detailed information about setting up each method.

Grant purchase to user

Implement granting purchases to the user in your application using information about the transaction details and purchased items received in the webhooks from Xsolla. If you registered in Publisher Account after January 22, 2025, for the full operation of the store and payment management, implement the processing of the following webhooks:

Webhook nameDescription
User validation > User validation (user_validation)Is sent at different stages of the payment process to ensure the user is registered in the game.
Game services > Combined webhooks > Successful payment for order (order_paid)It contains payment data, transaction details, and information about purchased items. Use the data from the webhook to add items to the user.
Game services > Combined webhooks > Order cancellation (order_canceled)It contains data of the canceled payment, transaction details, and information about purchased items. Use the data from the webhook to remove the purchased items.
Note
Refer to the instructions for detailed information about webhook setup and the list of necessary webhooks for accounts registered in Publisher Account before January 22, 2025.

Test site in sandbox mode

To test the site work in sandbox mode:

  1. Open your project in Publisher Account and go to the Storefronts > Websites section.
  2. Click Open Site Builder in the pane of the necessary site.
  3. Click Preview.
  1. Select an item and click the purchase button.
  2. Choose the Card group of payment methods.
  3. Enter the test bank card details. Enter any values in the remaining fields. You can also specify incorrect details (card number, expiration date, or CVV) in order to generate an error.
Note
In sandbox mode you can use only test bank cards. Sandbox bank card payments can be made in the following currencies: USD, EUR, RUB, GBP, AED, ALL, AMD, ARS, AUD, AZN, BGN, BRL, BYN, CAD, CHF, CLP, CNY, COP, CZK, DKK, DZD, EGP, GEL, HKD, HRK, HUF, IDR, ILS, INR, ISK, JPY, KES, KGS, KRW, KZT, MAD, MDL, MKD, MNT, MXN, MYR, NGN, PEN, PHP, PKR, PLN, RON, RSD, SAR, SEK, SGD, THB, TRY, TWD, UAH, UYU, UZS, VEF, VND, ZAR.

Publish site

  1. To improve your site performance:

    a. In the SEO Settings block, set the parameters that will be used by search engines and for page preview in social networks: upload a favicon, specify the store title and description, add a preview image.

    b. Configure site localization.

    c. Make changes to the domain (optional). To do this, go the Storefronts > Websites section and click Configure in your site pane. In the Domain section, edit the Xsolla domain value, or set up your own domain.

  2. Once you made all necessary changes and your web store is ready for launch, click Publish.
Notice
If site publication is not available, make sure all the conditions are met:

Extended store setup

You can use the following extended features for your store:

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.
Last updated: September 3, 2025

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.