Перейти к содержимому

Введение

  • Версия: 2.0.0
  • Серверы:
    • https://api.xsolla.com/api

Pay Station позволяет вам монетизировать игру, предоставляя пользователям удобный интерфейс для оплаты покупок во внутриигровом магазине. Чтобы настроить открытие платежного интерфейса, следуйте инструкции.

В Pay Station API представлены следующие группы методов:

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

Подробные сведения о настройке платежного интерфейса приведены в руководстве по интеграции решения Payments.

Примечание

Вы также можете использовать раздел Xsolla Base API из коллекции Postman, чтобы протестировать методы, необходимые для интеграции.

Скачать описание OpenAPI
Языки
Серверы
Mock server
https://xsolla.redocly.app/_mock/ru/api/pay-station/
https://api.xsolla.com/merchant/v2/
Операции
Операции
Операции

Запрос

Список финансовых отчетов за указанный период времени.

Внимание

Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.

Безопасность
basicAuth
Путь
merchant_idintegerобязательный

ID продавца.

Запрос
datetime_fromstring(datetime)обязательный

Начало периода в формате ГГГГ-ММ-ДД. Не обязателен, если передан хотя бы один из следующих параметров:

  • transfer_id;
  • report_id.

Пример: datetime_from=2023-02-08
datetime_tostring(datetime)обязательный

Конец периода в формате ГГГГ-ММ-ДД. Не обязателен, если передан хотя бы один из следующих параметров:

  • transfer_id;
  • report_id.
Диапазон дат между datetime_from и datetime_to не может превышать 92 дня.

Пример: datetime_to=2023-03-08
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/pay-station/merchants/{merchant_id}/reports?datetime_from=2023-02-08&datetime_to=2023-03-08'

Ответы

OK.

Телоapplication/json
Ответ
application/json
[ { "agreement_document_id": "Organization Inc_RUB", "currency": "RUB", "is_direct_payout": false, "is_draft_by_agreement": true, "month": "January", "report_id": 57613, "year": 2019 }, { "agreement_document_id": "Organization Inc_EUR", "currency": "USD", "is_direct_payout": false, "is_draft_by_agreement": true, "month": "January", "report_id": 57619, "year": 2019 } ]

Запрос

Возвращает список с подробной информацией об успешных и отмененных транзакциях за указанный период. В ответе вы получите данные о платежах, включая информацию о комиссиях, налогах, а также о заказе и пользователе. Список доступен в формате JSON или CSV. Вы можете использовать этот метод API для финансовой сверки.

Внимание

Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.

Безопасность
basicAuth
Путь
merchant_idintegerобязательный

ID продавца.

formatstringобязательный

Формат данных.

Перечисление"json""csv""xls"
Запрос
datetime_fromstring(datetime)обязательный

Начало периода в формате ГГГГ-ММ-ДД. Не обязателен, если передан хотя бы один из следующих параметров:

  • transfer_id;
  • report_id.

Пример: datetime_from=2023-02-08
datetime_tostring(datetime)обязательный

Конец периода в формате ГГГГ-ММ-ДД. Не обязателен, если передан хотя бы один из следующих параметров:

  • transfer_id;
  • report_id.
Диапазон дат между datetime_from и datetime_to не может превышать 92 дня.

Пример: datetime_to=2023-03-08
in_transfer_currencyintegerобязательный

Получение финансовых данных в валюте выплаты (по умолчанию используется валюта способа оплаты). Не обязателен, если передан хотя бы один из следующих параметров:

  • transfer_id;
  • report_id.

show_totalboolean

Включать ли в отчет итоговые данные по транзакциям. Доступно только для выгрузки в формате CSV. По умолчанию true.

merchant_of_recordsstring or null

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

Перечисление ЗначениеОписание
merchant

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

xsolla

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

project_idinteger

ID проекта.

show_dry_runboolean

Должны ли в ответе быть тестовые платежи.

transfer_idinteger

ID выплаты.

report_idinteger

ID финансового отчета.

offsetinteger

Номер элемента, с которого выполняется вывод на странице (нумерация ведется с 0).

limitinteger

Лимит количества отображаемых транзакций на странице. Если передан этот параметр, параметры datetime_from и datetime_to передавать не нужно.

statusstring

Статус транзакции.

