{
  "openapi": "3.0.0",
  "info": {
    "description": "# Введение\n\n* **Версия:** 2.0.0\n* **Серверы**:\n  * `https://api.xsolla.com/api`\n\nPay Station позволяет вам монетизировать игру, предоставляя пользователям \nудобный интерфейс для оплаты покупок во внутриигровом магазине. Чтобы настроить \nоткрытие платежного интерфейса, следуйте [инструкции](/ru/doc/pay-station/how-to/how-to-open-payment-ui/).\n\nВ Pay Station API представлены следующие группы методов:\n- Токен — содержит метод для создания токена с любыми параметрами пользователя \n  для дальнейшей обработки платежа через платежный интерфейс.\n- [Токенизация](/ru/doc/pay-station/features/tokenization/) — содержит методы для \n  проведения безопасных платежей без открытия платежного интерфейса и \n  непосредственного участия пользователя.\n- Отчеты — содержит методы для возвращения информации о транзакциях пользователя, \n  а также создания отчетов и получения детализации выплат по валютам.\n- Возврат платежа — содержит методы для создания запросов на отмену платежа и на \n  частичный возврат платежа.\n- Тестирование — содержит метод для тестирования процесса чарджбэка.\n\nПодробные сведения о настройке платежного интерфейса приведены в [руководстве \nпо интеграции решения Payments](/ru/solutions/payments/integration-guide/integration-flow/).\n\n<div class=\"note\">\n<p><strong>Примечание</strong></p><p>Вы также можете использовать раздел <b>Xsolla Base API</b> из <a href=\"https://github.com/xsolla/xsolla-postman\">коллекции Postman</a>, чтобы протестировать методы, необходимые для интеграции.</p>\n</div>\n",
    "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) в тестовом окружении:\n\n- Чтобы получить доступ к тестовому окружению, передайте параметр \n  `\"mode\":\"sandbox\"` при [получении токена](https://developers.xsolla.com/ru/api/pay-station/operation/create-token/).\n\n- Тестовый платеж должен быть совершен в проекте, который вы используете для \n  тестирования.\n\n- Транзакция **не должна быть** в статусах `refunded`, `cancelled`.\n\n- Ваша роль в Личном кабинете должна быть как минимум **Финансовый менеджер**. \n  (Вы можете найти эту информацию в разделе **Настройки компании > \n  Пользователи**.)\n\n- Подробную информацию об этом сценарии тестирования читайте в <a \n  href=\"https://developers.xsolla.com/ru/doc/pay-station/testing/test-one-time-\n  purchase-in-\n  sandbox/#pay_station_testing_sandbox_bank_card_chargeback\">инструкции</a>.\n\n<div class=\"note\">\n<p><strong>Примечание</strong></p><p>О других сценариях тестирования читайте в <a href=\"https://developers.xsolla.com/ru/doc/pay-station/testing/general-info/\">документации</a>.</p>\n</div>\n",
        "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": "Возможны следующие варианты ответов:\n- Error processing chargeback. Try again or use another payment.\n- Payment not found. Check payment ID.\n- Payment does not belong to this project.\n- Not test payment. Chargeback is possible only for payments made in sandbox mode.\n- 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": "Список финансовых отчетов за указанный период времени.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n",
        "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": "Возвращает список с подробной информацией об успешных и отмененных транзакциях \nза указанный период. В ответе вы получите данные о платежах, включая информацию \nо комиссиях, налогах, а также о заказе и пользователе. Список доступен в \nформате JSON или CSV. Вы можете использовать этот метод API для финансовой \nсверки.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n",
        "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": "Возвращает список транзакций на основе параметров поиска. В ответе вы получите \nданные о всех платежах, совершенных в вашей игре, даже если они не были \nзавершены успешно. Вы можете указать не только период выполнения транзакции, но \nи другие параметры, например, чтобы найти транзакции определенного пользователя \nили в определенном статусе платежа. Список будет доступен в формате JSON или \nCSV.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n",
        "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": "Быстрое получение списка транзакций на основе параметров поиска в течение \nнескольких секунд. Альтернатива методу API [Поиск транзакций](/ru/api/pay-station/operation/find-transactions/), который возвращает результаты поиска в \nформате JSON, CSV или XLS.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n",
        "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"
                          }
                        },
                        "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": "Получение детализации выплат по валютам.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n",
        "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.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n",
        "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": "Отправка запроса на частичный возврат платежа пользователю. Подробная \nинформация о процессе возврата, а также список способов оплаты, которые \nподдерживают оформление частичного возврата, приведены в \n[документации](https://developers.xsolla.com/ru/doc/pay-station/features/refund/#pay_station_features_refund_how_it_works_partial_refund_flow).\n\n<div class=\"note\">\n<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>\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": "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": "**Возврат платежа недоступен**\n\nВозможны следующие варианты ответов:\n- Partial refund is unavailable for operations with user balance.\n- Requested transaction is partial refund and cannot be canceled.\n- Partial refund is unavailable for subscription payments.\n- Refund cannot be completed due to a payment system error. Please try again \n  later.\n- Requested partial refund amount exceeds payment amount.\n- Requested partial refund amount is less than minimum amount specified by \n  payment system.\n- Payment amount after partial refund will be less than allowable amount \n  specified by payment system.\n- Dispute for this invoice is already opened. Can’t make a refund yet.\n\n**Платежный метод не поддерживает частичные возвраты**\n\nВозможны следующие варианты ответов:\n- Current payment method does not support partial refunds.\n- Current transaction status does not allow refunds.\n- Deadline for refund is exceeded.\n- Partial refund is unavailable because discount was applied during payment \n  creation.\n\n**Неправильный формат ввода валюты**\n\nВозможен следующий вариант ответа:\n- Partial refund is unavailable because requested amount is specified with \n  incorrect precision for purchase currency.\n",
                      "type": "string"
                    }
                  },
                  "type": "object"
                }
              }
            },
            "description": "Ошибка в данных"
          }
        },
        "security": [
          {
            "basicAuth": []
          }
        ],
        "summary": "Частичный возврат платежа",
        "tags": [
          "refund"
        ],
        "x-server": true
      }
    },
    "/merchants/{merchant_id}/reports/transactions/{transaction_id}/refund": {
      "put": {
        "description": "Отправка запроса на возврат платежа пользователю. Подробнее о процессе возврата \nможно прочитать в [инструкции](https://developers.xsolla.com/ru/doc/pay-station/features/refund/).\n\n<div class=\"note\">\n<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>\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": "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": "Возможны следующие варианты ответов: \n- No content.\n- The request for a refund has been accepted. Xsolla CS will manually complete the refund. It may take up to two business days.\n- 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": "Возможны следующие варианты ответов: \n- We are processing the refund request. This may take up to two business days.\n- We are reaching the user for the information required for the refund. For details, contact Xsolla Support.\n- Incorrect payment status. Refund is possible only for payments with \"completed\" or \"error\" status.\n- To process this request, the customer’s email address field must be filled. Please specify the customer’s email address and try again.\n- Full refund is unavailable because there are successful partial refunds for this transaction.\n- Refund failed. Please contact Xsolla Support to process it manually.\n- 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": "Получение списка выплат за определенный период.\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Этот метод API не включает в себя path-параметр <code>project_id</code>, поэтому для авторизации вам необходимо использовать ключ API, который действует во всех проектах.</p>\n</div>\n",
        "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": "Загрузка списка сохраненных платежных аккаунтов пользователя.\n\n<div class=\"note\">\n<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>\n</div>\n",
        "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": "Удаление сохраненного платежного аккаунта.\n\n<div class=\"note\">\n<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>\n</div>\n\n<p></p>\n\n<div class=\"note\">\n<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>\n</div>\n",
        "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": "Оплата по сохраненному платежному аккаунту.\n\n<div class=\"note\">\n<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>\n</div>\n\n<p></p>\n\n<div class=\"notice\">\n<p><strong>Внимание</strong></p><p>Для корректной работы метода настройте время ожидания 2 минуты.</p>\n</div>\n",
        "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": {
        "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": {
        "description": "Статус транзакции.",
        "enum": [
          "created",
          "processing",
          "review",
          "error",
          "done",
          "awaitingRefund",
          "refunded",
          "canceled",
          "partiallyRefunded"
        ],
        "type": "string",
        "x-enumDescriptions": {
          "awaitingRefund": "Транзакция ожидает решения по возврату платежа. После того как пользователь запросил возврат, служба поддержки Xsolla вручную обрабатывает запрос и принимает решение по возврату.",
          "canceled": "Возможны два случая:\n  - Транзакция была отменена на стороне платежной системы. Например, в случае, когда у пользователя оказалось недостаточно средств на счету.\n  - Платеж был возвращен пользователю.",
          "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"
      },
      "is_lootbox": {
        "default": false,
        "description": "Является ли товар лутбоксом.",
        "type": "boolean"
      },
      "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": {
          "is_lootbox": {
            "$ref": "#/components/schemas/is_lootbox"
          },
          "subscription": {
            "$ref": "#/components/schemas/subscription"
          }
        },
        "type": "object"
      },
      "cancel_url": {
        "description": "URL-адрес страницы, на которую перенаправляется пользователь, когда нажимает кнопку закрытия платежного интерфейса до совершения платежа. Работает, только если вы настроили кнопку с помощью объектов `settings.​ui.​desktop.​header` или `settings.​ui.​mobile`. Если кнопка настроена, но URL-адрес страницы не передан в этом параметре, используется URL-адрес, указанный в параметре `settings.return_url`.",
        "type": "string"
      },
      "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"
          },
          "show_redirect_countdown": {
            "default": false,
            "description": "Отображать ли на странице со статусом платежа таймер обратного отсчета до перенаправления пользователя. Длительность отсчета определяется значением, переданным в параметре `settings.redirect_policy.delay`.",
            "type": "boolean"
          },
          "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"
      },
      "alternative_first_screen": {
        "description": "Альтернативный вид экрана платежного интерфейса при его открытии. Например, \nможет отображать приоритетные способы оплаты.\n\nКогда передано значение `apple-pay`, при открытии платежного интерфейса \nпользователь видит приоритетную кнопку оплаты с помощью Apple Pay и ссылку для \nперехода к списку других способов оплаты. На устройства Android эта логика не \nраспространяется.\n",
        "enum": [
          "apple-pay"
        ],
        "type": "string"
      },
      "ap_quick_payment_button": {
        "description": "Отображать ли кнопку для быстрой оплаты с помощью Apple Pay в верхней части \nплатежного интерфейса, если этот способ оплаты поддерживается на устройстве \nпользователя. `true` по умолчанию. Если передано значение `false`, Apple Pay \nотображается в списке способов оплаты в соответствии с алгоритмом [PayRank](/ru/doc/pay-station/how-to/how-to-manage-top-payment-methods/).\n\n<div class=\"note\">\n<p><strong>Примечание</strong></p><p>На мобильных Android-устройствах, а также на любых других, где сервис Apple Pay недоступен, этот способ оплаты будет скрыт из списка вне зависимости от значения параметра.</p>\n</div>\n",
        "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": {
            "default": false,
            "description": "Показывать ли кнопку закрытия платежного интерфейса. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на URL-адрес, указанный в параметре `settings.cancel_url`. Если в нем не передан URL-адрес, пользователь перенаправляется на URL-адрес, указанный в параметре `settings.return_url`.",
            "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": {
                "default": false,
                "description": "Показывать ли кнопку закрытия платежного интерфейса в мобильной версии. Нажатие на кнопку закрывает платежный интерфейс и перенаправляет пользователя на URL-адрес, указанный в параметре `settings.cancel_url`. Если в нем не передан URL-адрес, пользователь перенаправляется на URL-адрес, указанный в параметре `settings.return_url`.",
                "type": "boolean"
              },
              "close_button_icon": {
                "$ref": "#/components/schemas/close_button_icon"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "mode.ui": {
        "description": "Режим отображения платежного интерфейса для управления сохраненными способами \nоплаты. Может принимать значение `user_account` или не передаваться. В режиме \nуправления сохраненными способами оплаты пользователю доступно только \nпереключение языка, добавление и удаление способов оплаты.\n\n<div class=\"note\">\n<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>\n</div>\n",
        "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": {
          "alternative_first_screen": {
            "$ref": "#/components/schemas/alternative_first_screen"
          },
          "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": {
          "cancel_url": {
            "$ref": "#/components/schemas/cancel_url"
          },
          "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-адрес, который был передан в параметре или указан в платежной форме.",
        "properties": {
          "allow_modify": {
            "description": "Может ли пользователь указать свой email-адрес на странице оплаты. Если в токене передан параметр `user.email.value`, значение по умолчанию — `false`.",
            "type": "boolean"
          },
          "value": {
            "description": "Email-адрес пользователя. Должен быть валидным в соответствии с протоколом [RFC 822](https://www.w3.org/Protocols/rfc822/#z8).",
            "maxLength": 100,
            "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": [
          1002,
          1015,
          1039,
          1046,
          1057,
          1089,
          1201,
          1203,
          1801,
          1803,
          2031,
          3006,
          3031,
          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": {
                      "properties": {
                        "value": {
                          "maxLength": 4000,
                          "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
      }
    }
  }
}