Настройка платежей
Проверка существования пользователя
Что такое User ID?
User ID — это параметр, который позволяет идентифицировать пользователя в игре. Вы можете хранить ID пользователей в базе данных. При получении некорректных ID пользователей генерируйте исключения. Примеры пользовательской валидации вы можете найти в GitHub-репозитории.
Какие данные надо возвращать после валидации?
При успешной валидации вы должны вернуть HTTP-код 200. В случае ошибки — код 400 (INVALID_USER).
Кастомизация
Могу ли я изменить оформление платежного интерфейса?
Вы можете изменить стандартную тему на темную, передав в токене параметр settings.ui.theme = default_dark. Темная тема позволяет установить фоновое изображение или изменить цвет фона (как, например, в демо). Чтобы изменить другие настройки, обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.
Могу ли я изменить оформление писем, отправляемых пользователю?
Да, для этого воспользуйтесь инструкцией по кастомизации писем. Обратите внимание, что разделы письма являются частью стандартного шаблона и их порядок не меняется. Это обязательное условие Лицензионного договора с Xsolla, которая выступает в качестве зарегистрированного получателя платежа.
Тестирование
Могу ли я использовать тестовую банковскую карту для проверки платежа?
Да, но только в тестовом окружении вашего приложения и демоверсии платежного интерфейса с включенным тестовым окружением (sandbox-режимом). Вы можете найти тестовые банковские карты разных брендов и стран выпуска в общем списке.
Могу ли я протестировать платеж через PayPal в тестовом окружении?
Да. Изучите подробную информацию в инструкции.
Как я могу протестировать возврат платежа?
С помощью API-метода Возврат платежа. Изучите подробную информацию в инструкции.
Что такое ID заявки в Xsolla и Invoice ID на вкладке тестирования вебхуков в Личном кабинете?
ID заявки в Xsolla — ID транзакции на стороне Xsolla. При тестировании вы можете указать любое числовое значение.
Invoice ID — это необязательный ID транзакции на стороне вашей игры. При тестировании вы можете указать любую комбинацию букв и цифр.
Платежи
Как я могу проверить валидность запроса на оплату, полученного в вебхуке?
Проверьте, существует ли указанный ID пользователя в проекте. Чтобы подтвердить платеж, отправьте код 200.
Могу ли я сразу перенаправить пользователя на определенный способ оплаты?
При открытии магазина вы можете передавать ID способа оплаты в параметре settings.payment_method. В этом случае пользователь сразу перенаправляется на платежную форму выбранного способа оплаты. Список ID способов оплаты можно получить в Личном кабинете в разделе Платежи > Способы оплаты.
Могу ли я сразу перенаправить пользователя на страницу успешной/ошибочной транзакции сразу после обработки платежа в зависимости от результата?
Да, вы можете настроить условия редиректа. Изучите подробную информацию в инструкции.
В моем биллинге номеру заказа присваивается order_id. Можно ли использовать order_id вместо user_id при получении токена?
Нет, для корректной работы требуется user_id.
Вы можете передать order_id дополнительно в параметре external_id. Для этого:
- В проекте в Личном кабинете перейдите в раздел Платежи > Платежный интерфейс > Настройки.
- В блоке Дополнительные настройки установите переключатель External ID транзакции в положение Вкл.
Можно ли переопределять URL-адрес вебхука для каждой транзакции?
URL-адрес вебхука указывается в настройках проекта в Личном кабинете и используется для всех транзакций.
Буду ли я получать данные о неуспешных транзакциях?
Xsolla отправляет вебхуки только в случае успешной покупки. Если вы получили уведомление о платеже, транзакция прошла успешно.
Какая платежная опция позволяет добавлять VAT к общей сумме платежа?
По умолчанию настройки покрытия VAT выполняются на стороне Xsolla. Если вы хотите изменить настройки и удерживать VAT с пользователей, обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com.Что такое PID?
PID — ID платежной системы в Xsolla.
Что такое внешний ID?
Внешний ID — это ID транзакции в игре, который присваивается заказу в вашей системе. На стороне Xsolla внешний ID связан с ID транзакции, поэтому наличие внешнего ID позволяет Xsolla предотвращать повторную оплату одной и той же транзакции.
“external_id”: “1”, вы не можете совершить реальный платеж с “external_id”: “1”.- Откройте проект в Личном кабинете и перейдите в раздел Настройки проекта > Настройки интеграции.
- В разделе Платежи установите необходимые флажки:
- Использовать внешний ID — чтобы сделать валидацию внешнего ID обязательной при создании токена.
- Пропустить проверку внешнего ID — чтобы отключить валидацию внешнего ID при создании токена.
- Нажмите Сохранить.
При включенной настройке Использовать внешний ID тестирование оплаты через Личный кабинет невозможно. Для корректного проведения тестовых платежей временно отключите использование внешнего ID.
Нужно ли создавать новый внешний ID для каждой транзакции?
Да. Внешний ID должен быть уникальным для каждого платежа пользователя.
Какое значение установить для команды setExternalPaymentId?
Укажите для команды setExternalPaymentId то же значение, что и для external_id, если он у вас есть.
Что такое прямые аккаунты?
Прямые аккаунты позволяют отображать в платежном интерфейсе платежные системы, с которыми у вас заключен прямой договор. Игроки по-прежнему оплачивают покупки выбранными ими способом, а вы получаете выплаты напрямую от платежных систем. Чтобы подключить прямые аккаунты, откройте свой проект в Личном кабинете и перейдите в раздел Платежи > Настройки платежей > Прямые аккаунты.
Xsolla выступает поставщиком услуг и взимает сниженный процент revenue share: 1.25% от суммы транзакции + $0.10. Вы будете иметь полноценный доступ ко всем решениям Xsolla, но при этом обязуетесь самостоятельно:
- контролировать уплату налогов;
- заключать отдельный договор с каждой платежной системой;
- производить взаиморасчеты с платежными системами;
- контролировать уплату комиссий платежных систем, возвраты платежей, возврат средств, комиссии с выплат и расходы на оперирование.
Например, если вы уже сотрудничаете с PayPal и хотите проводить платежи напрямую, вы можете подключить прямой аккаунт. Платежный интерфейс при этом не изменится — изменится только процесс перевода выплат. После обработки платежа средства, поступившие от конечного пользователя, переводятся на ваш аккаунт PayPal. В данном случае выплаты производятся без участия Xsolla.
Как мне перенести в Xsolla данные пользователей (сохраненные платежные аккаунты, подписки и т. д.)?
Обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com. Используйте PGP-шифрование, чтобы обеспечить конфиденциальность данных.
Параметры PGP-ключа Xsolla:
- ID ключа: FBA38225
- Тип ключа: RSA
- Длина ключа: 4096
- Уникальный отпечаток: 4D63 4B67 B265 5464 D39D 7228 67B0 672A FBA3 8225
- ID пользователя: admins@xsolla.com
1-----BEGIN PGP PUBLIC KEY BLOCK-----
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
49=7AyM
50-----END PGP PUBLIC KEY BLOCK-----
Как определяется страна пользователя?
Когда вы используете клиентский метод API для формирования платежного токена, Xsolla определяет страну пользователя по IP-адресу запроса.
Когда вы используете серверный метод API для формирования платежного токена, страна определяется путем последовательной проверки:
- значения параметра
user.country.valueиз тела запроса; - IP-адреса из заголовка
X-User-Ip.
Если не передано ни одно из этих значений, возникнет ошибка. Если переданы оба значения, будет использоваться информация из тела запроса.
Нашли опечатку или ошибку в тексте? Выделите ее и нажмите Ctrl+Enter.