Бесплатные товары
Как это работает
Бесплатные товары — это вид товаров, которые пользователь может получить, не тратя виртуальную или реальную валюту. К ним относятся:
- виртуальные предметы;
- бандлы;
- пакеты виртуальной валюты.
Бесплатные товары доступны для получения только авторизованным пользователям. Неавторизованные пользователи могут только просматривать каталог бесплатных товаров.
Примеры использования:
- Вы можете раздавать бесплатные товары в значимые для проекта даты, например в день основания проекта, чтобы вознаградить пользователей за их лояльность.
- Вы можете раздавать бесплатные стартовые пакеты для игры в интернет-магазине, чтобы привлечь в игру новых пользователей.
Вы можете ограничить бесплатную выдачу уникальных предметов, если они уже есть у пользователя.
Для кого подходит
- Для партнеров, которые уже подключили In-Game Store и хотят настроить новый тип товара — бесплатные товары.
- Для партнеров, которые хотят повысить лояльность текущих пользователей или привлечь в игру новых.
Сценарий интеграции
- Создание бесплатного товара:
- Настройка магазина.
- Получение статуса заказа пользователя.
Создание через Личный кабинет
Чтобы создать бесплатные товары (на примере виртуальных предметов):- Откройте проект в Личном кабинете.
- В боковом меню нажмите Store.
- В панели Виртуальные предметы нажмите Настроить.
- Нажмите значок + и в раскрывающемся списке выберите Создать предмет.
- Укажите:
- изображение;
- артикул;
- одну или несколько групп, которым должен принадлежать предмет;
- название предмета;
- описание предмета;
- свойство предмета — расходуемый, нерасходуемый, с ограниченным сроком действия.
- В блоке Настройки цен выберите Бесплатный предмет.
- Если вы хотите, чтобы пользователь мог получить товары ограниченное количество раз, установите переключатель Ограничивать покупку предметов пользователем в положение Вкл и укажите количество использований.
- Если вы хотите, чтобы предмет отображался в каталоге, установите переключатель Показать предмет в магазине в положение Вкл.
- Нажмите Создать предмет.
Создание через методы API
- Для создания бесплатных товаров используйте методы API администрирования товаров:
- Для виртуальных предметов — Create virtual item.
- Для пакетов валют — Create virtual currency package.
- Для бандлов — Create bundle.
is_free = true
. - Если вы хотите, чтобы пользователь мог получить товары ограниченное количество раз, используйте любой API-метод создания или редактирования товара и укажите значение параметра
limits.per_user
.
Настройка магазина
Быстрая покупка
Если пользователь использует метод быстрой покупки (не использует корзину), то для предоставления возможности получения бесплатных товаров используйте API-метод Create order with specified free item. Начисление товара пользователю в инвентарь происходит сразу после успешного вызова этого метода, без необходимости открывать платежный интерфейс. Xsolla отправляет вебхук о начислении товара Успешная оплата заказа.Примечание
Отправка вебхука Успешная оплата заказа происходит сразу после начисления бесплатного товара, при этом вебхук Успешный платеж не отправляется.
Copy
- http
{
"method": "POST",
"url": "https://mybestgame.com/xsolla/notification",
"body": {
"items": [
{
"sku": "gift_direct_game_reward-supercoin",
"type": "virtual_currency",
"is_pre_order": false,
"quantity": 500,
"amount": "0",
"promotions": [
]
},
{
"sku": "package-500_supercoin",
"type": "bundle",
"is_pre_order": false,
"quantity": 1,
"amount": "0",
"promotions": [
]
},
{
"sku": "xsolla-giveaway_offer_11_14_22",
"type": "bundle",
"is_pre_order": false,
"quantity": 1,
"amount": "0",
"promotions": [
]
}
],
"notification_type": "order_paid",
"order": {
"id": 12345678,
"mode": "default",
"currency_type": "unknown",
"currency": null,
"amount": "0",
"status": "paid",
"platform": "xsolla",
"comment": null,
"invoice_id": null,
"promotions": [
]
},
"user": {
"external_id": "1234567812345678",
"email": null
}
},
"headers": {
"Authorization": "Signature 3b840ccefea111dcdfd111db1fdc6df969a3ec11",
"Accept": "application/json",
"Content-Type": "application/json"
},
"type": "webhook_payment",
"callback_parameters": {
"order_id": 12345678
}
}
Примечание
Для бесплатных товаров в параметре order.invoice_id указывается значение
null
.- Если ваш обработчик оповещений корректно принял и обработал оповещение — код статуса HTTP 200 или 204.
- Если возникла предусмотренная ошибка — код статуса HTTP 4xx.
- Ваш обработчик оповещений также может возвращать код статуса HTTP 5xx при временных проблемах на вашем сервере. В этом случае в сервисе оповещений Xsolla действует механизм повторных оповещений.
Примечание
В этом случае на стороне Xsolla произойдет начисление товара в инвентарь игрока и заказ будет помечен как успешный.
Покупка корзины
Если пользователь использует покупку через корзину:
- Если в корзине пользователя находятся и платные, и бесплатные товары, используйте стандартные API-методы создания заказов 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. В этом случае платежный интерфейс не будет задействован.
Пример оповещения аналогичен примеру для быстрой покупки.
Была ли статья полезна?
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.