Free items
Free items are a type of item that users can get without spending virtual or real currency. These include:
- Virtual items
- Bundles
- Virtual currency packages
Free items are only available to authorized users. Unauthorized users can only view the catalog of free items.
Examples of usage:
- You can give away free items on important dates for your project (for example, on the day the project was founded) to reward users for their loyalty.
- You can give away free starter packs for the game in the store to attract new users to the game.
You can limit the free giveaway of unique items if the user already has them.
To set up free items:
- Add free items to the catalog.
- Implement logic of ordering free items by users.
- Implement the logic of granting free items to the user.
Adding free items to catalog
Detailed instructions for creating items are available in the following documentation sections:
When creating or editing a free item, you need to select a Free item, Free package or Free bundle in the Paid or Free section.
Ordering free items by user
A user can order a free item in two ways:
- In one click (without using the shopping cart) — one SKU in any quantity. For example, 100 identical potions.
- Via the shopping cart — any type of items in any quantity.
Ordering free item in one click
To implement this option, call the createOrderWithSpecifiedFreeItem
method of the Store library when a user clicks the button in the catalog to order the free item.
The delivery of items to the user’s inventory on the Xsolla’s side occurs immediately after a successful request to this method (without the need to open Pay Station).
Ordering free items via shopping cart
In case the user buys through a shopping cart:
- If the user’s cart contains both paid and free items:
- Get the payment token and order ID using the
createOrderWithCart
method of the Store library. - Get the URL to open the payment UI. To do this, call the
createPaymentUrl
method of the Store library and pass the payment token and order ID. - Implement opening of the payment UI:
- Get the payment token and order ID using the
- To open the payment UI in an external browser, call the
UIApplication.shared.open
static method and pass to it the URL obtained in the previous step. - To open the payment UI in the built-in browser, instantiate the
PaystationWebView
class of the Payments library and call theloadPaystation
method. An implementation example is provided in the demo project in thePaystationVC
class.
- To open the payment UI in an external browser, call the
- If the user’s cart contains only free items, call the
createOrderWithFreeCart
method of the Payments library. The delivery of items to the user’s inventory on the Xsolla’s side occurs immediately after a successful request to this method (without the need to open Pay Station).
Granting free items to user
You can track the status of a free item order by repeatedly calling the getOrder
method of the Store library.
If the order was successful, use SDK methods for displaying user inventory to update the data on the client side of the application.
Useful links
Last updated: January 22, 2024Found a typo or other text error? Select the text and press Ctrl+Enter.