Региональные цены
Вы можете установить региональные цены для всех товаров в вашем каталоге, чтобы повышать продажи в странах с низкой покупательной способностью. По умолчанию цена задается в USD. Дополнительно можно настроить региональные ограничения.
Вы можете добавлять, редактировать, удалять региональные цены:
- через Личный кабинет при создании/редактировании товара;
- при импорте цен из JSON-файла через Личный кабинет или метод API Импорт товаров из JSON-файла;
- через методы API.
Как это работает
Для страны пользователя происходит подбор цен для каталога товаров.
На этапе оплаты в платежном интерфейсе пользователь видит цену товара, конвертированную в валюту его страны, и размер налогов, если они предусмотрены.
Определение страны
- При запросе каталога товаров страна пользователя передается в параметре
countryв методах подраздела Catalog из группы методов Виртуальные предметы и валюта или группы методов Игровые ключи.
Если страна не указана, она будет определена на основе IP-адреса пользователя. Затем для страны пользователя происходит подбор цен для каталога товаров. - При покупке товара:
- Если вы используете клиентские методы получения токена оплаты, важно использовать эти методы на стороне клиента, а не сервера. Страна и валюта в клиентских методах определяется по IP-адресу пользователя. Использование клиентских методов на стороне сервера может привести к неправильному определению валюты и повлиять на способы оплаты в платежном интерфейсе.
- Если вы используете серверный метод Создание платежного токена для покупки, передайте страну в объекте
countryв теле запроса или IP-адрес пользователя в заголовкеX-User-Ip.
- Если передана страна в параметре country.value и IP-адрес пользователя в заголовке
X-User-Ip, приоритетным будет значение страны в параметре country.value.
- Если передана страна в параметре country.value и IP-адрес пользователя в заголовке
Правила отображения цены в каталоге товаров
Для всех товаров в каталоге должен использоваться одинаковый перечень валют, в которых указаны цены. Это необходимо, чтобы все товары в каталоге отображались в одной валюте. Если для одного из товаров в одной из стран не будет указана цена, цены всего каталога в этой стране отобразятся в валюте по умолчанию.
Если у товаров разная валюта по умолчанию, цены отображаются в валюте по умолчанию первого товара в каталоге. Если у одного из товаров отсутствует цена в этой валюте, в ответе на запрос каталога для него будет указано значение цены null. Это приведет к некорректному отображению цены товара и может повлиять на отображение каталога в целом.
Для отображения цен в каталоге:
- Если вы используете конструктор сайтов, добавьте на страницу блок Магазин — цены будут определяться в соответствии с региональными настройками.
- Если вы получаете каталог через методы API, цена возвращается в объекте price для каждого товара, в зависимости от параметра
countryили IP-адреса пользователя.
Примеры:
Настройка через Личный кабинет при создании и редактировании товара
- В проекте в Личном кабинете перейдите в раздел Каталог товаров > Все товары > Виртуальные предметы.
- Нажмите Добавить и выберите Виртуальные предметы.
- Добавьте:
- изображение;
- артикул;
- одну или несколько групп, которым должен принадлежать предмет;
- название предмета;
- описание предмета;
- свойство предмета — расходуемый, нерасходуемый, с ограниченным сроком действия.
- В блоке Настройки цен выберите Платный предмет.
- Установите переключатель Цены в реальной валюте в положение Вкл и нажмите Настроить цены.
- В открывшемся окне укажите валюту и цену по умолчанию. Вы можете заменить доллары США на другую валюту по умолчанию.
- Настройте региональные цены. Вы можете сделать это двумя способами, вручную и автоматически:
- Чтобы задать цены вручную:
- Нажмите Добавить цену и добавьте страны и цены построчно.
- Нажмите Применить.
- Чтобы настроить цены автоматически:
- Нажмите Рассчитать, используя цену по умолчанию. В этом случае будет сгенерирован список стран в алфавитном порядке, и для каждой страны будет рассчитана цена в региональной валюте на основе обменных курсов и налогов.
- Чтобы удалить страны, для которых вам не нужно настраивать региональные цены, нажмите крестик справа от цены.
- Чтобы изменить автоматически рассчитанную цену, измените значение в соответствующей строке.
- Нажмите Применить изменения.
- Если вы хотите добавить цену в виртуальной валюте, установите переключатель Цены в виртуальной валюте в положение Вкл и укажите значения.
- Если вы хотите, чтобы пользователь мог купить предмет ограниченное количество раз:
- Установите переключатель Ограничивать покупку предметов пользователем в положение Вкл.
- Укажите количество, доступное для покупки.
- Выберите интервал:
- Без регулярного обновления;
- Каждый день;
- Каждую неделю;
- Каждый месяц;
- Настроить интервал. Интервал рассчитывается от даты начала периода показа предмета в магазине.
- Вы можете установить ограничение времени отображения предмета в магазине, для этого в поле Показать предмет в магазине выберите, когда он будет отображаться:
- Всегда — предмет будет доступен в магазине без ограничений по времени.
- Ограниченное время — вы можете указать один или несколько периодов, в которые предмет будет отображаться. Для этого задайте часовой пояс и период отображения. При необходимости установите флажок Без даты окончания, чтобы предмет отображался с указанной даты без даты окончания.