Перечисление"done""canceled""error""refunded"
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/pay-station/merchants/{merchant_id}/reports/transactions/registry.{format}?datetime_from=2023-02-08&datetime_to=2023-03-08&in_transfer_currency=0&show_total=true&merchant_of_records=xsolla&project_id=0&show_dry_run=true&transfer_id=0&report_id=0&offset=0&limit=0&status=done'

Ответы

Список транзакций успешно получен.

Телоapplication/jsonArray [
payment_detailsobject

Информация о платеже.

purchaseobject

Информация о заказе.

transactionobject

Информация о транзакции.

userobject

Объект с информацией о пользователе.

user_balanceobject

Баланс пользователя.

]
Ответ
application/json
[ { "payment_details": {}, "purchase": {}, "transaction": {}, "user": {}, "user_balance": {} } ]

Запрос

Возвращает список транзакций на основе параметров поиска. В ответе вы получите данные о всех платежах, совершенных в вашей игре, даже если они не были завершены успешно. Вы можете указать не только период выполнения транзакции, но и другие параметры, например, чтобы найти транзакции определенного пользователя или в определенном статусе платежа. Список будет доступен в формате JSON или CSV.

Внимание

Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.

Безопасность
basicAuth
Путь
merchant_idintegerобязательный

ID продавца.

formatstringобязательный

Формат данных.

Перечисление"json""csv""xls"
Запрос
datetime_fromstring(datetime)

Начало периода.

datetime_tostring(datetime)

Конец периода.

project_idinteger

ID проекта.

transaction_idinteger

ID транзакции.

typestring

Тип транзакций, которые появляются в результатах поиска.

Перечисление ЗначениеОписание
all

Все транзакции.

canceled

Отмененные транзакции, исключая тестовые.

test

Тестовые транзакции.

transferred

Успешные транзакции, исключая тестовые.

phonestring

Номер телефона пользователя (в международном формате).

user_idstring

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

user_namestring

Имя пользователя.

user_customstring

Дополнительный параметр идентификации пользователя.

emailstring<= 100 characters

Email пользователя.

external_idstring

Идентификатор транзакции в игре. Должен быть уникальным для каждого платежа пользователя.

order_idinteger

ID заказа. Вы можете использовать его при вызове метода API Получение заказа.

Пример: order_id=1234
offsetinteger

Номер элемента, с которого выполняется вывод на странице (нумерация ведется с 0).

limitinteger

Лимит количества элементов на странице.

statusstring(status.enum)

Статус транзакции.

Перечисление ЗначениеОписание
awaitingRefund

Транзакция ожидает решения по возврату платежа. После того как пользователь запросил возврат, служба поддержки Xsolla вручную обрабатывает запрос и принимает решение по возврату.

canceled

Возможны два случая:

  • Транзакция была отменена на стороне платежной системы. Например, в случае, когда у пользователя оказалось недостаточно средств на счету.
  • Платеж был возвращен пользователю.
created

Транзакция инициирована пользователем, но еще не прошла обработку.

done

Транзакция обработана успешно.

error

При обработке транзакции произошла ошибка. Такие платежи могут быть возвращены пользователю при обращении в службу поддержки Xsolla.

partiallyRefunded

Пользователь получил частичный возврат платежа.

processing

Транзакция находится в обработке.

refunded

Выполнен возврат платежа на Xsolla-баланс пользователя.

review

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

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/pay-station/merchants/{merchant_id}/reports/transactions/search.{format}?datetime_from=string&datetime_to=string&project_id=0&transaction_id=0&type=all&phone=string&user_id=string&user_name=string&user_custom=string&email=string&external_id=string&order_id=1234&offset=0&limit=0&status=created'

Ответы

OK.

Телоapplication/json
Ответ
application/json
[ { "payment_details": {}, "payment_system": {}, "purchase": {}, "transaction": {}, "user": {} } ]

Быстрый поиск транзакций

Запрос

Быстрое получение списка транзакций на основе параметров поиска в течение нескольких секунд. Альтернатива методу API Поиск транзакций, который возвращает результаты поиска в формате JSON, CSV или XLS.

Внимание

Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.

Безопасность
basicAuth
Путь
merchant_idintegerобязательный

ID продавца.

Запрос
transaction_idinteger

