Бесплатные товары
Как это работает
Бесплатные товары — это вид товаров, которые пользователь может получить, не тратя виртуальную или реальную валюту.
Бесплатные товары доступны в следующих сценариях:
- продажа внутриигровых товаров — виртуальные предметы, пакеты виртуальной валюты и бандлы
- продажа игр и DLC через ключи игры
Примеры использования:
- Бесплатные товары, приуроченные к важным этапам проекта или особым датам (например, к годовщине), как награда за лояльность.
- Бесплатные дополнения для пользователей, которые уже купили базовую игру, как награда за лояльность.
- Бесплатные стартовые наборы, доступные в веб‑магазине, чтобы привлечь новых пользователей в игру.
Бесплатные виртуальные предметы, валюта и бандлы доступны для получения только авторизованным пользователям. Бесплатные игровые ключи доступны как авторизованным, так и неавторизованным пользователям. Лимит на количество бесплатных товаров можно настроить только для авторизованных пользователей.
Настройка бесплатных товаров
Настройка в Личном кабинете
Перед настройкой товаров рекомендуется создать группы, чтобы удобно сортировать товары и управлять их отображением в магазине.
Процесс настройки бесплатных товаров далее описан на примере виртуального предмета.
Чтобы создать бесплатный виртуальный предмет:
- В проекте в Личном кабинете перейдите в раздел Items catalog > All items.
Настройка в вашем аккаунте
Перед настройкой товаров рекомендуется создать группы, чтобы удобно сортировать товары и управлять их отображением в магазине.
Процесс настройки бесплатных товаров далее описан на примере виртуального предмета.
Чтобы создать бесплатный виртуальный предмет:
- В проекте в аккаунте перейдите в раздел Items catalog > All items.
- В проекте в аккаунте перейдите в раздел Items catalog > All items.
- В проекте в аккаунте перейдите в раздел Items catalog > All items.
Настройка в вашем аккаунте
Перед настройкой товаров рекомендуется создать группы, чтобы удобно сортировать товары и управлять их отображением в магазине.
Процесс настройки бесплатных товаров далее описан на примере виртуального предмета.
Чтобы создать бесплатный виртуальный предмет:
- В проекте в аккаунте для мобильных игр перейдите в раздел Catalog.
- Нажмите Create manually и выберите Virtual items из выпадающего списка.
- В разделе General settings укажите следующее:
- SKU
- одну или несколько групп, к которым должен относиться предмет (опционально)
- название
- краткое описание
- расширенное описание — чтобы добавить его, включите соответствующий переключатель (опционально)

- В разделе Media загрузите одно или несколько изображений или видео (необязательно) — с вашего устройства или по ссылке. В Магазине, созданном с помощью Xsolla site editor, все карточки товаров отображают файл, помеченный как Main, а остальные файлы доступны только в карточках с медиагалереей. Файл, помеченный как Main, также возвращается в ответах методов API получения каталога.

- В разделе Price settings выберите Free item.

- Чтобы ограничить количество доступных к покупке товаров:
- Включите переключатель в разделе Limits и укажите количество.
- Настройте частоту сброса лимита. Для этого выберите период из выпадающего списка:
- Daily.
- Weekly.
- Monthly.
- Custom interval. Интервал рассчитывается от даты начала отображения предмета в магазине.
- No regular refresh.
- Настройте расписание сброса, указав параметры, которые соответствуют выбранному периоду.

Чтобы настроить лимит времени отображения товара (опционально):
- Включите переключатель в разделе Add specific display period.
- Укажите часовой пояс, начало и конец периода.
Чтобы не указывать конец периода отображения товара, включите переключатель No end date.

- Настройте атрибуты одним из способов (необязательно):

- Нажмите кнопку Create.
- В открывшемся окне выберите статус товара и нажмите Continue.