- Нажмите Создать предмет.
- В проекте в Личном кабинете перейдите в раздел Каталог товаров > Все товары > Виртуальные предметы.
- Нажмите ⋮ напротив необходимого предмета и в раскрывающемся списке выберите Редактировать.
- В разделе Настройки цен под ценой по умолчанию нажмите Редактировать.
Настройка через Личный кабинет при импорте цен из файла
Вы можете импортировать региональные цены из файла для предварительно созданных товаров.
Возможности
- Загрузка или обновление региональных цен для множества товаров одновременно.
- Поддержка товаров всех типов:
- виртуальные предметы;
- виртуальная валюта;
- пакеты виртуальной валюты;
- бандлы;
- пакеты игровых ключей на конкретной платформе.
- Валидация загружаемых данных. Если структура файла или формат данных не соответствуют требованиям, вы увидите список ошибок при импорте.
Структура файла
Файл может быть только в формате CSV и должен содержать следующие столбцы:
SKU — артикул товара, для которого необходимо задать региональные цены.Country — код страны в формате ISO 3166-1 alpha-2. Перед загрузкой CSV-файла проверьте список поддерживаемых Xsolla стран. Заполнение ячеек в столбце опционально. Вы можете изучить примеры отображения цены, если страна не указана.Currency — код валюты в формате ISO 4217.Amount — цена товара. Используйте точку в качестве разделителя для десятичных знаков.IsDefault — является ли ценой в валюте по умолчанию. Укажите:1— в строке цены, которая является ценой в валюте по умолчанию. Отображается во всех странах, для которых нет отдельных региональных цен.0— во всех остальных строках. Вы также можете оставить ячейку в столбце IsDefault пустой.
Цена в валюте по умолчанию не должна быть региональной — ячейку в столбце
ПРИМЕР
Пример правильного заполнения (несколько товаров, 3 валюты, региональные цены есть).
Пример неправильного заполнения: несколько товаров, 3 валюты, региональные цены есть.
Ошибка: Группы virtual-item-1 и bundle-1 имеют цены по умолчанию с привязкой к стране US.
При добавлении каждого нового артикула товара необходимо задать цену в валюте по умолчанию. Если ее не указать, при импорте цен из файла отобразится ошибка.
ПРИМЕР
Пример правильного заполнения (несколько товаров, 3 валюты, региональные цены есть).
Пример неправильного заполнения (несколько товаров, 3 валюты, региональные цены есть).
Ошибка: Группы virtual-item-1 и bundle-1 не имеют цены по умолчанию.
Platform — артикул платформы. Используется, если вы задаете региональные цены игровых ключей. Не используется для других товаров.
Доступные платформы.
Артикул платформы Название платформы steam Steam playstation PlayStation xbox Xbox uplay Uplay origin Origin drmfree DRM Free gog GOG epicgames Epic Games Store nintendo_eshop Nintendo Switch eShop discord_game_store Discord Game Store oculus Oculus viveport Viveport stadia Google Stadia
Игровые ключи с одинаковыми артикулами, но с разными платформами – это разные товары. Необходимо, чтобы у каждого такого товара была указана цена в валюте по умолчанию.
ПРИМЕР
Пример правильного заполнения (несколько игровых ключей, 3 валюты, региональные цены есть, 2 платформы).
Пример неправильного заполнения (несколько игровых ключей, 3 валюты, региональные цены есть, 2 платформы).
Ошибка 1: некорректный порядок сгруппированных по SKU и Platform сущностей, из-за чего вместо трех сущностей, будет найдено девять.
Ошибка 2: группы 3,4,5,6 не имеют цены по умолчанию из-за неправильной группировки.
Ошибка 3: группа 9 перезапишет данные группы 7, поскольку они передают полный набор цен по одной и той же сущности. В итоге игровой ключ game-key-2 для платформы playstation после импорта будет иметь только цену в валюте MYR.
Примеры заполнения файла и возможные ошибки
Примеры правильного заполнения CSV файла для импорта:
Примеры неправильного заполнения CSV файла для импорта:
Импорт из файла
Чтобы выполнить импорт цен из файла:
- Откройте проект в Личном кабинете.
- В боковом меню нажмите Каталог товаров и перейдите в раздел с любым типом товара.
- Нажмите Импортировать цены.
- В окне импорта вы можете скачать шаблон файла и заполнить его.
- Загрузите заполненный файл в соответствующее поле в окне импорта.
- Если при импорте возникнут ошибки, в окне импорта отобразится список этих ошибок и рекомендаций по исправлению. Внесите необходимые изменения в файл и загрузите его снова.
После успешной загрузки для товаров с указанными артикулами будут обновлены региональные цены в соответствии с ценами в файле. При этом цены, указанные ранее, будут удалены.
Example:
Для товара в Личном кабинете указано несколько цен в разных валютах и несколько региональных цен. В импортируемом файле — только одна цена в EUR. После импорта файла для этого товара в Личном кабинете будет указана только одна цена в EUR.
Дополнительно вы можете задать региональные цены при импорте товаров через метод API Импорт из JSON-файла.
Настройка через методы API
Чтобы настроить региональные цены через методы API, передайте массив объектов с настройками цен для стран в:
- методы создания и обновления виртуальных предметов;
- методы создания и обновления виртуальной валюты;
- методы создания и обновления пакетов виртуальной валюты;
- методы создания и обновления бандлов;
методы создания и обновления пакетов игровых ключей.
- json
1"prices": [
2 {
3 "amount": 100,
4 "currency": "USD",
5 "is_enabled": true,
6 "is_default": true
7 },
8 {
9 "amount": 200,
10 "currency": "CZK",
11 "country_iso": "CZ",
12 "is_enabled": false,
13 "is_default": false
14 }
15]
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.

