# 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>

# Xsolla Business Accounts {% #business-accounts %}

Business Account is the primary tool for configuring Xsolla features, as well 
as for working with analytics and transactions.

Xsolla develops tools for different business categories. To simplify 
navigation, these tools are grouped into separate accounts by target audience:

* [mobile games](https://xsolla.com/for/mobile-games/account/)

* [free-to-play PC games](https://xsolla.com/for/free-to-play-pc/account/)

* [premium PC games](https://xsolla.com/for/premium-pc-games/account/)

* [web games](https://xsolla.com/for/web-games/account/)

<div class="note">
<p><strong>Примечание</strong></p><p><a href="https://publisher.xsolla.com/">Publisher Account</a> is a legacy tool.</p>
</div>


Version: 2.0

## Servers

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

## Security

### basicAuth

Xsolla API uses basic access authentication. All requests to the API must 
contain the `Authorization: Basic <your_authorization_basic_key>` header, where 
`<your_authorization_basic_key>` is the `merchant_id:api_key` or 
`project_id:api_key` pair encoded according to the Base64 standard.

Go to your [account](/ru/api/pay-station/business-accounts/) to find these 
parameters:

- `project_id` is shown:
  - Next to the project name when you click it in the account header.
  - In the URL of any account page. The URL has the following format: 
    `https://xsolla.com/for/<business-account-
    type>/account/<merchant_id>/projects/<project_id>/`.
- `merchant_id` отображается:
  - In the **Company settings > General info** section.
  - In the URL of any account page. The URL has the following format: 
    `https://xsolla.com/for/<business-account-type>/account/<merchant_id>/`.
- `api_key` is shown in your account only once when it is created and must be 
  stored on your side. You can create a new key in the following sections:
  - **Settings > API keys** (in this section, you can create an API key only for a 
    particular project).
  - **Company settings > API keys** (in this section, you can create an API key 
    that will be applied to all projects in a particular company).

For more information about working with API keys, see the [API reference](/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 указывается, 
какие именно параметры были переданы неверно.

By default, the token lifetime is 24 hours. If you want to change this value, 
contact your Customer Success Manager or send an email to csm@xsolla.com. The new value will be enabled 
for all your company’s projects created in the account.


ВниманиеТокен, полученный в результате вызова этого метода, используется только для авторизации других запросов. Вы можете использовать этот токен для открытия платежного интерфейса, если у вас подключен продукт 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) в тестовом окружении:

- To access the sandbox mode, pass "mode":"sandbox" when you [get the 
  token](/ru/api/pay-station/operation/create-token/).

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

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

- Your role in the account has to be at least Financial manager. (You can 
  find it in the Settings > Members section.)

- Refer to the instructions for more information 
  about this testing scenario.


ПримечаниеRefer to the documentation for more information about other testing scenarios.

