Частые вопросы

Если вы не нашли ответ здесь, свяжитесь с нами через другие каналы:
  • LiveChat
  • Email (integration@xsolla.com)
  • Ваш аккаунт-менеджер
  • Специалист по интеграции в Basecamp
Руководство по интеграции службы поддержки клиентов (PDF)
Узнайте о вариантах интеграции с нашей службой поддержки клиентов.

Интеграция

Как открыть платежный интерфейс внутри iframe?

Мы рекомендуем открывать платежный интерфейс в lightbox c помощью скрипта Pay Station Embed. При использовании данного способа вы получаете следующие возможности:

  • Автоматическое определение размера платежного интерфейса и типа устройства (desktop или mobile)
  • Автоматическая отправка событий от платежного интерфейса
  • Смена оформления.

Если вы хотите открывать платежный интерфейс внутри iframe, необходимо:

  • Реализовать определение типа устройства (desktop или mobile) и передачу значения в токене в параметре settings.ui.version.
  • Реализовать механизм postMessage для получения событий от платежного интерфейса.
  • Получить токен.
  • Передать в токене размер платежного интерфейса:

Размер платежного интерфейсаШирина iframe
large (используется по умолчанию)670–850 px
medium590–740 px
small510–630 px

Для открытия платежного интерфейса внутри iframe используется ссылка https://secure.xsolla.com/paystation3/?access_token=ACCESS_TOKEN, где ACCESS_TOKEN — это токен платежного интерфейса.

Какие IP-адреса необходимо добавить в белый список для настройки оповещений?

Вы должны принимать и обрабатывать оповещения со следующих IP-адресов: 185.30.20.0/24, 185.30.21.0/24.

Как добавить к способам оплаты paysafecard?

Чтобы добавить новый способ оплаты, напишите нам на integration@xsolla.com.

У вас есть SDK под Node.JS/C#/Ruby/Java/ASP и т.п.?

Сейчас у нас есть SDK под PHP и Android. Но вы можете создать собственный SDK под любой язык/платформу, где можно отправлять HTTPS-запросы.

Почему PHP-библиотека не работает на нашем сайте?

Убедитесь, что вы установили все необходимые файлы и верно указали все относительные пути. Более подробные инструкции по установке есть в нашем GitHub-репозитории.

Проверка существования пользователя

Что такое User ID? Как нам валидировать пользователей?

User ID — это способ идентифицировать пользователя в игре. Вы можете хранить ID пользователей в базе данных. Если используется неверный User ID, вы должны сгенерировать исключение. Примеры пользовательской валидации можно найти в нашем GitHub-репозитории.

Какие данные надо возвращать после валидации? Например, что нужно вернуть, если валидация прошла успешна? И если нет?

При успешной валидации вы должны вернуть HTTP-код 200. В противном случае — код 400 с кодом ошибки INVALID_USER.

Настройки проекта

Нужно ли создавать отдельные проекты для каждой среды - qa, staging, production?

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

В чем разница между секретным ключом, ключом проекта и ключом API?

Секретный ключ и ключ проекта — это одно и то же. Он используется для формирования цифровой подписи, необходимой для проведения платежей. Мы конкатенируем JSON-тело запроса с этим ключом, а затем хешируем результат при помощи SHA-1. Ключ API един для всех проектов вашего аккаунта. Он используется для запросов к серверу Иксоллы. Ключ API должен храниться на вашем сервере и никогда — в ваших бинарных файлах или на фронтенде.

В чем разница между URL оповещений и URL возврата?

URL оповещений — это адрес вашего вебхук-сервера. URL возврата — это адрес, на который попадает пользователь после завершения платежа.

Где найти ID проекта/продавца/паблишера?

ID проекта — это число рядом с названием проекта в вашем Личном кабинете. Его можно определить по URL: https://publisher.xsolla.com/{merchant_id}/projects/{project_id}/. ID продавца и ID паблишера — это по сути одно и то же. Его также можно определить по URL: https://publisher.xsolla.com/{merchant_id}/

Где мне найти ключ API?