ID транзакции. Обязательно передайте либо данный параметер, либо external_id, но не оба сразу.

external_idstring

ID транзакции в игре, уникальный для каждого платежа. Обязательно передайте либо данный параметер, либо transaction_id, но не оба сразу.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/pay-station/merchants/{merchant_id}/reports/transactions/simple_search?transaction_id=0&external_id=string'

Ответы

Список транзакций успешно получен.

Телоapplication/jsonArray [
payment_detailsobject

Информация о платеже.

transactionobject

Информация о транзакции.

userobject

Объект с информацией о пользователе.

]
Ответ
application/json
[ { "payment_details": {}, "transaction": {}, "user": {} } ]

Детализация выплат по валютам

Запрос

Получение детализации выплат по валютам.

Внимание

Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.

Безопасность
basicAuth
Путь
merchant_idintegerобязательный

ID продавца.

Запрос
datetime_fromstring(datetime)

Начало периода.

datetime_tostring(datetime)

Конец периода.

legal_entity_idinteger

Уникальный ID юридического лица разработчика.

statusstring

Статус транзакции.

Перечисление"done""canceled""error""refunded"
curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/pay-station/merchants/{merchant_id}/reports/transactions/summary/transfer?datetime_from=string&datetime_to=string&legal_entity_id=0&status=done'

Ответы

OK.

Телоapplication/json
Ответ
application/json
[ { "DirectTaxesOfPayments": 0.46, "IsoCurrency": "RUB", "PaymentsAmount": 223679.84, "SumCommissionAgent": 11329.58, "SumCommissionUserTaxes": 153.67, "SumItems": 571325.13, "SumNominalSum": 214792.98, "SumOutProject": 551096.13, "SumPayoutSum": 193316.71, "TaxesOfPayments": 171.56 }, { "DirectTaxesOfPayments": 0.14, "IsoCurrency": "USD", "PaymentsAmount": 482.58, "SumCommissionAgent": 77.51, "SumCommissionUserTaxes": 0.07, "SumItems": 243777.62, "SumNominalSum": 493.09, "SumOutProject": 241787.62, "SumPayoutSum": 462.62, "TaxesOfPayments": 0.14 }, { "DirectTaxesOfPayments": 0.07, "IsoCurrency": "EUR", "PaymentsAmount": 608.2, "SumCommissionAgent": 55.71, "SumCommissionUserTaxes": 90.94, "SumItems": 156238.62, "SumNominalSum": 607.26, "SumOutProject": 156158.62, "SumPayoutSum": 460.8, "TaxesOfPayments": 90.94 } ]

Информация о транзакции

Запрос

Полная информация о транзакции по ID.

Внимание

Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.

Безопасность
basicAuth
Путь
merchant_idintegerобязательный

ID продавца.

transaction_idintegerобязательный

ID транзакции.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/pay-station/merchants/{merchant_id}/reports/transactions/{transaction_id}/details'

Ответы

Информация о транзакции успешно получена.

Телоapplication/jsonArray [
customer_detailsobject
finance_detailsobject
payment_detailsobject
subscription_detailsobject
transaction_detailsobject
]
Ответ
application/json
[ { "customer_details": {}, "finance_details": {}, "payment_details": {}, "subscription_details": {}, "transaction_details": {} } ]

Запрос

Получение списка выплат за определенный период.

Внимание

Этот метод API не включает в себя path-параметр project_id, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.

Безопасность
basicAuth
Путь
merchant_idintegerобязательный

ID продавца.

Запрос
datetime_fromstring(datetime)

Начало периода.

datetime_tostring(datetime)

Конец периода.

legal_entity_idinteger

Уникальный ID юридического лица разработчика.

statusstring

Статус выплаты.

Перечисление ЗначениеОписание
hold

Ожидание запроса на обработку выплаты.

paid

Выплата совершена.

ready

Выплата в процессе.

curl -i -X GET \
  -u <username>:<password> \
  'https://xsolla.redocly.app/_mock/ru/api/pay-station/merchants/{merchant_id}/reports/transfers?datetime_from=string&datetime_to=string&legal_entity_id=0&status=hold'

Ответы

OK.

Телоapplication/json
Ответ
application/json
[ { "canceled": 0, "payout": {}, "rate": 1, "transfer": {} } ]
Операции
Операции