Созданный предмет появится в разделе All items.
Настройка через API
Чтобы сделать товар бесплатным, передайте в теле запроса “is_free”: true в методы API подраздела Admin:
- Create virtual item или Update virtual item
- Create game, Update game by ID или Update game by SKU
- Create virtual currency или Update virtual currency
- Create virtual currency package или Update virtual currency package
- Create bundle или Update bundle
Если вы хотите ограничить число бесплатных товаров, которые пользователь может получить, передайте в методах создания или обновления товара следующие параметры:
limitsс указанием количестваlimits.recurrent_scheduleс указанием частоты сброса лимита
Также вы можете настроить лимит времени отображения товара в магазине и установить региональные ограничения.
Отображение бесплатных товаров в каталоге
Бесплатные товары отображаются в каталоге в зависимости от способа реализации — через site builder или через API.
Отображение через site builder
Чтобы бесплатные товары отобразились на вашем сайте:
- Создайте бесплатные товары.
- В проекте в Личном кабинете перейдите в раздел Storefronts > Websites.
- В панели нужного сайта нажмите Open Site Builder.
- В проекте в аккаунте перейдите в раздел Storefronts > Websites.
- В панели нужного сайта нажмите Open Site Builder.
- В проекте в аккаунте перейдите в раздел Storefronts > Websites.
- В панели нужного сайта нажмите Open Site Builder.
- В проекте в аккаунте перейдите в раздел Storefronts > Websites.
- В панели нужного сайта нажмите Open Site Builder.
- В проекте в аккаунте для мобильных игр перейдите в раздел Web Shop.
- Нажмите панель нужного сайта.
- Если на сайте несколько страниц, выберите нужную:
- Нажмите на название текущей страницы в верхней части конструктора.
- Выберите нужную страницу из выпадающего списка.
- В разделе Store в поле Item type выберите тип бесплатного товара и укажите его группу, если нужно.
- Настройте макет карточки товара.
- После внесения всех изменений и подготовки сайта к публикации:
- В правом верхнем углу конструктора нажмите Publish.
- Отметьте флажками страницы, которые нужно опубликовать.
- Нажмите Publish.
Если публикация сайта недоступна, убедитесь, что соблюдены условия:
- На сайте нет пустых разделов (они помечены красным индикатором).
- Подписано лицензионное соглашение с Xsolla.
- Главная страница опубликована или выбрана для публикации. Нельзя опубликовать дочерние страницы раньше главной.
После публикации на сайте раздел с бесплатными товарами станет доступен. Если товары не отображаются, убедитесь, что для них выставлен статус Available и не задан лимит по времени отображения.
Получение информации о бесплатных товарах через API
Если ваш каталог реализован с помощью API, данные о бесплатных товарах возвращаются методами из раздела Catalog:
- Получение списка виртуальных предметов
- Получение списка виртуальных валют
- Получение списка пакетов виртуальной валюты
- Получение списка бандлов
- Получение списка игр
Выдача бесплатных товаров пользователям
Способ оформления заказа с бесплатными товарами зависит от того, используется ли корзина при покупке.
Если пользователь покупает товар без использования корзины, используйте метод API Create order with specified free item.
Если пользователь использует покупку через корзину, возможны следующие сценарии:
- Если в корзине пользователя есть платные и бесплатные товары, используйте методы создания заказа Create order with all items from particular cart или Create order with all items from current cart. В этом случае пользователь завершает оплату через платежный интерфейс.
- Если в корзине пользователя только бесплатные товары, используйте методы API Create order with free cart или Create order with particular free cart. В этом случае платежный интерфейс не используется.
В обоих случаях Xsolla отправляет вебхук Successful payment for order с данными о товарах, которые используются для выдачи пользователю. Для бесплатных товаров параметр order.invoice_id в вебхуке равен
null.
Пример объекта order для бесплатных товаров:
- json
1{
2 "method": "POST",
3 "url": "https://mybestgame.com/xsolla/notification",
4 "body": {
5 "items": [
6 {
7 "sku": "gift_direct_game_reward-supercoin",
8 "type": "virtual_currency",
9 "is_pre_order": false,
10 "quantity": 500,
11 "amount": "0",
12 "promotions": [
13
14 ]
15 },
16 {
17 "sku": "package-500_supercoin",
18 "type": "bundle",
19 "is_pre_order": false,
20 "quantity": 1,
21 "amount": "0",
22 "promotions": [
23
24 ]
25 },
26 {
27 "sku": "xsolla-giveaway_offer_11_14_22",
28 "type": "bundle",
29 "is_pre_order": false,
30 "quantity": 1,
31 "amount": "0",
32 "promotions": [
33
34 ]
35 }
36 ],
37 "notification_type": "order_paid",
38 "order": {
39 "id": 12345678,
40 "mode": "default",
41 "currency_type": "unknown",
42 "currency": null,
43 "amount": "0",
44 "status": "paid",
45 "platform": "xsolla",
46 "comment": null,
47 "invoice_id": null,
48 "promotions": [
49
50 ]
51 },
52 "user": {
53 "external_id": "1234567812345678",
54 "email": null
55 }
56 },
57 "headers": {
58 "Authorization": "Signature 3b840ccefea111dcdfd111db1fdc6df969a3ec11",
59 "Accept": "application/json",
60 "Content-Type": "application/json"
61 },
62 "type": "webhook_payment",
63 "callback_parameters": {
64 "order_id": 12345678
65 }
66}
Способ начисления товаров зависит от настроек интеграции в вашем проекте:
- Если вы интегрировали PlayFab, виртуальная валюта и предметы автоматически зачисляются в инвентарь пользователя в PlayFab.
- Если вы используете собственную систему выдачи, все виртуальные предметы и валюту вы выдаете на своей стороне. Рекомендуем настроить обработчик вебхуков, чтобы получать данные о заказе на вашем бэкенде. Необходимые данные содержатся в вебхуке Successful payment for order. Подробнее об этом и других вариантах получения данных о покупке см. раздел Set up order status tracking.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.