Чтобы создать ключ API, перейдите в Личный кабинет > Настройки компании > Ключ API.

Настройки проектов Buycraft

Где найти ID проекта/продавца и секретный/API-ключ для проектов Buycraft?

См. руководство.

Что указать как Название игры в разделе Информация о соглашении в настройках Buycraft?

Укажите название вашего сервера.

Настройки оповещений

Необходимо ли для оповещений использовать HTTPS?

Да — Иксолла API использует базовую HTTP-аутентификацию.

Почему ваше оповещение не пришло на URL для оповещений?

Убедитесь, что вы передаете все необходимые файлы, и что ваш вебхук-сервер поддерживает необходимые виды вебхук-запросов.

Почему оповещения не приходят на мое мобильное приложение?

Вебхуки отправляются только на один URL-адрес — тот, что указан в настройках проекта. Будучи сервер-серверными, они не могут уходить сразу на несколько URL. Если вы хотите получать оповещения в вашей игре, сайте или мобильном приложении, вам нужно настроить рассыльщик на собственном сервере. Он будет пересылать данные между Иксоллой и игрой.

Кастомизация

Можно ли изменить оформление платежного интерфейса?

Вы можете изменить стандартную тему на тёмную, передав в токене параметр settings.ui.theme = default_dark. Тёмная тема позволяет установить фоновое изображение или изменить цвет фона (пример). Чтобы изменить другие настройки, обратитесь к аккаунт-менеджеру проекта.

Можно ли изменить оформление писем, отправляемых пользователю?

Чтобы изменить цветовое оформление писем, обратитесь к аккаунт-менеджеру проекта. Обратите внимание, что элементы письма являются частью стандартного шаблона и их расположение не должно меняться. Это обязательное условие лицензионного соглашения с компанией Иксолла, которая выступает в качестве зарегистрированного получателя платежа.

Тестирование

Могу ли я воспользоваться тестовой картой для проверки платежа?

Да, в тестовом окружении вы можете использовать одну из тестовых карт.

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

В данный момент тестирование платежа PayPal в тестовом окружении не реализовано.

Как протестировать возврат платежа?

Возврат платежа можно выполнить с помощью метода API или через Личный кабинет в разделе Поддержка > Поиск транзакций.

Что такое Номер заявки в Иксолле и Номер заявки на вкладке Тестирование?

Номер заявки в Иксолле — ID транзакции на стороне Иксоллы. Номер заявки — это необязательный ID транзакции на стороне вашей игры. При тестировании можно указать любое значение.

Почему у нас не получается пройти тестирование для проекта Buycraft?

Партнеры по Buycraft будут получать ответ INVALID_SIGNATURE, если в аккаунте Buycraft введены неверные ключ API, ID продавца, ID проекта или секретный ключ.

Платежи

Как проверить валидность запроса на оплату, полученного в оповещении?

Проверьте, существует ли указанный ID пользователя в вашем проекте, и отправьте код 200 для подтверждения платежа.

Могу ли я проверить, какой платежный аккаунт использовался последним?

В данный момент такая проверка не реализована.

Возможно ли сразу перенаправить пользователя на определенный способ оплаты?

При открытии магазина вы можете передавать id способа оплаты в параметре settings.payment_method. В этом случае пользователь сразу перенаправляется на платежную форму выбранного способа оплаты. Список id способов оплаты можно получить в Личном кабинете в разделе Способы оплаты или с помощью метода Список способов оплаты.

Возможно ли автоматическое перенаправление на страницу успешной/ошибочной транзакции сразу после обработки платежа в зависимости от результата?

Да, вы можете перейти в настройки продукта Платежи в Личном кабинете и задать условия редиректа.

В нашем биллинге номеру заказа присваивается order_id. Можно ли использовать order_id вместо user_id при получении токена?

Вы можете передавать значение order_id в параметре external_id. Чтобы включить данную возможность, перейдите в настройки платежного интерфейса и установите переключатель External ID в положение Вкл.

Можно ли переопределять URL-адрес оповещений для каждой транзакции?

