openapi: 3.0.0
info:
  description: >
    # Введение


    * **Версия:** 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>
  title: Pay Station API
  version: '2.0'
servers:
  - url: https://api.xsolla.com/merchant/v2
tags:
  - name: token
    x-displayName: Токен
  - name: tokenization
    x-displayName: Токенизация
  - name: reports
    x-displayName: Отчеты
  - name: refund
    x-displayName: Возврат платежа
  - name: testing
    x-displayName: Тестирование
paths:
  /merchants/{merchant_id}/projects/{project_id}/payments/{transaction_id}/chargeback:
    post:
      description: >
        Отправка запроса на отмену платежа (chargeback) в тестовом окружении:


        - Чтобы получить доступ к тестовому окружению, передайте параметр 
          `"mode":"sandbox"` при [получении токена](https://developers.xsolla.com/ru/api/pay-station/operation/create-token/).

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

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


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

        - Подробную информацию об этом сценарии тестирования читайте в <a 
          href="https://developers.xsolla.com/ru/doc/pay-station/testing/test-one-time-
          purchase-in-
          sandbox/#pay_station_testing_sandbox_bank_card_chargeback">инструкции</a>.

        <div class="note">

        <p><strong>Примечание</strong></p><p>О других сценариях тестирования
        читайте в <a
        href="https://developers.xsolla.com/ru/doc/pay-station/testing/general-info/">документации</a>.</p>

        </div>
      operationId: request-chargeback
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/project-id-path-param'
        - $ref: '#/components/parameters/transaction-id-path-param'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/empty-body'
        required: true
      responses:
        '204':
          description: No Content (Успешный ответ).
        '404':
          description: Транзакция не найдена.
        '422':
          content:
            application/json:
              example:
                message: >-
                  Not test payment. Chargeback is possible only for payments
                  made in sandbox mode.
              schema:
                properties:
                  message:
                    description: >-
                      Возможны следующие варианты ответов:

                      - Error processing chargeback. Try again or use another
                      payment.

                      - Payment not found. Check payment ID.

                      - Payment does not belong to this project.

                      - Not test payment. Chargeback is possible only for
                      payments made in sandbox mode.

                      - Incorrect payment status. Chargeback is possible only
                      for payments with “Completed” status.
                    type: string
                type: object
          description: Unprocessable Entity (Параметры не верны).
      security:
        - basicAuth: []
      summary: Возврат платежа (chargeback)
      tags:
        - testing
      x-server: true
  /merchants/{merchant_id}/reports:
    get:
      description: >
        Список финансовых отчетов за указанный период времени.


        <div class="notice">

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

        </div>
      operationId: get-reports
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/datetime-from-req'
        - $ref: '#/components/parameters/datetime-to-req'
      responses:
        '200':
          content:
            application/json:
              example:
                - 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
          description: OK.
      security:
        - basicAuth: []
      summary: Список отчетов
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/registry.{format}:
    servers:
      - url: https://api.xsolla.com/merchant/v3
    get:
      description: >
        Возвращает список с подробной информацией об успешных и отмененных
        транзакциях 

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

        о комиссиях, налогах, а также о заказе и пользователе. Список доступен
        в 

        формате JSON или CSV. Вы можете использовать этот метод API для
        финансовой 

        сверки.


        <div class="notice">

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

        </div>
      operationId: get-transactions
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/format'
        - $ref: '#/components/parameters/datetime-from-req'
        - $ref: '#/components/parameters/datetime-to-req'
        - $ref: '#/components/parameters/in-transfer-currency'
        - $ref: '#/components/parameters/show-total'
        - $ref: '#/components/parameters/merchant-of-records'
        - $ref: '#/components/parameters/project-id-query-param'
        - $ref: '#/components/parameters/show-dry-run'
        - $ref: '#/components/parameters/transfer-id'
        - $ref: '#/components/parameters/report-id'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit-req'
        - $ref: '#/components/parameters/transaction-status'
      responses:
        '200':
          content:
            application/json:
              example:
                - payment_details:
                    chargebackPenalty:
                      amount: 0
                    commission_agent:
                      amount: 0
                      percent: 0
                    commission_agent_fixed: 0
                    commission_ps:
                      amount: 0
                      fixed_amount: 0
                      percent: 0
                    commission_ps_from_vat:
                      amount: 0
                    commission_user:
                      amount: 0.01
                      percent: 33.33
                    commission_xsolla:
                      amount: 0
                      fixed_amount: 0
                      percent: 5
                    cpa_network_commission:
                      amount: 0
                      percent: 0
                    direct_wht:
                      amount: 0
                      percent: 0
                    payment:
                      amount: 0.03
                      amount_from_ps: 0
                      currency: USD
                    payout:
                      amount: 0.02
                      amount_from_ps: 0
                      currency: RUB
                      fx_rate: 64.1386407767
                      percent: 100
                    refundPenalty:
                      amount: 0
                    repatriation_costs:
                      amount: 0
                      percent: 0
                    sales_tax:
                      amount: 0
                      percent: 0
                    vat:
                      amount: 0
                      percent: 0
                      user_amount: 0
                      user_percent: 0
                  purchase:
                    friend:
                      email: null
                      user_id: null
                    items_amount: 1
                    pin_codes:
                      amount: null
                      content: null
                      currency: null
                    purchase_amount: 0.02
                    simple_checkout:
                      amount: null
                      currency: null
                    subscription:
                      name: null
                      plan_id: null
                      product_id: null
                      product_name: null
                      subscription_id: null
                    virtual_currency:
                      amount: 0.02
                      currency: USD
                    virtual_currency_amount: 1
                    virtual_items:
                      amount: null
                      content: null
                      currency: null
                  transaction:
                    custom_parameters: null
                    direct_account: 0
                    dry_run: 0
                    external_id: null
                    id: 418756634
                    payment_method:
                      class: Digital Payment Methods
                      id: 2760
                      name: Your Balance
                    project:
                      id: 21092
                      name: Smith
                    refund_reason: null
                    refund_reason_comment: null
                    status: done
                    transfer_date: '2019-02-11T13:32:00+03:00'
                  user:
                    country: US
                    custom: null
                    email: email@example.com
                    id: smith123
                    ip: 209.11.22.33
                    marketplace: Pay Station
                    name: Tom
                    phone: null
                  user_balance:
                    payment_currency:
                      deduction_amount: 0
                      payout_amount_from_balance: 0.02
                      purchase_amount_from_balance: 0.02
              schema:
                items:
                  properties:
                    payment_details:
                      description: Информация о платеже.
                      properties:
                        chargebackPenalty:
                          properties:
                            amount:
                              format: float
                              type: number
                          type: object
                        commission_agent:
                          properties:
                            amount:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                          type: object
                        commission_agent_fixed:
                          type: integer
                        commission_ps:
                          properties:
                            amount:
                              format: float
                              type: number
                            fixed_amount:
                              type: integer
                            percent:
                              format: float
                              type: number
                          type: object
                        commission_ps_from_vat:
                          properties:
                            amount:
                              format: float
                              type: number
                          type: object
                        commission_user:
                          properties:
                            amount:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                          type: object
                        commission_xsolla:
                          properties:
                            amount:
                              format: float
                              type: number
                            fixed_amount:
                              type: integer
                            percent:
                              format: float
                              type: number
                          type: object
                        cpa_network_commission:
                          properties:
                            amount:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                          type: object
                        direct_wht:
                          properties:
                            amount:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                          type: object
                        payment:
                          properties:
                            amount:
                              format: float
                              type: number
                            amount_from_ps:
                              type: integer
                            currency:
                              type: string
                          type: object
                        payout:
                          properties:
                            amount:
                              format: float
                              type: number
                            amount_from_ps:
                              format: float
                              type: number
                            currency:
                              type: string
                            fx_rate:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                          type: object
                        refundPenalty:
                          properties:
                            amount:
                              format: float
                              type: number
                          type: object
                        repatriation_costs:
                          properties:
                            amount:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                          type: object
                        sales_tax:
                          properties:
                            amount:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                          type: object
                        vat:
                          properties:
                            amount:
                              format: float
                              type: number
                            percent:
                              format: float
                              type: number
                            user_amount:
                              type: integer
                            user_percent:
                              type: integer
                          type: object
                      type: object
                    purchase:
                      description: Информация о заказе.
                      properties:
                        friend:
                          properties:
                            email:
                              nullable: true
                              type: string
                            user_id:
                              nullable: true
                              type: string
                          type: object
                        items_amount:
                          type: integer
                        pin_codes:
                          properties:
                            amount:
                              format: float
                              nullable: true
                              type: number
                            content:
                              nullable: true
                              type: string
                            currency:
                              nullable: true
                              type: string
                          type: object
                        purchase_amount:
                          format: float
                          type: number
                        simple_checkout:
                          properties:
                            amount:
                              format: float
                              nullable: true
                              type: number
                            currency:
                              nullable: true
                              type: string
                          type: object
                        subscription:
                          properties:
                            name:
                              nullable: true
                              type: string
                            plan_id:
                              nullable: true
                              type: integer
                            product_id:
                              nullable: true
                              type: string
                            product_name:
                              nullable: true
                              type: string
                            subscription_id:
                              nullable: true
                              type: integer
                          type: object
                        virtual_currency:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        virtual_currency_amount:
                          type: integer
                        virtual_items:
                          properties:
                            amount:
                              format: float
                              nullable: true
                              type: number
                            content:
                              nullable: true
                              type: string
                            currency:
                              nullable: true
                              type: string
                          type: object
                      type: object
                    transaction:
                      description: Информация о транзакции.
                      properties:
                        custom_parameters:
                          nullable: true
                          type: object
                        direct_account:
                          type: integer
                        dry_run:
                          type: integer
                        external_id:
                          nullable: true
                          type: string
                        id:
                          type: integer
                        payment_method:
                          properties:
                            class:
                              type: string
                            id:
                              type: integer
                            name:
                              type: string
                          type: object
                        project:
                          properties:
                            id:
                              type: integer
                            name:
                              type: string
                          type: object
                        refund_reason:
                          nullable: true
                          type: string
                        refund_reason_comment:
                          nullable: true
                          type: string
                        status:
                          enum:
                            - created
                            - processing
                            - done
                            - canceled
                            - error
                            - refunded
                            - partiallyRefunded
                            - awaitingRefund
                            - disputeFee
                          type: string
                        transfer_date:
                          format: datetime
                          type: string
                      type: object
                    user:
                      description: Объект с информацией о пользователе.
                      properties:
                        country:
                          description: >-
                            Используется двухбуквенное обозначение страны
                            согласно стандарту [ISO 3166-1
                            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
                          type: string
                        custom:
                          nullable: true
                          type: string
                        email:
                          description: Email пользователя.
                          type: string
                        id:
                          description: ID пользователя.
                          type: string
                        ip:
                          type: string
                        marketplace:
                          type: string
                        name:
                          description: Ник пользователя.
                          type: string
                        phone:
                          description: Номер телефона пользователя.
                          nullable: true
                          type: string
                      type: object
                    user_balance:
                      description: Баланс пользователя.
                      properties:
                        payment_currency:
                          description: Предпочтительная валюта платежа.
                          properties:
                            deduction_amount:
                              format: float
                              type: number
                            payout_amount_from_balance:
                              format: float
                              type: number
                            purchase_amount_from_balance:
                              format: float
                              type: number
                          type: object
                      type: object
                  type: object
                type: array
          description: Список транзакций успешно получен.
      security:
        - basicAuth: []
      summary: Список транзакций
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/search.{format}:
    get:
      description: >
        Возвращает список транзакций на основе параметров поиска. В ответе вы
        получите 

        данные о всех платежах, совершенных в вашей игре, даже если они не были 

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

        и другие параметры, например, чтобы найти транзакции определенного
        пользователя 

        или в определенном статусе платежа. Список будет доступен в формате JSON
        или 

        CSV.


        <div class="notice">

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

        </div>
      operationId: find-transactions
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/format'
        - $ref: '#/components/parameters/datetime-from'
        - $ref: '#/components/parameters/datetime-to'
        - $ref: '#/components/parameters/project-id-query-param'
        - $ref: '#/components/parameters/transaction-id'
        - $ref: '#/components/parameters/type'
        - $ref: '#/components/parameters/phone'
        - $ref: '#/components/parameters/user-id-query-param'
        - $ref: '#/components/parameters/user-name'
        - $ref: '#/components/parameters/user-custom'
        - $ref: '#/components/parameters/email'
        - $ref: '#/components/parameters/external-id'
        - $ref: '#/components/parameters/order-id'
        - $ref: '#/components/parameters/offset'
        - $ref: '#/components/parameters/limit'
        - $ref: '#/components/parameters/status'
      responses:
        '200':
          content:
            application/json:
              example:
                - payment_details:
                    payment:
                      amount: 7.96
                      amount_from_ps: 7.96
                      currency: RUB
                    sales_tax:
                      amount: 0
                      percent: 0
                  payment_system:
                    decline_reason: null
                  purchase:
                    pin_codes:
                      amount: null
                      content: null
                      currency: null
                    simple_checkout:
                      amount: 7.96
                      currency: RUB
                    subscription:
                      name: null
                    virtual_currency:
                      amount: 0
                      name: null
                    virtual_items: null
                  transaction:
                    create_date: '2021-10-20'
                    dry_run: 0
                    external_id: example-external-id
                    id: 123456789
                    is_refund_allowed: 0
                    order_id: 1234
                    payment_method:
                      id: 1
                      name: PayPal
                    project:
                      id: 123456
                      name: Example
                    refund_reason: null
                    status: done
                    transfer_date: '2021-10-20'
                  user:
                    country: RU
                    custom: null
                    email: email@example.com
                    id: example-id
                    name: Example
                    phone: null
          description: OK.
      security:
        - basicAuth: []
      summary: Поиск транзакций
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/simple_search:
    get:
      description: >
        Быстрое получение списка транзакций на основе параметров поиска в
        течение 

        нескольких секунд. Альтернатива методу API [Поиск
        транзакций](/ru/api/pay-station/operation/find-transactions/), который
        возвращает результаты поиска в 

        формате JSON, CSV или XLS.


        <div class="notice">

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

        </div>
      operationId: find-transactions-fast
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - description: >-
            ID транзакции. Обязательно передайте либо данный параметер, либо
            `external_id`, но не оба сразу.
          in: query
          name: transaction_id
          schema:
            type: integer
        - description: >-
            ID транзакции в игре, уникальный для каждого платежа. Обязательно
            передайте либо данный параметер, либо `transaction_id`, но не оба
            сразу.
          in: query
          name: external_id
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              example:
                - payment_details:
                    payment:
                      amount: 7.96
                      currency: BRL
                  transaction:
                    external_id: example_external_id_123
                    id: 123456
                    payment_date: '2023-02-11 15:32:46'
                    project:
                      id: 123456
                      name: Test
                    status: done
                  user:
                    country: BR
                    email: email@example.com
                    id: '123456'
                    name: John Smith
              schema:
                items:
                  properties:
                    payment_details:
                      description: Информация о платеже.
                      properties:
                        payment:
                          properties:
                            amount:
                              description: Сумма платежа.
                              format: float
                              type: number
                            currency:
                              description: >-
                                Валюта платежа. Используется трехбуквенное
                                обозначение валюты согласно стандарту [ISO
                                4217](https://developers.xsolla.com/ru/doc/pay-station/references/supported-currencies/).
                              type: string
                          type: object
                      type: object
                    transaction:
                      description: Информация о транзакции.
                      properties:
                        external_id:
                          description: >-
                            ID транзакции в игре, уникальный для каждого
                            платежа.
                          type: string
                        id:
                          description: ID транзакции.
                          type: integer
                        payment_date:
                          description: Дата платежа в формате ГГ-ММ-ДД.
                          type: string
                        project:
                          properties:
                            id:
                              description: >-
                                ID проекта. Вы можете найти этот параметр в
                                Личном кабинете.
                              type: integer
                            name:
                              description: Название проекта.
                              type: string
                          type: object
                        refund_reason:
                          description: Причина отмены.
                          type: string
                        status:
                          $ref: '#/components/schemas/status.enum'
                          description: Статус транзакции.
                      type: object
                    user:
                      description: Объект с информацией о пользователе.
                      properties:
                        country:
                          description: >-
                            Используется двухбуквенное обозначение страны
                            согласно стандарту [ISO 3166-1
                            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
                          type: string
                        email:
                          description: Email пользователя.
                          type: string
                        id:
                          description: ID пользователя.
                          type: string
                        name:
                          description: Имя пользователя.
                          type: string
                      type: object
                  type: object
                type: array
          description: Список транзакций успешно получен.
        '403':
          description: Отказано в доступе.
        '404':
          description: Транзакция не найдена.
        '422':
          description: >-
            Unprocessable Entity (Вы должны передать `transaction_id` или
            `external_id`).
      security:
        - basicAuth: []
      summary: Быстрый поиск транзакций
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/summary/transfer:
    get:
      description: >
        Получение детализации выплат по валютам.


        <div class="notice">

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

        </div>
      operationId: get-payouts-breakdown
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/datetime-from'
        - $ref: '#/components/parameters/datetime-to'
        - $ref: '#/components/parameters/legal-entity-id'
        - $ref: '#/components/parameters/transaction-status'
      responses:
        '200':
          content:
            application/json:
              example:
                - 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
          description: OK.
      security:
        - basicAuth: []
      summary: Детализация выплат по валютам
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/details:
    get:
      description: >
        Полная информация о транзакции по ID.


        <div class="notice">

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

        </div>
      operationId: get-transaction
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/transaction-id-path-param'
      responses:
        '200':
          content:
            application/json:
              example:
                - customer_details:
                    billing_address: ''
                    bin: ''
                    browser_language: ''
                    country: US
                    ip: 209.11.22.33
                    paystation_country: ''
                    phone: null
                    timezone: ''
                    user_id: user1
                    user_name: John Smith
                  finance_details:
                    direct_wht:
                      amount: 0
                      currency: USD
                    dispute_fee:
                      amount: 70
                      currency: USD
                      date: '2019-04-20 16:15:37'
                    payment:
                      amount: 0.04
                      currency: USD
                    payment_method_fee:
                      amount: 0.01
                      currency: USD
                    payment_method_sum:
                      amount: 0.04
                      currency: USD
                    payout:
                      amount: 1.25
                      currency: RUB
                    payout_currency_rate: 62
                    repatriation_commission:
                      amount: 0
                      currency: USD
                    sales_tax:
                      amount: 0
                      currency: USD
                    vat:
                      amount: 0.01
                      currency: USD
                    xsolla_balance_sum:
                      amount: 0
                      currency: USD
                    xsolla_fee:
                      amount: 0
                      currency: USD
                  payment_details:
                    card_holdername: null
                    card_issuer: TEST BANK
                    card_month: 1
                    card_number: 1234123412341234
                    card_scheme: MASTERCARD
                    card_year: 2020
                    customer_firstname: ''
                    customer_lastname: ''
                    enrollment: false
                    ps_account: 1234test4321
                    zip_code: ''
                  subscription_details:
                    is_payment_from_subscription: false
                    is_subscription_created: true
                  transaction_details:
                    amount: 0.04
                    cancellation_date: null
                    country: US
                    currency: USD
                    custom_parameters: null
                    foreign_invoice: null
                    gift_recipient_email: null
                    gift_recipient_id: null
                    payment_date: '2019-03-21 16:15:37'
                    payment_method: '1380'
                    payment_method_name: Credit/Debit Cards
                    project: 21092
                    project_name: Test Project
                    purchase:
                      checkout:
                        amount: 0
                        currency: USD
                      pin_codes:
                        amount: 0
                        content: null
                        currency: null
                      total:
                        amount: 0.03
                        currency: USD
                      virtual_currency:
                        amount: 0.03
                        currency: USD
                        name: Gold coins
                        quantity: '2'
                      virtual_items: null
                    refund_comment: null
                    refund_reason: null
                    status: done
                    user_id: user1
              schema:
                items:
                  properties:
                    customer_details:
                      properties:
                        billing_address:
                          type: string
                        bin:
                          type: string
                        browser_language:
                          type: string
                        country:
                          type: string
                        ip:
                          type: string
                        paystation_country:
                          type: string
                        phone:
                          nullable: true
                          type: string
                        timezone:
                          type: string
                        user_id:
                          type: string
                        user_name:
                          type: string
                      type: object
                    finance_details:
                      properties:
                        direct_wht:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        dispute_fee:
                          properties:
                            amount:
                              description: Сумма комиссии за диспут в валюте платежа.
                              format: float
                              type: number
                            currency:
                              description: >-
                                Валюта платежа. Используется трехбуквенное
                                обозначение валюты согласно стандарту [ISO
                                4217](/ru/doc/pay-station/references/supported-currencies/).
                              type: string
                            date:
                              description: Дата открытия диспута.
                              type: string
                          type: object
                        payment:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        payment_method_fee:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        payment_method_sum:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        payout:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        payout_currency_rate:
                          format: float
                          type: number
                        repatriation_commission:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        sales_tax:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        vat:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        xsolla_balance_sum:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                        xsolla_fee:
                          properties:
                            amount:
                              format: float
                              type: number
                            currency:
                              type: string
                          type: object
                      type: object
                    payment_details:
                      properties:
                        card_holdername:
                          nullable: true
                          type: string
                        card_issuer:
                          type: string
                        card_month:
                          type: integer
                        card_number:
                          type: integer
                        card_scheme:
                          type: string
                        card_year:
                          type: integer
                        customer_firstname:
                          type: string
                        customer_lastname:
                          type: string
                        enrollment:
                          type: boolean
                        ps_account:
                          type: string
                        zip_code:
                          type: string
                      type: object
                    subscription_details:
                      properties:
                        is_payment_from_subscription:
                          type: boolean
                        is_subscription_created:
                          type: boolean
                      type: object
                    transaction_details:
                      properties:
                        amount:
                          format: float
                          type: number
                        cancellation_date:
                          nullable: true
                          type: string
                        country:
                          type: string
                        currency:
                          type: string
                        custom_parameters:
                          nullable: true
                          type: string
                        foreign_invoice:
                          nullable: true
                          type: string
                        gift_recipient_email:
                          nullable: true
                          type: string
                        gift_recipient_id:
                          nullable: true
                          type: string
                        payment_date:
                          type: string
                        payment_method:
                          type: string
                        payment_method_name:
                          type: string
                        project:
                          type: integer
                        project_name:
                          type: string
                        purchase:
                          properties:
                            checkout:
                              properties:
                                amount:
                                  format: float
                                  type: number
                                currency:
                                  type: string
                              type: object
                            pin_codes:
                              properties:
                                amount:
                                  format: float
                                  type: number
                                content:
                                  nullable: true
                                  type: string
                                currency:
                                  nullable: true
                                  type: string
                              type: object
                            total:
                              properties:
                                amount:
                                  format: float
                                  type: number
                                currency:
                                  type: string
                              type: object
                            virtual_currency:
                              properties:
                                amount:
                                  format: float
                                  type: number
                                currency:
                                  type: string
                                name:
                                  type: string
                                quantity:
                                  type: string
                              type: object
                            virtual_items:
                              nullable: true
                              properties:
                                amount:
                                  format: float
                                  type: number
                                content:
                                  type: string
                                currency:
                                  type: string
                              type: object
                          type: object
                        refund_comment:
                          nullable: true
                          type: string
                        refund_reason:
                          nullable: true
                          type: string
                        status:
                          type: string
                        user_id:
                          type: string
                      type: object
                  type: object
                type: array
          description: Информация о транзакции успешно получена.
      security:
        - basicAuth: []
      summary: Информация о транзакции
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/partial_refund:
    put:
      description: >
        Отправка запроса на частичный возврат платежа пользователю. Подробная 

        информация о процессе возврата, а также список способов оплаты, которые 

        поддерживают оформление частичного возврата, приведены в 

        [документации](https://developers.xsolla.com/ru/doc/pay-station/features/refund/#pay_station_features_refund_how_it_works_partial_refund_flow).


        <div class="note">

        <p><strong>Примечание</strong></p><p>Вы можете использовать этот метод
        API в тестовом окружении (sandbox-режиме). Для этого передайте в запросе
        данные тестового платежа. Подробную информацию об открытии тестового
        окружения и сценариях тестирования читайте в <a
        href="https://developers.xsolla.com/ru/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_partial_refund">инструкции</a>.</p>

        </div>


        <p></p>


        <div class="notice">

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

        </div>
      operationId: request-partial-refund
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/transaction-id-path-param'
      requestBody:
        content:
          application/json:
            example:
              description: test refund request
              refund_amount: 1.5
            schema:
              properties:
                description:
                  description: Причина отмены платежа.
                  maxLength: 4000
                  type: string
                refund_amount:
                  description: Сумма возврата в валюте покупки.
                  format: float
                  type: number
              required:
                - description
                - refund_amount
              type: object
        required: true
      responses:
        '204':
          description: Возврат платежа успешно проведен
        '403':
          description: Недостаточно прав
        '404':
          content:
            application/json:
              example:
                message: Transaction with specified ID does not exist.
              schema:
                properties:
                  message:
                    description: >-
                      Транзакции с указанным ID не существует. Проверьте данные
                      платежа или свяжитесь со службой поддержки Xsolla по
                      адресу support@xsolla.com.
                    type: string
                type: object
          description: Транзакция не найдена
        '422':
          content:
            application/json:
              example:
                message: Partial refund is unavailable for subscription payments.
              schema:
                properties:
                  message:
                    description: >
                      **Возврат платежа недоступен**


                      Возможны следующие варианты ответов:

                      - Partial refund is unavailable for operations with user
                      balance.

                      - Requested transaction is partial refund and cannot be
                      canceled.

                      - Partial refund is unavailable for subscription payments.

                      - Refund cannot be completed due to a payment system
                      error. Please try again 
                        later.
                      - Requested partial refund amount exceeds payment amount.

                      - Requested partial refund amount is less than minimum
                      amount specified by 
                        payment system.
                      - Payment amount after partial refund will be less than
                      allowable amount 
                        specified by payment system.
                      - Dispute for this invoice is already opened. Can’t make a
                      refund yet.


                      **Платежный метод не поддерживает частичные возвраты**


                      Возможны следующие варианты ответов:

                      - Current payment method does not support partial refunds.

                      - Current transaction status does not allow refunds.

                      - Deadline for refund is exceeded.

                      - Partial refund is unavailable because discount was
                      applied during payment 
                        creation.

                      **Неправильный формат ввода валюты**


                      Возможен следующий вариант ответа:

                      - Partial refund is unavailable because requested amount
                      is specified with 
                        incorrect precision for purchase currency.
                    type: string
                type: object
          description: Ошибка в данных
      security:
        - basicAuth: []
      summary: Частичный возврат платежа
      tags:
        - refund
      x-server: true
  /merchants/{merchant_id}/reports/transactions/{transaction_id}/refund:
    put:
      description: >
        Отправка запроса на возврат платежа пользователю. Подробнее о процессе
        возврата 

        можно прочитать в
        [инструкции](https://developers.xsolla.com/ru/doc/pay-station/features/refund/).


        <div class="note">

        <p><strong>Примечание</strong></p><p>Вы можете использовать этот метод
        API в тестовом окружении (sandbox-режиме). Для этого передайте в запросе
        данные тестового платежа. Подробную информацию об открытии тестового
        окружения и сценариях тестирования читайте в <a
        href="https://developers.xsolla.com/ru/doc/pay-station/testing/test-one-time-purchase-in-sandbox/#pay_station_testing_sandbox_bank_card_refund">инструкции</a>.</p>

        </div>


        <p></p>


        <div class="notice">

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

        </div>
      operationId: request-refund
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/transaction-id-path-param'
      requestBody:
        content:
          application/json:
            example:
              description: test refund request
            schema:
              properties:
                description:
                  description: Причина отмены платежа.
                  maxLength: 4000
                  type: string
                email:
                  description: Email пользователя.
                  maxLength: 100
                  type: string
              required:
                - description
              type: object
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                message: >-
                  The request for a refund has been accepted. Xsolla CS will
                  automatically send the customer an email with alternative
                  refund options as the user's method does not support direct
                  refunds.
              schema:
                properties:
                  message:
                    description: >-
                      Возможны следующие варианты ответов: 

                      - No content.

                      - The request for a refund has been accepted. Xsolla CS
                      will manually complete the refund. It may take up to two
                      business days.

                      - The request for a refund has been accepted. Xsolla CS
                      will automatically send the customer an email with
                      alternative refund options as the user's method does not
                      support direct refunds.
                    type: string
                type: object
          description: OK (Успешный ответ).
        '204':
          description: Возврат платежа успешно проведен.
        '401':
          description: Unauthorized (Отказано в доступе).
        '404':
          content:
            application/json:
              example:
                message: >-
                  Transaction ID not valid. Please check payment credentials.
                  Otherwise, contact Xsolla support at support@xsolla.com.
              schema:
                properties:
                  message:
                    description: >-
                      Transaction ID not valid. Please check payment
                      credentials. Otherwise, contact Xsolla support at
                      support@xsolla.com.
                    type: string
                type: object
          description: Транзакция не найдена.
        '422':
          content:
            application/json:
              example:
                message: >-
                  We are processing the refund request. This may take up to two
                  business days.
              schema:
                properties:
                  message:
                    description: >-
                      Возможны следующие варианты ответов: 

                      - We are processing the refund request. This may take up
                      to two business days.

                      - We are reaching the user for the information required
                      for the refund. For details, contact Xsolla Support.

                      - Incorrect payment status. Refund is possible only for
                      payments with "completed" or "error" status.

                      - To process this request, the customer’s email address
                      field must be filled. Please specify the customer’s email
                      address and try again.

                      - Full refund is unavailable because there are successful
                      partial refunds for this transaction.

                      - Refund failed. Please contact Xsolla Support to process
                      it manually.

                      - Dispute for this invoice is already opened. Can’t make a
                      refund yet.
                    type: string
                type: object
          description: Unprocessable Entity (Параметры не верны).
      security:
        - basicAuth: []
      summary: Возврат платежа
      tags:
        - refund
      x-server: true
  /merchants/{merchant_id}/reports/transfers:
    get:
      description: >
        Получение списка выплат за определенный период.


        <div class="notice">

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

        </div>
      operationId: get-payouts
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
        - $ref: '#/components/parameters/datetime-from'
        - $ref: '#/components/parameters/datetime-to'
        - $ref: '#/components/parameters/legal-entity-id'
        - $ref: '#/components/parameters/payout-status'
      responses:
        '200':
          content:
            application/json:
              example:
                - canceled: 0
                  payout:
                    currency: USD
                    date: '2014-01-03T00:00:00+04:00'
                    id: 1
                    note: 12/05/2013 - 01/04/2014
                  rate: 1
                  transfer:
                    currency: USD
                    date: '2014-01-05T00:00:00+04:00'
                    note: '004357'
          description: OK.
      security:
        - basicAuth: []
      summary: Список выплат
      tags:
        - reports
      x-admin: true
      x-server: true
  /merchants/{merchant_id}/token:
    post:
      description: "Вы можете создать токен с любыми параметрами пользователя. Вы отправляете эти \nпараметры Xsolla при создании токена и получаете их обратно после успешной \nоплаты. Токен может содержать только описанные ниже параметры, либо параметры, \nпредопределенные вами.\n\nЕсли какой-либо параметр был передан в некорректном формате, токен не может \nбыть выдан. В ответ вернется 422 HTTP код и в JSON объекте в теле ответа будет \nсодержаться информация об ошибке. В параметре\_`extended_message`\_указывается, \nкакие именно параметры были переданы неверно.\n\nПо умолчанию время жизни токена — 24 часа. Если вы хотите изменить это \nзначение, обратитесь к персональному менеджеру проекта или напишите на <a \nhref=\"mailto:csm@xsolla.com\">csm@xsolla.com</a>. Новое значение будет \nдействовать во всех проектах вашей компании, созданных в <a \nhref=\"https://publisher.xsolla.com/\">Личном кабинете</a>.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Токен, полученный в результате вызова этого метода, используется только для авторизации других запросов. Вы можете использовать этот токен для открытия платежного интерфейса, если у вас подключен продукт <a href=\"https://developers.xsolla.com/ru/doc/subscriptions/\">Subscriptions</a>.</p><p>Чтобы открыть платежный интерфейс в новом окне, используйте ссылку: <code>https://secure.xsolla.com/paystation4/?token={token}</code>, где <code>{token}</code> — полученный токен.</p><p>Для тестирования используйте этот URL-адрес:\_<code>https://sandbox-secure.xsolla.com/paystation4/?token={token}</code>.</p>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n"
      operationId: create-token
      parameters:
        - $ref: '#/components/parameters/merchant-id-path-param'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/token'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                token: eop57k1boA7nnYPtewZ6KEXJyJADEwRT
              schema:
                properties:
                  token:
                    type: string
                type: object
          description: Created.
        '422':
          content:
            application/json:
              example:
                extended_message:
                  global_errors: []
                  property_errors:
                    purchase.checkout.amount:
                      - String value found, but a number is required
                http_status_code: 422
                message: >-
                  JSON is not valid against json schema, please check
                  documentation
                  https://developers.xsolla.com/ru/api/v2/getting-started/#api_token_ui
                request_id: cd72633
              schema:
                properties:
                  extended_message:
                    properties:
                      global_errors:
                        items:
                          type: string
                        type: array
                      property_errors:
                        description: >-
                          Объект содержит названия параметров с описанием
                          ошибки.
                        type: object
                    type: object
                  http_status_code:
                    type: integer
                  message:
                    type: string
                  request_id:
                    type: string
                type: object
          description: Unprocessable Entity.
      security:
        - basicAuth: []
      summary: Создание токена
      tags:
        - token
      x-server: true
  /projects/{project_id}/users/{user_id}/payment_accounts:
    get:
      description: >
        Загрузка списка сохраненных платежных аккаунтов пользователя.


        <div class="note">

        <p><strong>Примечание</strong></p><p>Данный метод API в тестовом
        окружении (sandbox-режиме) работает только с <a
        href="https://developers.xsolla.com/ru/doc/pay-station/testing/test-cards/">тестовыми
        картами</a>, у которых нет проверки 3-D Secure.</p>

        </div>
      operationId: get-saved-accounts
      parameters:
        - $ref: '#/components/parameters/project-id-path-param'
        - $ref: '#/components/parameters/user-id-path-param'
        - $ref: '#/components/parameters/mode'
      responses:
        '200':
          content:
            application/json:
              example:
                - id: 4612345
                  name: PP_saved_account
                  payment_system:
                    id: 24
                    name: PayPal
                  type: paypal
          description: OK.
      security:
        - basicAuth: []
      summary: Список сохраненных платежных аккаунтов
      tags:
        - tokenization
      x-server: true
  /projects/{project_id}/users/{user_id}/payment_accounts/{type}/{account_id}:
    delete:
      description: >
        Удаление сохраненного платежного аккаунта.


        <div class="note">

        <p><strong>Примечание</strong></p><p>Данный метод API в тестовом
        окружении (sandbox-режиме) работает только с <a
        href="https://developers.xsolla.com/ru/doc/pay-station/testing/test-cards/">тестовыми
        картами</a>, у которых нет проверки 3-D Secure.</p>

        </div>


        <p></p>


        <div class="note">

        <p><strong>Примечание</strong></p><p>Вы можете использовать этот метод
        API в тестовом окружении (sandbox-режиме). Для этого передайте в запросе
        данные тестового аккаунта. Подробную информацию об открытии тестового
        окружения и сценариях тестирования читайте в <a
        href="https://developers.xsolla.com/ru/doc/pay-station/testing/test-saved-cards-in-sandbox/#pay_station_testing_tokenization_sandbox_delete_saved_card">инструкции</a>.</p>

        </div>
      operationId: delete-saved-account
      parameters:
        - $ref: '#/components/parameters/project-id-path-param'
        - $ref: '#/components/parameters/user-id-path-param'
        - $ref: '#/components/parameters/type-path-param'
        - $ref: '#/components/parameters/account-id-path-param'
      responses:
        '204':
          description: No Content.
      security:
        - basicAuth: []
      summary: Удаление сохраненного платежного аккаунта
      tags:
        - tokenization
      x-server: true
  /projects/{project_id}/users/{user_id}/payments/{type}/{account_id}:
    post:
      description: >
        Оплата по сохраненному платежному аккаунту.


        <div class="note">

        <p><strong>Примечание</strong></p><p>Данный метод API в тестовом
        окружении (sandbox-режиме) работает только с <a
        href="https://developers.xsolla.com/ru/doc/pay-station/testing/test-cards/">тестовыми
        картами</a>, у которых нет проверки 3-D Secure.</p>

        </div>


        <p></p>


        <div class="notice">

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

        </div>
      operationId: charge-with-saved-account
      parameters:
        - $ref: '#/components/parameters/project-id-path-param'
        - $ref: '#/components/parameters/user-id-path-param'
        - $ref: '#/components/parameters/type-path-param'
        - $ref: '#/components/parameters/account-id-path-param'
      requestBody:
        $ref: '#/components/requestBodies/charge-with-saved-account'
      responses:
        '201':
          content:
            application/json:
              example:
                transaction_id: 123458390
              schema:
                properties:
                  transaction_id:
                    type: integer
                type: object
          description: Created.
        '422':
          description: Unprocessable Entity.
      security:
        - basicAuth: []
      summary: Оплата по сохраненному платежному аккаунту
      tags:
        - tokenization
      x-server: true
components:
  securitySchemes:
    basicAuth:
      description: "Xsolla API использует базовую HTTP-аутентификацию. Все запросы к API должны содержать заголовок `Authorization: Basic <your_authorization_basic_key>`, где `<your_authorization_basic_key>` — пара `merchant_id:api_key`, закодированная по стандарту Base64.\n\n Значения параметров вы можете найти в [Личном кабинете](https://publisher.xsolla.com/):<ul><li>`merchant_id` указан:<ul><li>В разделе **Настройки компании > Компания**.</li><li>Aдресной строке браузера на любой странице Личного кабинета. URL-адрес имеет вид: `https://publisher.xsolla.com/<merchant_id>`.</li></ul></li><li>`api_key` отображается в Личном кабинете только при создании и должен храниться на вашей стороне. Создать ключ можно в разделах:<ul><li>**Настройки компании > Ключи API**;</li><li>**Настройки проекта > Ключи API**.</li></ul></li></ul><br>\nПодробная информация о работе с ключами API приведена в\_[справочнике API](https://developers.xsolla.com/ru/api/getting-started/#api_keys_overview)."
      scheme: basic
      type: http
  parameters:
    merchant-id-path-param:
      description: ID продавца.
      in: path
      name: merchant_id
      required: true
      schema:
        type: integer
    project-id-path-param:
      description: ID проекта.
      in: path
      name: project_id
      required: true
      schema:
        type: integer
    transaction-id-path-param:
      description: ID транзакции.
      in: path
      name: transaction_id
      required: true
      schema:
        type: integer
    datetime-from-req:
      description: >-
        Начало периода в формате ГГГГ-ММ-ДД. Не обязателен, если передан хотя бы
        один из следующих
        параметров:<ul><li>`transfer_id`;</li><li>`report_id`.</li></ul>
      example: '2023-02-08'
      in: query
      name: datetime_from
      required: true
      schema:
        format: datetime
        type: string
    datetime-to-req:
      description: >-
        Конец периода в формате ГГГГ-ММ-ДД. Не обязателен, если передан хотя бы
        один из следующих
        параметров:<ul><li>`transfer_id`;</li><li>`report_id`.</li></ul>Диапазон
        дат между `datetime_from` и `datetime_to` не может превышать 92 дня.
      example: '2023-03-08'
      in: query
      name: datetime_to
      required: true
      schema:
        format: datetime
        type: string
    format:
      description: Формат данных.
      in: path
      name: format
      required: true
      schema:
        enum:
          - json
          - csv
          - xls
        type: string
    in-transfer-currency:
      description: >-
        Получение финансовых данных в валюте выплаты (по умолчанию используется
        валюта способа оплаты). Не обязателен, если передан хотя бы один из
        следующих
        параметров:<ul><li>`transfer_id`;</li><li>`report_id`.</li></ul>
      in: query
      name: in_transfer_currency
      required: true
      schema:
        type: integer
    show-total:
      description: >-
        Включать ли в отчет итоговые данные по транзакциям. Доступно только для
        выгрузки в формате CSV. По умолчанию `true`.
      in: query
      name: show_total
      schema:
        type: boolean
    merchant-of-records:
      description: >-
        Зарегистрированный продавец. Может принимать значения `xsolla`,
        `merchant` или может не передаваться. Если `merchant`, возвращаются
        транзакции, сделанные через прямые аккаунты партнера. Если `xsolla`,
        возвращаются транзакции, сделанные не через прямые аккаунты партнера.
        Если значение не указано, возвращаются все транзакции.
      in: query
      name: merchant_of_records
      required: false
      schema:
        enum:
          - xsolla
          - merchant
        nullable: true
        type: string
        x-enumDescriptions:
          merchant: Возвращаются транзакции, сделанные через прямые аккаунты партнера.
          xsolla: >-
            Возвращаются транзакции, сделанные не через прямые аккаунты
            партнера.
    project-id-query-param:
      description: ID проекта.
      in: query
      name: project_id
      required: false
      schema:
        type: integer
    show-dry-run:
      description: Должны ли в ответе быть тестовые платежи.
      in: query
      name: show_dry_run
      required: false
      schema:
        type: boolean
    transfer-id:
      description: ID выплаты.
      in: query
      name: transfer_id
      required: false
      schema:
        type: integer
    report-id:
      description: ID финансового отчета.
      in: query
      name: report_id
      required: false
      schema:
        type: integer
    offset:
      description: >-
        Номер элемента, с которого выполняется вывод на странице (нумерация
        ведется с 0).
      in: query
      name: offset
      required: false
      schema:
        type: integer
    limit-req:
      description: >-
        Лимит количества отображаемых транзакций на странице. Если передан этот
        параметр, параметры `datetime_from` и `datetime_to` передавать не нужно.
      in: query
      name: limit
      required: false
      schema:
        type: integer
    transaction-status:
      description: Статус транзакции.
      in: query
      name: status
      required: false
      schema:
        enum:
          - done
          - canceled
          - error
          - refunded
        type: string
    datetime-from:
      description: Начало периода.
      in: query
      name: datetime_from
      required: false
      schema:
        format: datetime
        type: string
    datetime-to:
      description: Конец периода.
      in: query
      name: datetime_to
      required: false
      schema:
        format: datetime
        type: string
    transaction-id:
      description: ID транзакции.
      in: query
      name: transaction_id
      required: false
      schema:
        type: integer
    type:
      description: Тип транзакций, которые появляются в результатах поиска.
      in: query
      name: type
      required: false
      schema:
        enum:
          - all
          - transferred
          - canceled
          - test
        type: string
        x-enumDescriptions:
          all: Все транзакции.
          canceled: Отмененные транзакции, исключая тестовые.
          test: Тестовые транзакции.
          transferred: Успешные транзакции, исключая тестовые.
    phone:
      description: Номер телефона пользователя (в международном формате).
      in: query
      name: phone
      required: false
      schema:
        type: string
    user-id-query-param:
      description: >-
        Уникальный ID пользователя в игре, который хранится на вашей стороне.
        Убедитесь, что указываете существующий ID пользователя. При
        возникновении ошибок изучите [ответы на частые
        вопросы](/ru/doc/pay-station/references/faq/#faq_validation).
      in: query
      name: user_id
      required: false
      schema:
        type: string
    user-name:
      description: Имя пользователя.
      in: query
      name: user_name
      required: false
      schema:
        type: string
    user-custom:
      description: Дополнительный параметр идентификации пользователя.
      in: query
      name: user_custom
      required: false
      schema:
        type: string
    email:
      description: Email пользователя.
      in: query
      name: email
      required: false
      schema:
        maxLength: 100
        type: string
    external-id:
      description: >-
        Идентификатор транзакции в игре. Должен быть уникальным для каждого
        платежа пользователя.
      in: query
      name: external_id
      required: false
      schema:
        type: string
    order-id:
      description: >-
        ID заказа. Вы можете использовать его при вызове метода API [Получение
        заказа](/ru/api/shop-builder/operation/get-order/).
      example: 1234
      in: query
      name: order_id
      required: false
      schema:
        type: integer
    limit:
      description: Лимит количества элементов на странице.
      in: query
      name: limit
      required: false
      schema:
        type: integer
    status:
      description: Статус транзакции.
      in: query
      name: status
      required: false
      schema:
        $ref: '#/components/schemas/status.enum'
    legal-entity-id:
      description: Уникальный ID юридического лица разработчика.
      in: query
      name: legal_entity_id
      required: false
      schema:
        type: integer
    payout-status:
      description: Статус выплаты.
      in: query
      name: status
      required: false
      schema:
        enum:
          - hold
          - ready
          - paid
        type: string
        x-enumDescriptions:
          hold: Ожидание запроса на обработку выплаты.
          paid: Выплата совершена.
          ready: Выплата в процессе.
    user-id-path-param:
      description: >-
        Уникальный ID пользователя в игре, который хранится на вашей стороне.
        Убедитесь, что указываете существующий ID пользователя. При
        возникновении ошибок изучите [ответы на частые
        вопросы](/ru/doc/pay-station/references/faq/#faq_validation).
      in: path
      name: user_id
      required: true
      schema:
        type: string
    mode:
      description: >-
        Передайте значение `sandbox`, чтобы провести тестовые платежи. Для
        проведения реальных платежей уберите этот параметр.
      in: query
      name: mode
      required: false
      schema:
        type: string
    type-path-param:
      description: Тип платежного аккаунта.
      in: path
      name: type
      required: true
      schema:
        enum:
          - card
          - amazon
          - skrill
          - paypal
          - toss
          - alipayplus_cn
          - alipayplus_hk
          - alipayplus_gcash
          - alipayplus_dana
          - alipayplus_rabbitlinepay
          - alipayplus_tng
          - alipayplus_boost
          - alipayplus_truemoney
          - alipayplus_maya
          - alipayplus_kplus
          - softbank_paypay
          - softbank_docomo
          - softbank_softbank2
          - softbank_au
          - softbank_ymobile
          - paysafecard_eu
          - paysafecard_us
          - paidy
          - klarna
          - mercadopago
          - nupay
        type: string
        x-enumDescriptions:
          alipayplus_boost: Boost.
          alipayplus_cn: Alipay.
          alipayplus_dana: DANA.
          alipayplus_gcash: GCash.
          alipayplus_hk: Alipay (Гонконг).
          alipayplus_kplus: K PLUS.
          alipayplus_maya: Maya.
          alipayplus_rabbitlinepay: Rabbit LINE pay.
          alipayplus_tng: Touch 'n Go.
          alipayplus_truemoney: TrueMoney Wallet.
          amazon: Amazon Pay.
          card: Банковские карты.
          klarna: >-
            Klarna. Сохранение платежных аккаунтов доступно только для следующих
            стран: США, Великобритания, Швеция, Германия, Австрия, Норвегия,
            Финляндия, Дания, Нидерланды.
          mercadopago: Mercado Pago (включая Mercado Pago Connect).
          nupay: NuPay.
          paidy: Paidy.
          paypal: PayPal.
          paysafecard_eu: Paysafecard (ЕС).
          paysafecard_us: Paysafecard (США).
          skrill: Skrill Digital Wallet.
          softbank_au: au Easy Payment.
          softbank_docomo: Docomo.
          softbank_paypay: PayPay.
          softbank_softbank2: SoftBank.
          softbank_ymobile: Y!mobile.
          toss: Toss Wallet.
    account-id-path-param:
      description: Идентификатор сохраненного платежного аккаунта в базе данных Xsolla.
      in: path
      name: account_id
      required: true
      schema:
        type: integer
  schemas:
    empty-body:
      description: Для корректной работы метода оставьте тело запроса пустым.
      nullable: true
      type: object
    status.enum:
      enum:
        - created
        - processing
        - review
        - error
        - done
        - awaitingRefund
        - refunded
        - canceled
        - partiallyRefunded
      type: string
      x-enumDescriptions:
        awaitingRefund: >-
          Транзакция ожидает решения по возврату платежа. После того как
          пользователь запросил возврат, служба поддержки Xsolla вручную
          обрабатывает запрос и принимает решение по возврату.
        canceled: |-
          Возможны два случая:
            - Транзакция была отменена на стороне платежной системы. Например, в случае, когда у пользователя оказалось недостаточно средств на счету.
            - Платеж был возвращен пользователю.
        created: Транзакция инициирована пользователем, но еще не прошла обработку.
        done: Транзакция обработана успешно.
        error: >-
          При обработке транзакции произошла ошибка. Такие платежи могут быть
          возвращены пользователю при обращении в службу поддержки Xsolla.
        partiallyRefunded: Пользователь получил частичный возврат платежа.
        processing: Транзакция находится в обработке.
        refunded: Выполнен возврат платежа на Xsolla-баланс пользователя.
        review: >-
          Обработка транзакции была приостановлена системой антифрода и сейчас
          транзакция находится в процессе дополнительной верификации.
    custom_parameters:
      description: >-
        Объект с параметрами для настройки антифрод-фильтров. Список параметров
        приведен ниже на этой странице. Чтобы добавить кастомные параметры,
        свяжитесь с вашим персональным менеджером или напишите на
        [csm@xsolla.com](mailto:csm@xsolla.com).
      properties:
        active_date:
          description: >-
            Дата последнего посещения согласно стандарту [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        additional_verification:
          description: Использует ли игрок дополнительные способы защиты аккаунта.
          type: boolean
        character_customized:
          description: Настраивал ли игрок персонажа.
          type: boolean
        chat_activity:
          description: Пишет ли игрок в чате.
          type: boolean
        completed_tasks:
          description: Количество выполненных заданий.
          type: integer
        forum_activity:
          description: Пишет ли игрок в форуме.
          type: boolean
        items_used:
          description: Использует ли игрок купленные в игре предметы.
          type: boolean
        karma_points:
          description: Карма игрока.
          type: integer
        last_change_password_date:
          description: >-
            Дата последней смены пароля согласно стандарту [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        non_premium_currency:
          description: Сумма непремиальной валюты игрока.
          format: float
          type: number
        notifications_enabled:
          description: Подписался ли игрок на рассылку уведомлений.
          type: boolean
        profile_completed:
          description: Добавил ли игрок дополнительную информацию в профиль.
          type: boolean
        profile_image_added:
          description: Загрузил ли игрок изображение профиля.
          type: boolean
        pvp_activity:
          description: >-
            Участвует ли игрок в битвах PvP (Player(s) versus player(s); игрок
            против игрока).
          type: boolean
        registration_date:
          description: >-
            Дата регистрации аккаунта согласно стандарту [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        session_time:
          description: >-
            Период времени, который пользователь проводит в игре, согласно
            стандарту [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601).
          type: string
        social_networks_added:
          description: Подключил ли игрок профили в социальных сетях.
          type: boolean
        total_bans:
          description: Количество банов игрока в чате/на форуме.
          type: integer
        total_characters:
          description: Количество персонажей игрока.
          type: integer
        total_clans:
          description: Количество кланов, в которых состоит игрок.
          type: integer
        total_friends:
          description: Количество друзей игрока.
          type: integer
        total_game_events:
          description: Количество внутриигровых событий, в которых участвовал игрок.
          type: integer
        total_gifts:
          description: Количество подарков, отправленных или полученных игроком.
          type: integer
        total_hours:
          description: Общее количество часов, проведенных в игре.
          type: integer
        total_inventory_value:
          description: Суммарная стоимость инвентаря во внутриигровой валюте.
          format: float
          type: number
        total_sum:
          description: Общая сумма платежей.
          format: float
          type: number
        tutorial_completed:
          description: Завершил ли игрок обучение в игре.
          type: boolean
        unlocked_achievements:
          description: Количество разблокированных достижений.
          type: integer
        user_level:
          description: Уровень игрока, репутация или ранг.
          type: integer
        win_rate:
          description: Рейтинг побед игрока.
          type: integer
      type: object
    subscription:
      description: Объект с данными о подписке.
      properties:
        available_plans:
          description: >-
            Массив с данными о планах подписок. Только планы из этого списка
            будут показаны в платежном интерфейсе.
          items:
            type: string
          type: array
        currency:
          description: >-
            Валюта рекуррентного плана в заказе, на основе которой будут сделаны
            все расчеты.
          type: string
        operation:
          description: >-
            Тип операции, применяемой к плану подписки пользователя. Чтобы
            изменить план подписки, передайте в параметре значение
            `change_plan`. В параметре `purchase.subscription.plan_id`
            необходимо передать ID нового плана подписки.
          type: string
        plan_id:
          description: >-
            Внешний ID плана подписки. Вы можете найти этот параметр в Личном
            кабинете в разделе **Subscriptions > Планы подписки**.
          type: string
        product_id:
          description: ID рекуррентного продукта.
          type: string
        trial_days:
          description: Количество дней пробного периода.
          type: integer
      type: object
    purchase:
      description: Объект с информацией о заказе.
      properties:
        subscription:
          $ref: '#/components/schemas/subscription'
      type: object
    currency:
      description: >-
        Предпочтительная валюта платежа. Используется трехбуквенное обозначение
        валюты согласно стандарту [ISO
        4217](https://developers.xsolla.com/ru/doc/pay-station/references/supported-currencies/).
      type: string
    external_id:
      description: >-
        ID транзакции в игре. Должен быть уникальным для каждого платежа
        пользователя. Изучите подробную информацию в <a
        href="https://developers.xsolla.com/ru/doc/pay-station/references/faq/#faq_payments_q_new_transaction_external_id">документации</a>.
      type: string
    language:
      description: >-
        Язык интерфейса. Используется [двухбуквенное
        обозначение](https://developers.xsolla.com/ru/doc/pay-station/features/localization/)
        (в нижнем регистре).
      type: string
    mode.settings:
      description: >-
        Передайте значение `sandbox`, чтобы провести тестовые платежи. Обратите
        внимание, что URL для страницы оплаты будет
        *https://sandbox-secure.xsolla.com*.
      type: string
    payment_method:
      description: ID способа оплаты.
      type: integer
    payment_widget:
      description: >-
        Виджет оплаты. Принимает значения `paybycash` или `giftcard`. При
        передаче этого параметра пользователь перенаправляется на виджет Pay
        with Cash или Gift Cards.
      enum:
        - paybycash
        - giftcard
      type: string
    project_id:
      description: ID игры в Xsolla. Вы можете найти этот параметр в Личном кабинете.
      type: integer
    redirect_policy:
      description: Настройки политики редиректа.
      properties:
        delay:
          description: >-
            Задержка (в секундах), после которой пользователь автоматически
            перенаправляется на return URL.
          type: integer
        manual_redirection_action:
          description: >-
            Действие, которое совершает платежный интерфейс, когда пользователь
            закрывает окно платежного интерфейса или нажимает кнопку **Back to
            the Game**. Может принимать значения `redirect` (по умолчанию) и
            `postmessage`. Если указано значение `redirect`, пользователь
            перенаправляется на URL-адрес, указанный в токене или в Личном
            кабинете. Если указано значение `postmessage`, при закрытии окна
            платежного интерфейса отправляется событие `close`, при нажатии
            **Back to the Game** — событие `return`.
          enum:
            - redirect
            - postmessage
          type: string
        redirect_button_caption:
          description: Текст кнопки для ручного перенаправления.
          type: string
        redirect_conditions:
          description: >-
            Статус платежа, при котором пользователь перенаправляется на return
            URL. Принимает значение `none`, `successful`,
            `successful_or_canсeled` или `any`.
          enum:
            - none
            - successful
            - successful_or_canceled
            - any
          type: string
        status_for_manual_redirection:
          description: >-
            Статус платежа, при котором появляется кнопка для возврата на return
            URL. Принимает значение `none`, `successful`,
            `successful_or_canсeled` или `any`.
          enum:
            - none
            - successful
            - successful_or_canceled
            - any
          type: string
      type: object
    return_url:
      description: >-
        URL-адрес страницы, на которую пользователь будет перенаправлен после
        совершения платежа. Подробная информация о настройке редиректов
        приведена в <a
        href="https://developers.xsolla.com/ru/doc/pay-station/how-to/how-to-configure-redirects/">документации</a>.
      type: string
    ap_quick_payment_button:
      description: >
        Отображать ли кнопку для быстрой оплаты с помощью Apple Pay в верхней
        части 

        платежного интерфейса, если этот способ оплаты поддерживается на
        устройстве 

        пользователя. `true` по умолчанию. Если передано значение `false`, Apple
        Pay 

        отображается в списке способов оплаты в соответствии с алгоритмом
        [PayRank](/ru/doc/pay-station/how-to/how-to-manage-top-payment-methods/).


        <div class="note">

        <p><strong>Примечание</strong></p><p>На мобильных Android-устройствах, а
        также на любых других, где сервис Apple Pay недоступен, этот способ
        оплаты будет скрыт из списка вне зависимости от значения параметра.</p>

        </div>
      type: boolean
    components:
      description: Объект с данными настройки пунктов меню.
      properties:
        subscriptions:
          description: Объект с данными настройки меню подписок.
          properties:
            hidden:
              description: Должна ли вкладка отображаться в меню.
              type: boolean
            order:
              description: Место вкладки в меню.
              type: integer
          type: object
        virtual_currency:
          description: Объект с данными настройки меню виртуальной валюты.
          properties:
            custom_amount:
              description: >-
                Возможность ввода произвольного количества виртуальной валюты в
                интерфейсе оплаты.
              type: boolean
            hidden:
              description: Должна ли вкладка отображаться в меню.
              type: boolean
            order:
              description: Место вкладки в меню.
              type: integer
          type: object
        virtual_items:
          description: Объект с данными настройки меню предметов.
          properties:
            hidden:
              description: Должна ли вкладка отображаться в меню.
              type: boolean
            order:
              description: Место вкладки в меню.
              type: integer
            selected_group:
              description: Группа, которая будет выбрана при открытии вкладки.
              type: string
            selected_item:
              description: >-
                Предмет, который будет выбран при открытии вкладки. Должен быть
                передан артикул предмета.
              type: string
          type: object
      type: object
    currency_format:
      description: >-
        Передайте значение `code`, чтобы в платежном интерфейсе отображалось
        трехбуквенное обозначение валюты по [ISO
        4217](https://developers.xsolla.com/ru/doc/pay-station/references/supported-currencies/).
        По умолчанию вместо трехбуквенного обозначения валюты отображается
        значок валюты.
      type: string
    close_button_icon:
      description: Значок кнопки **Закрыть** в платежном интерфейсе.
      enum:
        - arrow
        - cross
      type: string
      x-enumDescriptions:
        arrow: Значок **←** в левой части хедера платежного интерфейса.
        cross: Значок **×** в правой части хедера платежного интерфейса.
    header.desktop:
      description: Объект с настройками header.
      properties:
        close_button:
          description: >-
            Показывать ли кнопку **Закрыть** в платежном интерфейсе. Нажатие на
            кнопку закрывает платежный интерфейс и перенаправляет пользователя
            на адрес, указанный в параметре `settings.return_url`. `false` по
            умолчанию.
          type: boolean
        close_button_icon:
          $ref: '#/components/schemas/close_button_icon'
        is_visible:
          description: Должен ли header отображаться на странице оплаты.
          type: boolean
        type:
          description: >-
            Внешний вид header. Может принимать значения `compact` (название
            игры и ID пользователя не будут показываться в header) или `normal`.
          enum:
            - compact
            - normal
          type: string
        visible_logo:
          description: >-
            Если `true`, логотип будет отображаться в хедере. Чтобы загрузить
            изображение, откройте проект в [Личном
            кабинете](https://publisher.xsolla.com/) и перейдите в раздел **Pay
            Station > Настройки**.
          type: boolean
        visible_name:
          description: Должно ли название игры отображаться в header.
          type: boolean
        visible_purchase:
          description: >-
            Должно ли описание покупки (`purchase.description.value`)
            отображаться в header, по умолчанию `true`.
          type: boolean
      type: object
    subscription_list.desktop:
      description: Объект с данными настройки списка подписок.
      properties:
        description:
          description: >-
            Здесь вы можете передать текст про подписки. Текст появится перед
            списком рекуррентных планов в интерфейсе оплаты.
          type: string
        display_local_price:
          description: >-
            Если значение `true` и если локальная валюта пользователя отличается
            от базовой валюты плана, пользователь будет видеть две цены: цену в
            локальной валюте и цену в базовой валюте плана.
          type: boolean
      type: object
    desktop.ui:
      description: Объект с данными настроек для desktop-версии.
      properties:
        header:
          $ref: '#/components/schemas/header.desktop'
        subscription_list:
          $ref: '#/components/schemas/subscription_list.desktop'
      type: object
    gp_quick_payment_button:
      description: >-
        Расположение способа оплаты с помощью Google Pay. Если передано значение
        `true`, кнопка для быстрой оплаты с помощью Google Pay отображается в
        верхней части платежного интерфейса вне зависимости от устройства и
        браузера пользователя. Если передано значение `false`, Google Pay
        отображается в списке способов оплаты в соответствии с алгоритмом
        [PayRank](/ru/doc/pay-station/how-to/how-to-manage-top-payment-methods/).
        Если параметр не передан, Google Pay отображается в верхней части
        платежного интерфейса на любых устройствах и браузерах пользователя,
        кроме Safari — в Safari он отображается в списке способов оплаты.
      type: boolean
    header.ui:
      properties:
        visible_virtual_currency_balance:
          description: >-
            Должен ли этот элемент быть видимым в интерфейсе оплаты. `true` по
            умолчанию.
          type: boolean
      type: object
    is_cart_open_by_default:
      description: >-
        Отображение в платежном интерфейсе списка товаров корзины и финансовой
        информации. Если передано значение `true`, информация отображается в
        развернутом виде. Если передано значение `false` (по умолчанию) или
        параметр не передан, информация отображается в свернутом виде.
      type: boolean
    is_independent_windows:
      description: >-
        Осуществляется ли переход из встроенного браузера лаунчера (WebView) во
        внешний браузер для совершения покупки. `false` по умолчанию.
      type: boolean
    is_language_selector_hidden:
      description: >-
        Скрыт ли на странице оплаты переключатель языков. Если передано значение
        `false` (по умолчанию), переключатель отображается.
      type: boolean
    is_payment_methods_list_mode:
      description: >-
        Отображается ли список способов оплаты, доступных в стране игрока, при
        открытии платежного интерфейса. ​​Если передано значение `false` (по
        умолчанию), отображается способ оплаты, переданный в параметре
        `settings.payment_method` или способ, выбранный [алгоритмом
        PayRank](https://developers.xsolla.com/ru/solutions/payments/payment-ui-management/top-payment-methods-management/).
      type: boolean
    is_prevent_external_link_open:
      description: >-
        Отключение перехода по внешним ссылкам, по умолчанию `false`. При
        нажатии на внешнюю ссылку отправляется событие `external-link-open` с
        помощью механизма `postMessage`. В параметре `url` передается адрес, по
        которому выполняется переход.
      type: boolean
    is_search_field_hidden:
      description: >-
        Показывать ли в платежном интерфейсе строку поиска способов оплаты. Если
        передано значение `true`, строка поиска скрыта. `false` по умолчанию.
      type: boolean
    is_show_close_widget_warning:
      description: >-
        Показывать ли предупреждение об обработке транзакции при наведении на
        значок **×** перед закрытием страницы оплаты. Если передано значение
        `false` или параметр не передан, предупреждение не показывается. По
        умолчанию `true`.
      type: boolean
    is_three_ds_independent_windows:
      default: false
      description: >-
        Открывать ли проверку 3-D Secure в новом окне браузера. Если
        используется политика безопасности контента (Content Security Policy,
        CSP), передайте значение `true`.
      type: boolean
    layout:
      description: >-
        Расположение основных элементов платежного интерфейса. Вы можете открыть
        платежный интерфейс внутри вашей игры и/или поменять местами колонки с
        информацией о заказе и способах оплаты. Подробная информация
        представлена в [инструкции по
        кастомизации](https://developers.xsolla.com/ru/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_layout).
      enum:
        - embed
        - column_reverse
        - embed_column_reverse
      type: string
    mobile.ui:
      properties:
        header:
          properties:
            close_button:
              description: >-
                Показывать ли кнопку **Закрыть** в мобильной версии платежного
                интерфейса. Нажатие на кнопку закрывает платежный интерфейс и
                перенаправляет пользователя на адрес, указанный в параметре
                `settings.return_url`. `false` по умолчанию.
              type: boolean
            close_button_icon:
              $ref: '#/components/schemas/close_button_icon'
          type: object
      type: object
    mode.ui:
      description: >
        Режим отображения платежного интерфейса для управления сохраненными
        способами 

        оплаты. Может принимать значение `user_account` или не передаваться. В
        режиме 

        управления сохраненными способами оплаты пользователю доступно только 

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


        <div class="note">

        <p><strong>Примечание</strong></p><p>При передаче этого параметра не
        будет отображаться кнопка редиректа. Чтобы перенаправить пользователя
        после сохранения способа оплаты, настройте <a
        href="/ru/doc/pay-station/how-to/how-to-configure-redirects/#pay_station_how_to_configure_redirects_automatic/">автоматический
        редирект</a>.</p>

        </div>
      type: string
    theme.ui:
      description: >-
        Тема платежного интерфейса. Может принимать значения
        `63295a9a2e47fab76f7708e1` для светлой темы (по умолчанию) или
        `63295aab2e47fab76f7708e3` для темной темы. Вы также можете [создать
        собственную
        тему](https://developers.xsolla.com/ru/doc/pay-station/features/ui-theme-customization/#pay_station_ui_theme_customization_in_token)
        и передать ID темы в этом параметре.
      enum:
        - 63295a9a2e47fab76f7708e1
        - 63295aab2e47fab76f7708e3
      type: string
    payment_accounts_enable:
      properties:
        enable:
          description: >-
            Отображать ли в платежном интерфейсе значок карандаша для перехода к
            редактированию сохраненных способов оплаты. По умолчанию `true`.
          type: boolean
        order:
          description: >-
            Расположение раздела в раскрывающемся меню в платежном интерфейсе.
            Обязательный, если передается
            `settings.ui.user_account.payment_accounts.enable`.
          minimum: 1
          type: integer
      type: object
    user_account:
      description: Объект с данными об аккаунте пользователя.
      properties:
        payment_accounts:
          allOf:
            - description: Раздел **Сохраненные способы**.
            - $ref: '#/components/schemas/payment_accounts_enable'
      type: object
    ui:
      description: Объект с настройками интерфейса.
      properties:
        apple_pay_quick_payment_button:
          $ref: '#/components/schemas/ap_quick_payment_button'
        components:
          $ref: '#/components/schemas/components'
        currency_format:
          $ref: '#/components/schemas/currency_format'
        desktop:
          $ref: '#/components/schemas/desktop.ui'
        gp_quick_payment_button:
          $ref: '#/components/schemas/gp_quick_payment_button'
        header:
          $ref: '#/components/schemas/header.ui'
        is_cart_open_by_default:
          $ref: '#/components/schemas/is_cart_open_by_default'
        is_independent_windows:
          $ref: '#/components/schemas/is_independent_windows'
        is_language_selector_hidden:
          $ref: '#/components/schemas/is_language_selector_hidden'
        is_payment_methods_list_mode:
          $ref: '#/components/schemas/is_payment_methods_list_mode'
        is_prevent_external_link_open:
          $ref: '#/components/schemas/is_prevent_external_link_open'
        is_search_field_hidden:
          $ref: '#/components/schemas/is_search_field_hidden'
        is_show_close_widget_warning:
          $ref: '#/components/schemas/is_show_close_widget_warning'
        is_three_ds_independent_windows:
          $ref: '#/components/schemas/is_three_ds_independent_windows'
        layout:
          $ref: '#/components/schemas/layout'
        mobile:
          $ref: '#/components/schemas/mobile.ui'
        mode:
          $ref: '#/components/schemas/mode.ui'
        theme:
          $ref: '#/components/schemas/theme.ui'
        user_account:
          $ref: '#/components/schemas/user_account'
      type: object
    settings:
      description: >-
        Параметры для настройки процесса оплаты и платежного интерфейса для
        пользователя.
      properties:
        currency:
          $ref: '#/components/schemas/currency'
        external_id:
          $ref: '#/components/schemas/external_id'
        language:
          $ref: '#/components/schemas/language'
        mode:
          $ref: '#/components/schemas/mode.settings'
        payment_method:
          $ref: '#/components/schemas/payment_method'
        payment_widget:
          $ref: '#/components/schemas/payment_widget'
        project_id:
          $ref: '#/components/schemas/project_id'
        redirect_policy:
          $ref: '#/components/schemas/redirect_policy'
        return_url:
          $ref: '#/components/schemas/return_url'
        ui:
          $ref: '#/components/schemas/ui'
      required:
        - project_id
      type: object
    age.user:
      description: Возраст пользователя.
      type: integer
    attributes.user:
      description: >-
        Объект с данными об атрибутах пользователя, необходимых для фильтрации
        списка предметов. Параметры передаются в json хэше парами ключ-значение.
      type: object
    country.user:
      properties:
        allow_modify:
          description: >-
            Может ли пользователь изменить страну на странице оплаты. Если в
            токене передан параметр `country.value`, значение по умолчанию —
            `false`.
          type: boolean
        value:
          description: >-
            Используется двухбуквенное обозначение страны согласно стандарту
            [ISO 3166-1
            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
          type: string
      type: object
    email.user:
      description: >-
        Параметр `user.email` используется при построении моделей антифрода и
        положительно влияет на конверсию платежей. Передача параметра является
        обязательным требованием Xsolla и платежных систем. Если параметр не
        передан в запросе, на платежной форме появляется обязательное поле для
        ввода email-адреса. Пользователь получает чек о покупке на email-адрес,
        который был передан в параметре или указан в платежной форме.
      maxLength: 100
      properties:
        allow_modify:
          description: >-
            Может ли пользователь указать свой email-адрес на странице оплаты.
            Если в токене передан параметр `user.email.value`, значение по
            умолчанию — `false`.
          type: boolean
        value:
          description: >-
            Email-адрес пользователя. Должен быть валидным в соответствии с
            протоколом [RFC 822](https://www.w3.org/Protocols/rfc822/#z8).
          type: string
      required:
        - value
      type: object
    id.user:
      properties:
        value:
          description: >-
            Уникальный ID пользователя в игре, который хранится на вашей
            стороне. Убедитесь, что указываете существующий ID пользователя. При
            возникновении ошибок изучите [ответы на частые
            вопросы](/ru/doc/pay-station/references/faq/#faq_validation).
          type: string
      required:
        - value
      type: object
    is_legal.user:
      description: Является ли пользователь юридическим лицом.
      type: boolean
    legal:
      description: Объект с реквизитами юридического лица.
      properties:
        address:
          description: Полный юридический адрес.
          type: string
        country:
          description: >-
            Страна регистрации. Используется двухбуквенное обозначение страны
            согласно стандарту [ISO 3166-1
            alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
          type: string
        name:
          description: Полное юридическое наименование.
          type: string
        vat_id:
          description: Индивидуальный идентификатор налогоплательщика.
          type: string
      type: object
    legal.user:
      allOf:
        - description: >-
            Объект с реквизитами юридического лица. Объект и все его параметры
            являются обязательными, если в `user.is_legal` передано значение
            `true`.
        - $ref: '#/components/schemas/legal'
    name.user:
      properties:
        allow_modify:
          description: >-
            Может ли пользователь указать свое имя на странице оплаты. Если в
            токене передан параметр `user.name.value`, значение по умолчанию —
            `false`.
          type: boolean
        value:
          description: Никнейм пользователя.
          type: string
      type: object
    phone.user:
      nullable: true
      properties:
        value:
          description: Номер телефона пользователя.
          type: string
      type: object
    public_id.user:
      properties:
        value:
          description: "Параметр позволяет однозначно идентифицировать пользователя, а также, в отличие от user ID, известен пользователю (адрес электронной почты, никнейм, и т.\_д.). Параметр может использоваться при оплате покупки вне игрового магазина (например, кнопка игры в терминалах оплаты)."
          type: string
      type: object
    steam_id.user:
      properties:
        value:
          description: Steam ID пользователя.
          type: string
      type: object
    tracking_id.user:
      properties:
        value:
          description: >-
            Уникальный ID пользователя — используется для проведения рекламных
            кампаний. Может содержать цифры и латинские буквы.
          maxLength: 32
          minLength: 32
          type: string
      type: object
    utm.user:
      description: Объект с данными о характеристиках трафика.
      properties:
        utm_campaign:
          description: >-
            Название кампании. В данный параметр следует указывать
            транслитерированное или переведенное на английский язык название
            кампании.
          type: string
        utm_content:
          description: Содержание кампании.
          type: string
        utm_medium:
          description: >-
            Канал трафика (контекстная реклама, медийная реклама,
            email-рассылка).
          type: string
        utm_source:
          description: Источник трафика
          type: string
        utm_term:
          description: >-
            Ключевое слово кампании. При использовании этого параметра в
            статистике будут собираться данные по тем ключевым словам, которые
            используются для таргетинга вашей рекламной кампании (а не по
            поисковым запросам). В Google Analytics содержимое метки `utm_term`
            попадает в единый отчет с поисковыми запросами.
          type: string
      type: object
    user:
      description: Объект с информацией о пользователе.
      properties:
        age:
          $ref: '#/components/schemas/age.user'
        attributes:
          $ref: '#/components/schemas/attributes.user'
        country:
          $ref: '#/components/schemas/country.user'
        email:
          $ref: '#/components/schemas/email.user'
        id:
          $ref: '#/components/schemas/id.user'
        is_legal:
          $ref: '#/components/schemas/is_legal.user'
        legal:
          $ref: '#/components/schemas/legal.user'
        name:
          $ref: '#/components/schemas/name.user'
        phone:
          $ref: '#/components/schemas/phone.user'
        public_id:
          $ref: '#/components/schemas/public_id.user'
        steam_id:
          $ref: '#/components/schemas/steam_id.user'
        tracking_id:
          $ref: '#/components/schemas/tracking_id.user'
        utm:
          $ref: '#/components/schemas/utm.user'
      required:
        - id
      type: object
    token:
      example:
        settings:
          currency: USD
          language: en
          project_id: 16184
          ui:
            size: medium
        user:
          email:
            value: email@example.com
          id:
            value: user_2
          name:
            value: John Smith
      properties:
        custom_parameters:
          $ref: '#/components/schemas/custom_parameters'
        purchase:
          $ref: '#/components/schemas/purchase'
        settings:
          $ref: '#/components/schemas/settings'
        user:
          $ref: '#/components/schemas/user'
      type: object
    mock_code:
      description: >-
        Код ошибки, которую вы хотите воспроизвести при тестировании оплаты
        через PayPal в тестовом окружении (sandbox-режиме). Работает корректно,
        только если передан параметр `"mode":"sandbox"`.
      enum:
        - 1057
        - 1015
        - 3006
        - 1801
        - 1803
        - 1039
        - 3031
        - 1203
        - 3006
        - 1201
        - 1002
        - 1089
        - 2031
        - 1046
        - 5004
      type: integer
  requestBodies:
    charge-with-saved-account:
      content:
        application/json:
          example:
            purchase:
              description:
                value: currency purchase
              virtual_currency:
                quantity: 100
            settings:
              currency: USD
              external_id: ext123
              mode: sandbox
            user:
              ip: 111.11.11.11
              legal:
                address: 17 Crown Street London SW2 0JW United Kingdom
                country: GB
                name: My Awesome Company
                vat_id: GB111111111
              name: John Smith
          schema:
            properties:
              custom_parameters:
                $ref: '#/components/schemas/custom_parameters'
              purchase:
                description: Объект с информацией о заказе.
                properties:
                  checkout:
                    description: Объект с информацией о заказе.
                    properties:
                      amount:
                        description: Сумма заказа.
                        format: float
                        type: number
                      currency:
                        description: >-
                          Валюта заказа. Используется трехбуквенное обозначение
                          валюты согласно стандарту [ISO
                          4217](https://developers.xsolla.com/ru/doc/pay-station/references/supported-currencies/).
                        type: string
                    type: object
                  description:
                    maxLength: 4000
                    properties:
                      value:
                        type: string
                    type: object
                  virtual_currency:
                    description: Объект с данными о виртуальной валюте.
                    properties:
                      quantity:
                        description: Количество виртуальной валюты в заказе.
                        format: float
                        type: number
                    type: object
                type: object
              settings:
                description: Объект с данными о настройках.
                properties:
                  currency:
                    $ref: '#/components/schemas/currency'
                  external_id:
                    $ref: '#/components/schemas/external_id'
                  mock_code:
                    $ref: '#/components/schemas/mock_code'
                  mode:
                    description: >-
                      Передайте значение `sandbox`, чтобы провести тестовые
                      платежи. Для проведения реальных платежей этот параметр
                      необходимо убрать.
                    type: string
                type: object
              user:
                description: Объект с информацией о пользователе.
                properties:
                  ip:
                    description: IP адрес пользователя.
                    type: string
                  legal:
                    $ref: '#/components/schemas/legal'
                  name:
                    description: Имя пользователя.
                    type: string
                required:
                  - ip
                type: object
            type: object
      required: true
