In-Game Store / Бесплатные товары
  На главную

In-Game Store

Бесплатные товары

Как это работает

Бесплатные товары — это вид товаров, которые пользователь может получить, не тратя виртуальную или реальную валюту. К ним относятся:

  • виртуальные предметы;
  • бандлы;
  • пакеты виртуальной валюты.

Бесплатные товары доступны для получения только авторизованным пользователям. Неавторизованные пользователи могут только просматривать каталог бесплатных товаров.

Примеры использования:

  • Вы можете раздавать бесплатные товары в значимые для проекта даты, например в день основания проекта, чтобы вознаградить пользователей за их лояльность.
  • Вы можете раздавать бесплатные стартовые пакеты для игры в интернет-магазине, чтобы привлечь в игру новых пользователей.

Вы можете ограничить бесплатную выдачу уникальных предметов, если они уже есть у пользователя.

Для кого подходит

  • Для партнеров, которые уже подключили In-Game Store и хотят настроить новый тип товара — бесплатные товары.
  • Для партнеров, которые хотят повысить лояльность текущих пользователей или привлечь в игру новых.

Сценарий интеграции

  1. Создание бесплатного товара:
  2. Настройка магазина.
  3. Получение статуса заказа пользователя.

Создание через Личный кабинет

Чтобы создать бесплатные товары (на примере виртуальных предметов):
  1. Откройте проект в Личном кабинете.
  2. В боковом меню нажмите Store.
  3. В панели Виртуальные предметы нажмите Настроить.
  4. Нажмите значок + и в раскрывающемся списке выберите Создать предмет.
  5. Укажите:
    • изображение;
    • артикул;
    • одну или несколько групп, которым должен принадлежать предмет;
    • название предмета;
    • описание предмета;
    • свойство предмета — расходуемый, нерасходуемый, с ограниченным сроком действия.
  6. В блоке Настройки цен выберите Бесплатный предмет.
  7. Если вы хотите, чтобы пользователь мог получить товары ограниченное количество раз, установите переключатель Ограничивать покупку предметов пользователем в положение Вкл и укажите количество использований.
  8. Если вы хотите, чтобы предмет отображался в каталоге, установите переключатель Показать предмет в магазине в положение Вкл.
  9. Нажмите Создать предмет.

Создание через методы API

  1. Для создания бесплатных товаров используйте методы API администрирования товаров:При создании или редактировании предмета передайте в теле запроса is_free = true.
  2. Если вы хотите, чтобы пользователь мог получить товары ограниченное количество раз, используйте любой API-метод создания или редактирования товара и укажите значение параметра limits.per_user.

Настройка магазина

Быстрая покупка

Если пользователь использует метод быстрой покупки (не использует корзину), то для предоставления возможности получения бесплатных товаров используйте API-метод Create order with specified free item. Начисление товара пользователю в инвентарь происходит сразу после успешного вызова этого метода, без необходимости открывать платежный интерфейс. Xsolla отправляет вебхук о начислении товара Успешная оплата заказа.
Примечание
Отправка вебхука Успешная оплата заказа происходит сразу после начисления бесплатного товара, при этом вебхук Успешный платеж не отправляется.
Пример запроса:
Copy
Full screen
Small screen

{
  "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.
  • Примечание
    В этом случае на стороне Xsolla произойдет начисление товара в инвентарь игрока и заказ будет помечен как успешный.
  • Ваш обработчик оповещений также может возвращать код статуса HTTP 5xx при временных проблемах на вашем сервере. В этом случае в сервисе оповещений 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. В этом случае платежный интерфейс не будет задействован.

Пример оповещения аналогичен примеру для быстрой покупки.

Была ли статья полезна?
Спасибо!
Что может сделать страницу еще лучше? Сообщение
Жаль, что так произошло
Расскажите, почему статья не была полезна. Сообщение
Спасибо за обратную связь!
Ваши мысли и идеи помогут нам улучшить ваш пользовательский опыт.
Последнее обновление: 3 октября 2024

Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

Сообщите о проблеме
Мы постоянно улучшаем качество нашей документации. Ваш отзыв поможет нам в этом.
Укажите email-адрес, чтобы мы могли связаться с вами
Спасибо за обратную связь!