Бесплатные товары
Как это работает
Бесплатные товары — это вид товаров, которые пользователь может получить, не тратя виртуальную или реальную валюту. Бесплатные товары доступны в следующих сценариях:
- продажа внутриигровых товаров – виртуальных предметов, пакетов виртуальной валюты, бандлов;
- продажа игр и DLC через игровые ключи.
- Бесплатные товары в значимые для проекта даты, например в день основания, чтобы вознаградить пользователей за их лояльность.
- Бесплатные дополнения к игре тем пользователям, которые уже купили основную игру, чтобы вознаградить их за лояльность.
- Бесплатные стартовые пакеты для игры в интернет-магазине, чтобы привлечь в игру новых пользователей.
Настройка бесплатного товара
Настройка через Личный кабинет
Перед настройкой товаров рекомендуется создать группы, чтобы товары можно было сортировать, а также управлять их отображением в магазине.
Настройка бесплатных товаров далее описана на примере виртуальных предметов.
- В проекте в Личном кабинете перейдите в раздел Каталог товаров > Все товары.
- Нажмите Добавить и выберите Виртуальный предмет.
- Укажите:
- Изображение (опционально);
- артикул;
- одну или несколько групп, которым должен принадлежать предмет (опционально);
- название предмета;
- описание предмета (опционально).
- В блоке Настройки цен выберите Бесплатный предмет.
- Чтобы ограничить количество предметов, доступное для покупки, активируйте переключатель Ограничивать покупку предметов пользователем и введите необходимое число.
- Чтобы настроить частоту обновления ограничений:
- В раскрывающемся списке выберите период:
- Каждый день.
- Каждую неделю.
- Каждый месяц.
- Настроить интервал. Интервал рассчитывается от даты начала периода показа предмета в магазине.
- Без регулярного обновления.
- Задайте расписание обновления, указав параметры, соответствующие периоду.
- В раскрывающемся списке выберите период:
- Настройте отображение предмета в магазине:
- Выберите статус.
- Настройте ограничение времени отображения предмета (опционально): укажите часовой пояс, начало и конец периода отображения. Чтобы не указывать конец периода отображения предмета, установите флажок Без даты окончания.
- Настройте атрибуты для предмета одним из следующих способов (опционально):
- Нажмите Создать предмет.
Настройка через методы API
Чтобы сделать товар бесплатным, передайте в теле запроса “is_free”: true в методы API подраздела Admin:
- Создание виртуального предмета или Обновление виртуального предмета
- Создание игры, Обновление игры по ID или Обновление игры по артикулу
- Создание виртуальной валюты или Обновление виртуальной валюты
- Создание пакета виртуальной валюты или Обновление пакета виртуальной валюты
- Создание бандла или Обновление бандла
limitsс указанием количества;limits.recurrent_scheduleс частотой обновления ограничения.
Отображение бесплатных товаров в каталоге
Отображение бесплатных товаров в каталоге зависит от способа его реализации — через конструктор сайтов или с помощью API.
Отображение через конструктор сайтов
Чтобы бесплатные товары отобразились на вашем сайте:
- Создайте бесплатные товары.
- В проекте в Личном кабинете перейдите в раздел Каналы продаж > Веб-сайты.
- В панели необходимого сайта нажмите Открыть Site Builder.
- В разделе блока Магазин в поле Тип товара выберите тип бесплатных товаров и укажите их группу, если она задана.
- Настройте стиль карточки товара.
- Чтобы изменения вступили в силу, опубликуйте сайт:
- В правом верхнем углу конструктора сайтов нажмите Опубликовать.
- Установите флажки напротив страниц, которые вы хотите опубликовать.
- Подтвердите, что сайт готов к публикации, и нажмите Опубликовать.
Если публикация сайта недоступна, убедитесь, что соблюдаются условия:
- Отсутствуют незаполненные разделы на сайте (отмечены красным индикатором).
- Подписан Лицензионный договор с Xsolla.
- Главная страница опубликована или выбрана для публикации. Вы не можете опубликовать дочерние страницы раньше главной.
Получение информации о бесплатных товарах через API
Если отображение каталога реализовано с помощью API, информация о бесплатных товарах возвращается в методах получения каталога товаров:
- Получение списка виртуальных предметов
- Получение списка виртуальных валют
- Получение списка пакетов виртуальной валюты
- Получение списка бандлов
- Получение списка игр
Начисление бесплатных товаров пользователям
Способ оформления заказа с бесплатными товарами зависит от того, используется ли корзина при покупке. Если пользователь покупает товар без использования корзины, используйте метод API Создание заказа с указанным бесплатным товаром. Если пользователь использует покупку через корзину, возможны следующие сценарии:
- Если в корзине пользователя находятся и платные, и бесплатные товары, используйте методы API создания заказов: Создание заказа со всеми товарами из определенной корзины и Создание заказа со всеми товарами из текущей корзины. Оплата заказа пользователем будет осуществляться через платежный интерфейс.
- Если в корзине пользователя находятся только бесплатные товары, используйте методы API получения бесплатной корзины Создание заказа с помощью бесплатной корзины и Создание заказа с помощью определенной бесплатной корзины. В этом случае платежный интерфейс не будет задействован.
В обоих случаях Xsolla отправляет вебхук Успешная оплата заказа с данными о товарах для начисления пользователю. Для бесплатных товаров в параметре 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.
- Если вы используете собственную систему начислений, начисление пользователю виртуальных валют и предметов происходит полностью на вашей стороне. Мы рекомендуем настроить обработчик вебхуков и получать информацию о заказе на серверной части вашего приложения. Данные для начисления приходят в вебхуке Успешная оплата заказа.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.