Бесплатные товары
Как это работает
Бесплатные товары — это вид товаров, которые пользователь может получить, не тратя виртуальную или реальную валюту.
Бесплатные товары доступны в следующих сценариях:
- продажа внутриигровых товаров — виртуальные предметы, пакеты виртуальной валюты и бандлы
- продажа игр и DLC через ключи игры
Примеры использования:
- Бесплатные товары, приуроченные к важным этапам проекта или особым датам (например, к годовщине), как награда за лояльность.
- Бесплатные дополнения для пользователей, которые уже купили базовую игру, как награда за лояльность.
- Бесплатные стартовые наборы, доступные в веб‑магазине, чтобы привлечь новых пользователей в игру.
Бесплатные виртуальные предметы, валюта и бандлы доступны для получения только авторизованным пользователям. Бесплатные игровые ключи доступны как авторизованным, так и неавторизованным пользователям. Лимит на количество бесплатных товаров можно настроить только для авторизованных пользователей.
Настройка бесплатных товаров
Настройка в Личном кабинете
Перед настройкой товаров рекомендуется создать группы, чтобы удобно сортировать товары и управлять их отображением в магазине.
Процесс настройки бесплатных товаров далее описан на примере виртуального предмета.
Чтобы создать бесплатный виртуальный предмет:
- В проекте в Личном кабинете перейдите в раздел Items catalog > All items.
Настройка в вашем аккаунте
Перед настройкой товаров рекомендуется создать группы, чтобы удобно сортировать товары и управлять их отображением в магазине.
Процесс настройки бесплатных товаров далее описан на примере виртуального предмета.
Чтобы создать бесплатный виртуальный предмет:
- В проекте в аккаунте перейдите в раздел Items catalog > All items.
- В проекте в аккаунте перейдите в раздел Items catalog > All items.
- В проекте в аккаунте перейдите в раздел Items catalog > All items.
Настройка в вашем аккаунте
Перед настройкой товаров рекомендуется создать группы, чтобы удобно сортировать товары и управлять их отображением в магазине.
Процесс настройки бесплатных товаров далее описан на примере виртуального предмета.
Чтобы создать бесплатный виртуальный предмет:
- В проекте в аккаунте для мобильных игр перейдите в раздел Catalog.
- Нажмите Create manually и выберите Virtual item из выпадающего списка.
- В разделе 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 or Update virtual item
- Create game, Update game by ID or Update game by SKU
- Create virtual currency or Update virtual currency
- Create virtual currency package or Update virtual currency package
- Create bundle or Update bundle
Если вы хотите ограничить число бесплатных товаров, которые пользователь может получить, передайте в методах создания или обновления товара следующие параметры:
limitsс указанием количестваlimits.recurrent_scheduleс указанием частоты сброса лимита
Также вы можете настроить лимит времени отображения товара в магазине и задать региональные ограничения.
Отображение бесплатных товаров в каталоге
Отображение бесплатных товаров в каталоге зависит от способа реализации — через конструктор сайтов или через 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 подписано.
- Главная страница опубликована или выбрана для публикации. Нельзя опубликовать дочерние страницы раньше главной.
После публикации на сайте станет доступен раздел с бесплатными товарами. Если товары не отображаются, убедитесь, что для них установлен статус Доступно и не задан лимит по времени отображения.
Получение информации о бесплатных товарах через API
Если ваш каталог настроен с помощью API, данные о бесплатных товарах возвращаются в методах из подраздела Catalog:
- Get virtual items list
- Get virtual currency list
- Get virtual currency packages list
- Get bundles list
- Get games list
Выдача бесплатных товаров пользователям
Способ оформления заказа с бесплатными товарами зависит от того, используется ли корзина при покупке.
Если пользователь покупает товар без использования корзины, используйте метод 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.
Подробная информация об этом и других способах получения данных о покупке приведена в разделе Отслеживание статуса заказа.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.