URL-адрес оповещений указывается в настройках Личного кабинета и определяется для всех транзакций.

Отправляете ли вы данные о неуспешных транзакциях?

Мы отправляем оповещение только в случае успешной покупки. Если вы получили уведомление о платеже, транзакция прошла успешно.

Какая платежная опция позволяет добавлять VAT к общей сумме платежа?

Настройки покрытия VAT выполняются на стороне Иксоллы. Если вы хотите удерживать VAT с пользователя, а не платить самостоятельно, как это настроено сейчас, обратитесь к аккаунт-менеджеру проекта для изменения настроек.

Что такое PID?

PID — идентификатор платежной системы в Иксолле.

Как я могу обновить баланс виртуальной валюты пользователя?

Вы можете использовать API метод Изменение баланса.

Внешний ID — это какой-то кастомный идентификатор нашей игры/платформы? Нужно ли создавать новый внешний ID для каждой транзакции?

Внешний ID — это идентификатор инвойса на стороне ваших систем. Каждому платежу соответствует уникальный external_id, поэтому вы должны генерировать его заново для каждого платежа пользователя.

Какое значение установить для команды setExternalPaymentId?

Укажите то же значение, что и для external_id, если он у вас есть.

Как установить purchase.description.value через PHP SDK?

Описание покупки используется в платежном интерфейсе и квитанциях. Вы можете установить значение в токене.

Что такое прямые аккаунты?

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

Иксолла выступает Поставщиком технических услуг и взимает сниженный процент Revenue share: 1.25% + $0.10. Вы будете иметь полноценный доступ ко всем решениям Иксоллы, но при этом обязуетесь самостоятельно:

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

Например, если вы уже сотрудничаете с PayPal и хотите проводить платежи напрямую, вы можете подключить прямой аккаунт. Платежный интерфейс при этом не изменится — изменится только процесс перевода выплат. После обработки платежа средства, поступившие от конечного пользователя, переводятся на ваш аккаунт PayPal. В данном случае выплаты производятся без участия Иксоллы.

Какие способы выплат поддерживаются для проектов Buycraft?

Buycraft-проекты могут получать деньги через PayPal и банковский перевод.

Как мне перенести в Иксоллу данные пользователей (сохраненные платежные аккаунты, подписки и т.д.)?

Для переноса пользовательских данных обратитесь к аккаунт-менеджеру. Используйте PGP-шифрование, чтобы обеспечить их конфиденциальность.

Ошибки

При открытии платежного интерфейса выдается следующая ошибка: 0004-0008. Что это значит?

Это означает, что вы используете неверный URL в тестовом окружении. Если вы хотите совершить реальный платеж, используйте URL secure.xsolla.com. Если платеж тестовый, используйте URL sandbox-secure.xsolla.com. Подробная информация о возможных ошибках доступна в справочнике API.

PHP SDK выдает ошибку INVALID_CLIENT_IP. Что делать?

Для решения проблемы необходимо добавить обратный IP-адрес вашего прокси-сервера на webhook сервер.

Что означают ошибки 2205 и 2207 (user ID error)?

Требуется передать корректный ID пользователя. Убедитесь, что вы используете User ID из вашей базы данных.

Что означает ошибка 1000-0003?

Вам нужно включить соответствующий модуль для проекта. Если речь идет о модуле Чекаут, возможно, вы не указали параметр покупки.

Что означает ошибка 0002-0004?

Вам необходимо подписать соглашение с нами, чтобы начать получать выплаты. Свяжитесь с аккаунт-менеджером или напишите на onboarding@xsolla.com.

Почему в вебхук-запросе нет заголовка Authorization?

Вам надо поправить файлы .htaccess или httpd.conf в Apache. Подробную инструкцию можно найти в документации SDK.

Мне кажется, я не могут получить строку токена из-за проблем с SSL. Обязательна ли SSL-проверка в вашем интерфейсе?

По умолчанию, мы включаем SSL-проверку сертификата и используем сертификаты, предоставленные операционной системой. Подробнее о решении проблем с SSL можно прочитать в документации SDK.