Лимиты на покупку товаров
Как это работает
Вы можете ограничить количество товаров, доступных для покупки одним пользователем, а также задать периоды автоматического обновления лимитов.
Настройка ограничений доступна в следующих сценариях:
- продажа внутриигровых товаров — виртуальные предметы, пакеты виртуальной валюты и бандлы
- продажа игр и DLC через ключи игры
Вы можете настроить периодическое обновление лимитов:
- разрешить повторные покупки
- синхронизировать данные с вашей системой, если товары продаются на нескольких платформах публикации игр
Для корректного отображения количества товаров, которое доступно пользователю, необходимо настроить аутентификацию.
Для неавторизованного пользователя всегда отображается максимальное количество товаров, которое он может купить. Чтобы отобразить пользователю оставшееся количество товаров с учетом действующего лимита, необходимо передавать данные авторизации пользователей на этапе запроса:
- каталог товаров с помощью методов подраздела Catalog группы Virtual Items & Currency
- каталог игр с помощью методов подраздела Catalog группы Game Keys
Xsolla контролирует соблюдение лимитов и не позволяет пользователям приобрести количество товаров, которое превышает заданные лимиты:
- При открытии платежного интерфейса и оплате товара все неоплаченные заказы с этим товаром становятся недействительными.
- Пример: пользователь может открыть форму оплаты товара с лимитом на покупку в нескольких вкладках браузера, пока товар не был куплен. Это автоматически приводит к созданию нескольких заказов на один товар. После покупки товара на одной вкладке Xsolla аннулирует все неоплаченные заказы с товаром.
- При возврате платежа или отмене заказа лимиты не сбрасываются. Вы можете сбросить их с помощью следующих методов API: Обновить все лимиты на покупку для указанного пользователя и Обновить все лимиты промоакций для указанного пользователя.
- Пример: пользователь может купить товар с лимитами на покупку, использовать его в игре, а затем запросить возврат платежа. Если бы лимиты сбрасывались автоматически, пользователь мог бы снова купить товар, использовать его и повторять цикл, фактически обходя заданные ограничения. Чтобы этого не допустить, лимиты не сбрасываются при возврате платежа или отмене заказа.
Чтобы настроить ограничения на использование промоакций, см. инструкцию.
Настройка и обновление ограничений
Настройка и обновление в Личном кабинете
- Процесс ниже показан на примере виртуальных предметов.
- Перед настройкой виртуальных предметов рекомендуем создать группы. Группы позволяют построить многоуровневый каталог и управлять отображением товаров в вашем Магазине.
- В Личном кабинете вы можете обновить лимиты для конкретного товара для всех пользователей. Расширенные настройки доступны через методы API.
Для создания предмета с ограниченным количеством использований:
- Откройте проект в Личном кабинете и перейдите в раздел Items catalog > All items > Virtual items.
- Откройте проект в аккаунте и перейдите в раздел Items catalog > All items > Virtual items.
- Откройте проект в аккаунте и перейдите в раздел Items catalog > All items > Virtual items.
- Откройте проект в аккаунте и перейдите в раздел Items catalog > All items > Virtual items.
- Откройте проект в аккаунте для мобильных игр и перейдите в раздел Catalog.
- Нажмите Create manually и выберите Virtual item из выпадающего списка.
- В разделе General settings укажите следующее:
- SKU
- одну или несколько групп, к которым должен относиться предмет (опционально)
- название
- краткое описание
- расширенное описание — чтобы добавить его, включите соответствующий переключатель (опционально)

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

- В разделе Price settings задайте цены или создайте бесплатный предмет:
- Чтобы задать цену, выберите Paid item, включите переключатель Real currency prices и/или Virtual currency prices и укажите цену. При необходимости настройте региональные цены.
- Чтобы создать бесплатный предмет, выберите Free item.
Предмет может иметь цены в нескольких реальных и виртуальных валютах. В этом случае необходимо указать валюту по умолчанию для каждого типа — одну среди реальных валют и одну среди виртуальных валют.
Вы можете указать цену в виртуальной валюте только если в проекте уже создана виртуальная валюта.

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

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

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

- Если платный предмет будет использоваться в любых механиках со случайной наградой (например, лутбоксах или гача), активируйте переключатель Mark as paid randomized reward.
Нажмите кнопку Create.
В открывшемся окне выберите статус предмета и нажмите Continue.

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

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

