# Pay Station API

# Введение {% #overview %}

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

Pay Station позволяет вам монетизировать игру, предоставляя пользователям 
удобный интерфейс для оплаты покупок во внутриигровом магазине. Чтобы настроить 
открытие платежного интерфейса, следуйте [инструкции](/ru/doc/pay-station/how-to/how-to-open-payment-ui/).

В Pay Station API представлены следующие группы методов:
- Токен — содержит метод для создания токена с любыми параметрами пользователя 
  для дальнейшей обработки платежа через платежный интерфейс.
- [Токенизация](/ru/doc/pay-station/features/tokenization/) — содержит методы для 
  проведения безопасных платежей без открытия платежного интерфейса и 
  непосредственного участия пользователя.
- Отчеты — содержит методы для возвращения информации о транзакциях пользователя, 
  а также создания отчетов и получения детализации выплат по валютам.
- Возврат платежа — содержит методы для создания запросов на отмену платежа и на 
  частичный возврат платежа.
- Тестирование — содержит метод для тестирования процесса чарджбэка.

Подробные сведения о настройке платежного интерфейса приведены в [руководстве 
по интеграции решения Payments](/ru/solutions/payments/integration-guide/integration-flow/).

<div class="note">
<p><strong>Примечание</strong></p><p>Вы также можете использовать раздел <b>Xsolla Base API</b> из <a href="https://github.com/xsolla/xsolla-postman">коллекции Postman</a>, чтобы протестировать методы, необходимые для интеграции.</p>
</div>


Version: 2.0

## Servers

```
https://api.xsolla.com/merchant/v2
```

## Security

### basicAuth

Xsolla API использует базовую аутентификацию. Все запросы к API должны 
содержать заголовок `Authorization: Basic <your_authorization_basic_key>`, где 
`<your_authorization_basic_key>` — пара `merchant_id:api_key`, закодированная 
по стандарту Base64.

Значения параметров вы можете найти в [Личном 
кабинете](https://publisher.xsolla.com/):

- `merchant_id` отображается:
  - В разделе **Настройки компании > Компания**
  - В URL-адресе в адресной строке браузера на любой странице учетной записи 
    издателя. URL-адрес имеет следующий формат: 
    `https://publisher.xsolla.com/<merchant_id>`.
- `api_key` отображается в Личном кабинете только при создании и должен храниться 
  на вашей стороне. Создать ключ можно в разделах:
  - **Настройки компании > Ключи API**
  - **Настройки проекта > Ключи API**

Подробная информация о работе с ключами API приведена в [справочнике 
API](https://developers.xsolla.com/ru/api/getting-started/#api_keys_overview).


Type: http
Scheme: basic

## Download OpenAPI description

[Pay Station API](https://xsolla.redocly.app/_bundle/@l10n/ru/api/pay-station/index.yaml)

## Токен

### Создание токена

 - [POST /merchants/{merchant_id}/token](https://xsolla.redocly.app/ru/api/pay-station/token/create-token.md): Вы можете создать токен с любыми параметрами пользователя. Вы отправляете эти 
параметры Xsolla при создании токена и получаете их обратно после успешной 
оплаты. Токен может содержать только описанные ниже параметры, либо параметры, 
предопределенные вами.

Если какой-либо параметр был передан в некорректном формате, токен не может 
быть выдан. В ответ вернется 422 HTTP код и в JSON объекте в теле ответа будет 
содержаться информация об ошибке. В параметре extended_message указывается, 
какие именно параметры были переданы неверно.

По умолчанию время жизни токена — 24 часа. Если вы хотите изменить это 
значение, обратитесь к персональному менеджеру проекта или напишите на csm@xsolla.com. Новое значение будет 
действовать во всех проектах вашей компании, созданных в Личном кабинете.


ВниманиеТокен, полученный в результате вызова этого метода, используется только для авторизации других запросов. Вы можете использовать этот токен для открытия платежного интерфейса, если у вас подключен продукт Subscriptions.Чтобы открыть платежный интерфейс в новом окне, используйте ссылку: https://secure.xsolla.com/paystation4/?token={token}, где {token} — полученный токен.Для тестирования используйте этот URL-адрес: https://sandbox-secure.xsolla.com/paystation4/?token={token}.





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

### Аннулирование токена

 - [POST /projects/{project_id}/token/{token}/expire](https://xsolla.redocly.app/ru/api/pay-station/token/invalidate-token.md): Аннулирование существующего платежного токена, чтобы запретить его 
использование для открытия платежного интерфейса. Используйте этот метод, чтобы 
предотвратить повторную оплату товаров, доступных в одном экземпляре, при 
параллельных платежных сессиях. После успешного вызова этого метода все 
активные пользовательские сессии с этим токеном становятся недействительными.


ПримечаниеЭтот метод API является идемпотентным, и вы можете вызывать его многократно.

## Токенизация

### Список сохраненных платежных аккаунтов

 - [GET /projects/{project_id}/users/{user_id}/payment_accounts](https://xsolla.redocly.app/ru/api/pay-station/tokenization/get-saved-accounts.md): Загрузка списка сохраненных платежных аккаунтов пользователя.


ПримечаниеДанный метод API в тестовом окружении (sandbox-режиме) работает только с тестовыми картами, у которых нет проверки 3-D Secure.

### Удаление сохраненного платежного аккаунта

 - [DELETE /projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}](https://xsolla.redocly.app/ru/api/pay-station/tokenization/delete-saved-account.md): Удаление сохраненного платежного аккаунта.


ПримечаниеДанный метод API в тестовом окружении (sandbox-режиме) работает только с тестовыми картами, у которых нет проверки 3-D Secure.





ПримечаниеВы можете использовать этот метод API в тестовом окружении (sandbox-режиме). Для этого передайте в запросе данные тестового аккаунта. Подробную информацию об открытии тестового окружения и сценариях тестирования читайте в инструкции.

### Оплата по сохраненному платежному аккаунту

 - [POST /projects/{project_id}/users/{user_id}/payments/{type}/{account_id}](https://xsolla.redocly.app/ru/api/pay-station/tokenization/charge-with-saved-account.md): Оплата по сохраненному платежному аккаунту.


ПримечаниеДанный метод API в тестовом окружении (sandbox-режиме) работает только с тестовыми картами, у которых нет проверки 3-D Secure.





ВниманиеДля корректной работы метода настройте время ожидания 2 минуты.

## Отчеты

### Список отчетов

 - [GET /merchants/{merchant_id}/reports](https://xsolla.redocly.app/ru/api/pay-station/reports/get-reports.md): Список финансовых отчетов за указанный период времени.


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

### Список транзакций

 - [GET /merchants/{merchant_id}/reports/transactions/registry.{format}](https://xsolla.redocly.app/ru/api/pay-station/reports/get-transactions.md): Возвращает список с подробной информацией об успешных и отмененных транзакциях 
за указанный период. В ответе вы получите данные о платежах, включая информацию 
о комиссиях, налогах, а также о заказе и пользователе. Список доступен в 
формате JSON или CSV. Вы можете использовать этот метод API для финансовой 
сверки.


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

### Поиск транзакций

 - [GET /merchants/{merchant_id}/reports/transactions/search.{format}](https://xsolla.redocly.app/ru/api/pay-station/reports/find-transactions.md): Возвращает список транзакций на основе параметров поиска. В ответе вы получите 
данные о всех платежах, совершенных в вашей игре, даже если они не были 
завершены успешно. Вы можете указать не только период выполнения транзакции, но 
и другие параметры, например, чтобы найти транзакции определенного пользователя 
или в определенном статусе платежа. Список будет доступен в формате JSON или 
CSV.


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

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

 - [GET /merchants/{merchant_id}/reports/transactions/simple_search](https://xsolla.redocly.app/ru/api/pay-station/reports/find-transactions-fast.md): Быстрое получение списка транзакций на основе параметров поиска в течение 
нескольких секунд. Альтернатива методу API Поиск транзакций, который возвращает результаты поиска в 
формате JSON, CSV или XLS.


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

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

 - [GET /merchants/{merchant_id}/reports/transactions/summary/transfer](https://xsolla.redocly.app/ru/api/pay-station/reports/get-payouts-breakdown.md): Получение детализации выплат по валютам.


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

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

 - [GET /merchants/{merchant_id}/reports/transactions/{transaction_id}/details](https://xsolla.redocly.app/ru/api/pay-station/reports/get-transaction.md): Полная информация о транзакции по ID.


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

### Список выплат

 - [GET /merchants/{merchant_id}/reports/transfers](https://xsolla.redocly.app/ru/api/pay-station/reports/get-payouts.md): Получение списка выплат за определенный период.


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

## Возврат платежа

### Частичный возврат платежа

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund](https://xsolla.redocly.app/ru/api/pay-station/refund/request-partial-refund.md): Отправка запроса на частичный возврат платежа пользователю. Подробная 
информация о процессе возврата, а также список способов оплаты, которые 
поддерживают оформление частичного возврата, приведены в 
документации.


ПримечаниеВы можете использовать этот метод API в тестовом окружении (sandbox-режиме). Для этого передайте в запросе данные тестового платежа. Подробную информацию об открытии тестового окружения и сценариях тестирования читайте в инструкции.





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

### Возврат платежа

 - [PUT /merchants/{merchant_id}/reports/transactions/{transaction_id}/refund](https://xsolla.redocly.app/ru/api/pay-station/refund/request-refund.md): Отправка запроса на возврат платежа пользователю. Подробнее о процессе возврата 
можно прочитать в инструкции.


ПримечаниеВы можете использовать этот метод API в тестовом окружении (sandbox-режиме). Для этого передайте в запросе данные тестового платежа. Подробную информацию об открытии тестового окружения и сценариях тестирования читайте в инструкции.





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

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

### Возврат платежа (chargeback)

 - [POST /merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback](https://xsolla.redocly.app/ru/api/pay-station/testing/request-chargeback.md): Отправка запроса на отмену платежа (chargeback) в тестовом окружении:

- Чтобы получить доступ к тестовому окружению, передайте параметр 
  "mode":"sandbox" при получении токена.

- Тестовый платеж должен быть совершен в проекте, который вы используете для 
  тестирования.

- Транзакция не должна быть в статусах refunded, cancelled.

- Ваша роль в Личном кабинете должна быть как минимум Финансовый менеджер. 
  (Вы можете найти эту информацию в разделе Настройки компании > 
  Пользователи.)

- Подробную информацию об этом сценарии тестирования читайте в инструкции.


ПримечаниеО других сценариях тестирования читайте в документации.