- В разделе Price settings задайте цены или создайте бесплатный предмет:
- Чтобы задать цену, выберите Paid item, включите переключатель Real currency prices и/или Virtual currency prices и укажите цену. При необходимости настройте региональные цены.
- Чтобы создать бесплатный предмет, выберите Free item.
Предмет может иметь цены в нескольких реальных и виртуальных валютах. В этом случае необходимо указать валюту по умолчанию для каждого типа — одну среди реальных валют и одну среди виртуальных валют.
Вы можете указать цену в виртуальной валюте только если в проекте уже создана виртуальная валюта.

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

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

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

- Если платный предмет будет использоваться в любых механиках со случайной наградой (например, лутбоксах или гача), активируйте переключатель Mark as paid randomized reward.
Нажмите кнопку Create.
В открывшемся окне выберите статус предмета и нажмите Continue.

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

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

- В разделе Price settings задайте цены или создайте бесплатный предмет:
- Чтобы задать цену, выберите Paid item, включите переключатель Real currency prices и/или Virtual currency prices и укажите цену. При необходимости настройте региональные цены.
- Чтобы создать бесплатный предмет, выберите Free item.
Предмет может иметь цены в нескольких реальных и виртуальных валютах. В этом случае необходимо указать валюту по умолчанию для каждого типа — одну среди реальных валют и одну среди виртуальных валют.
Вы можете указать цену в виртуальной валюте только если в проекте уже создана виртуальная валюта.

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

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

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

- Если платный предмет будет использоваться в любых механиках со случайной наградой (например, лутбоксах или гача), активируйте переключатель Mark as paid randomized reward.
Нажмите кнопку Create.
В открывшемся окне выберите статус предмета и нажмите Continue.

Созданный предмет появится в разделе All items.
Чтобы настроить лимиты на уже созданный предмет или обновить лимиты:
- Откройте проект в аккаунте для мобильных игр и перейдите в раздел Catalog > Virtual items.
Откройте группу, которая содержит предмет.
В строке нужного предмета нажмите ••• и в выпадающем списке выберите Edit.
В разделе Limits for single user задайте лимит и/или выберите частоту сброса лимита, затем укажите время и часовой пояс.
- Нажмите Save changes.
Настройка и обновление через методы API
Чтобы настроить лимиты на покупку товаров через API, используйте объект limits в следующих методах:
- Создать виртуальный предмет
- Создать игру
- Создать виртуальную валюту
- Создать пакет виртуальной валюты
- Создать бандл
Чтобы задать ежедневные, еженедельные или ежемесячные обновления лимитов, передайте объект limits.recurrent_schedule.
Если у вас настроен период обновления лимитов, вы также можете настроить отображение товара в каталоге после достижения лимита покупок. Для этого передайте параметр “limits.per_user.limit_exceeded_visibility”: “show”.
Если регулярное обновление не задано, товар скрывается из каталога после достижения лимита независимо от значения параметра.
Для обновления лимитов и управления ими через API используйте следующие методы подраздела Управление из группы методов Лимиты:
| Возможность | Метод API |
|---|---|
| Обновить лимиты для указанного товара для всех или отдельных пользователей. | Обновить лимит на покупку. |
| Сбросить все лимиты по товарам для указанного пользователя. | Обновить все лимиты на покупку для указанного пользователя. |
| Изменить лимит на покупку указанного товара для указанного пользователя. | Задать количество товаров, доступных указанному пользователю. |
| Получить информацию о настроенных лимитах для указанного товара и пользователя. | Получить количество товаров, доступных указанному пользователю. |
| Увеличить количество товаров, доступных к покупке указанному пользователю. | Увеличить количество товаров, доступных указанному пользователю. |
| Уменьшить количество товаров, доступных к покупке указанному пользователю. | Уменьшить количество товаров, доступных указанному пользователю. |
Отображение ограничений в каталоге товаров
Лимиты на продажу товаров отображаются в каталоге в зависимости от реализации — через Site Builder или через API.
Отображение через Site Builder
Если вы используете конструктор сайтов, лимиты отображаются автоматически — в карточке товара появляется счетчик товаров, доступных пользователю.
Получение информации о лимитах через API
Если отображение каталога реализовано с помощью API, информация о лимитах возвращается в массиве items.limits в методах получения каталога товаров:
- Получить список виртуальных предметов
- Получить список виртуальной валюты
- Получить список пакетов виртуальной валюты
- Получить список бандлов
- Получить список игр
Товары, на покупку которых пользователь исчерпал лимиты, возвращаются с флагом can_be_bought = false.
Вы можете обновить эти лимиты.
Эти данные можно использовать для отображения лимитов в каталоге, например чтобы указать максимальное количество доступных товаров.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.