anapi/swagger.json
2021-03-05 16:55:58 +00:00

4200 lines
132 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"swagger": "2.0",
"info": {
"version": "1.0.0",
"title": "RBKmoney Platform Analytics API",
"description": "## Описание\nRBKmoney Analytics API является точкой взаимодействия с аналитической и поисковой частью платформы. Все аналитическоие запросы осуществляются с помощью вызовов соответствующих методов API. Любые сторонние приложения, включая наши веб-сайты, личные кабинеты и другие UI-интерфейсы являются внешними приложениями-клиентами.\nRBKmoney Analytics API работает поверх HTTP-протокола. Мы используем REST архитектуру, схема описывается в соответствии со [Swagger](http://swagger.io/). Коды возврата описываются соответствующими HTTP-статусами. Платформа принимает и возвращает JSON-структуры в HTTP body.\n## Запросы\nЛюбой вызов методов API обязан предваряться предоставлением уникального для участника в пределах платформы ID запроса. Данный ID передается в соответствующем заголовке HTTP-запроса:\n```\n X-Request-ID: oX5MWM2AQy\n```\nПлатформа гарантирует идемпотентность запросов, отправленных с одинаковым ID.\n## Тип содержимого и кодировка\nЛюбой запрос к API должен выполняться в кодировке UTF-8 и с указанием содержимого в формате JSON\n```\n Content-Type: application/json; charset=utf-8\n```\n## Формат дат\nПлатформа принимает значения date-time в стандарте ISO 8601 с обязательным указанием UTC-оффсета, например:\n```\n 2017-01-01T00:00:00Z\n 2017-01-01T00:00:01+00:00\n```\n## Максимальное время обработки запроса\nК любому вызову методов API можно добавить параметр отсечки по времени, определяющий максимальное время ожидания завершения операции по запросу. Данная отсечка передается в соответствующем заголовке HTTP-запроса:\n```\n X-Request-Deadline: 10s\n```\nЗначение отсечки может быть задано в формате ISO 8601 (см. [Формат дат](#section/Format-dat)), либо в относительных величинах, например:\n`150000ms`, `540s`, `3.5m` При этом возможные единицы измерения `ms`, `s`, `m`. В обоих случаях не рекомендуется, чтобы задаваемое значение было меньше **3 секунд** и превышало **1 минуту**.\n## Поиск по магазинам\nAPI предоставляет несколько различных критериев для выбора магазинов, в рамках которых будет выполняться поиск или аналитика: `shopID`, `shopIDs`, `paymentInstitutionRealm`. В случае использования нескольких критериев одновременно в выборку будут включены магазины, подпадающие под хотя бы один из перечисленных критериев.\n",
"termsOfService": "https://rbk.money/",
"contact": {
"name": "RBKmoney support team",
"email": "support@rbk.money",
"url": "https://api.rbk.money"
}
},
"host": "api.rbk.money",
"basePath": "/lk/v1",
"schemes": [
"https"
],
"consumes": [
"application/json; charset=utf-8"
],
"produces": [
"application/json; charset=utf-8"
],
"securityDefinitions": {
"bearer": {
"type": "apiKey",
"name": "Authorization",
"in": "header",
"description": "Для аутентификации вызовов мы используем [JWT](https://jwt.io). Cоответствующий ключ передается в заголовке.\n```shell\n Authorization: Bearer {JWT}\n```\nПосмотреть ваш API-ключ вы можете в [личном кабинете](https://dashboard.rbk.money/).\n\nПомните, что вы никому не должны передавать ваш API ключ!\n"
}
},
"security": [
{
"bearer": []
}
],
"responses": {
"NotFound": {
"description": "Заданный ресурс не найден",
"schema": {
"$ref": "#/definitions/GeneralError"
}
},
"Unauthorized": {
"description": "Ошибка авторизации"
},
"DefaultLogicError": {
"description": "Неверные данные",
"schema": {
"$ref": "#/definitions/DefaultLogicError"
}
}
},
"parameters": {
"accountID": {
"name": "accountID",
"in": "path",
"description": "Account ID",
"required": true,
"type": "integer",
"format": "int64"
},
"requestID": {
"name": "X-Request-ID",
"in": "header",
"description": "Уникальный идентификатор запроса к системе",
"required": true,
"type": "string",
"maxLength": 32,
"minLength": 1
},
"shopIDQuery": {
"name": "shopID",
"in": "query",
"description": "Идентификатор магазина",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"shopIDPath": {
"name": "shopID",
"in": "path",
"description": "Идентификатор магазина",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"partyIDQuery": {
"name": "partyID",
"in": "query",
"description": "Уникальный идентификатор участника в рамках платформы",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"paymentID": {
"name": "paymentID",
"in": "path",
"description": "Идентификатор платежа в рамках инвойса",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"refundID": {
"name": "refundID",
"in": "path",
"description": "Идентификатор возврата в рамках платежа",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"contractID": {
"name": "contractID",
"in": "path",
"description": "Идентификатор договора",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"residence": {
"name": "residence",
"in": "query",
"description": "Резиденция, alpha-3 код по стандарту [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)",
"required": false,
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"customerID": {
"name": "customerID",
"in": "path",
"description": "Идентификатор кастомера",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"payoutID": {
"name": "payoutID",
"in": "path",
"description": "Идентификатор вывода",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"invoiceID": {
"name": "invoiceID",
"in": "path",
"description": "Идентификатор инвойса",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"fromTime": {
"name": "fromTime",
"in": "query",
"description": "Начало временного отрезка",
"required": true,
"type": "string",
"format": "date-time"
},
"toTime": {
"name": "toTime",
"in": "query",
"description": "Конец временного отрезка",
"required": true,
"type": "string",
"format": "date-time"
},
"splitUnit": {
"name": "splitUnit",
"in": "query",
"description": "Единица времени сегмента разбиения",
"required": true,
"type": "string",
"enum": [
"minute",
"hour",
"day",
"week",
"month",
"year"
]
},
"splitSize": {
"name": "splitSize",
"in": "query",
"description": "Размер сегмента разбиения",
"required": true,
"type": "integer",
"format": "int32",
"minimum": 1
},
"limit": {
"name": "limit",
"in": "query",
"description": "Лимит выборки",
"required": true,
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 1000
},
"offset": {
"name": "offset",
"in": "query",
"description": "Смещение выборки",
"required": false,
"type": "integer",
"minimum": 0
},
"deadline": {
"name": "X-Request-Deadline",
"in": "header",
"description": "Максимальное время обработки запроса",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"shopIDs": {
"name": "shopIDs",
"in": "query",
"description": "Идентификаторы магазинов",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
"excludeShopIDs": {
"name": "excludeShopIDs",
"in": "query",
"description": "Идентификаторы магазинов не включаемые в запрос",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
"reportType": {
"name": "reportType",
"in": "query",
"description": "Тип отчета",
"required": true,
"type": "string",
"enum": [
"provisionOfService",
"paymentRegistry"
]
},
"reportID": {
"name": "reportID",
"in": "path",
"description": "Идентификатор отчета",
"required": true,
"type": "integer",
"format": "int64"
},
"fileID": {
"name": "fileID",
"in": "path",
"description": "Идентификатор файла",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
},
"paymentInstitutionRealm": {
"name": "paymentInstitutionRealm",
"in": "query",
"description": "Тип магазина, тестовый или «боевой»",
"required": false,
"type": "string",
"enum": [
"live",
"test"
]
}
},
"tags": [
{
"name": "Search",
"x-displayName": "Поиск",
"description": "Для получения списка всех инвойсов/платежей указанного магазина необходимо вызвать соответствующий метод платформы. Имеется возможность отфильтровать выборку по определенным статусам.\n"
},
{
"name": "Error Codes",
"x-displayName": "Коды ошибок",
"description": "\n## Ошибки бизнес-логики\nВсе ошибки бизнес-логики имеют следуюший вид:\n\n ```json\n {\n \"code\": \"string\",\n \"message\": \"string\"\n }\n ```\n\nВ поле `code` содержится тип ошибки, а в `message` - дополнительная информация по произошедшей ошибке.\nНа данный момент существуют следующие коды ошибок:\n\n | Код | Описание |\n | --- | -------- |\n | **invalidDeadline** | Неверный формат максимального времени обработки запроса. |\n | **ambiguousPartyID** | Невозможно однозначно определить идентификатор участника, укажите идентификатор в запросе явно. |\n | **invalidPartyID** | Участник с указанным идентификатором не существует или недоступен. |\n | **invalidRequest** | Прочие неверные данные запроса. |\n\n## Общие ошибки\nОшибки возникающие при попытках совершения операций с незарегистрированными в системе объектами. Имеют вид\n\n ```json\n {\n \"message\": \"string\"\n }\n ```\n\nВ поле `message` содержится информация по произошедшей ошибке. Например:\n\n ```json\n {\n \"message\": \"Invalid token\"\n }\n ```\n\n## Ошибки обработки запросов\nВ процессе обработки запросов силами нашей платформы могут происходить различные непредвиденные ситуации. Об их появлении платформа сигнализирует по протоколу HTTP соответствующими [статусами][5xx], обозначающими ошибки сервера.\n\n | Код | Описание |\n | ------- | ---------- |\n | **500** | В процессе обработки платформой запроса возникла непредвиденная ситуация. При получении подобного кода ответа мы рекомендуем обратиться в техническую поддержку. |\n | **503** | Платформа временно недоступна и не готова обслуживать данный запрос. Запрос гарантированно не выполнен, при получении подобного кода ответа попробуйте выполнить его позднее, когда доступность платформы будет восстановлена. |\n | **504** | Платформа превысила допустимое время обработки запроса, результат запроса не определён. Попробуйте отправить запрос повторно или выяснить результат выполнения исходного запроса, если повторное исполнение запроса нежелательно. |\n\n[5xx]: https://tools.ietf.org/html/rfc7231#section-6.6\n\nЕсли вы получили ошибку, которой нет в данном описании, обратитесь в техническую поддержку.\n"
},
{
"name": "Reports",
"x-displayName": "Отчеты",
"description": "Один раз в отчетный период платформа автоматически подготавливает и размещает документы в формате XLSX с разбиением по магазину активной категории. Также, каждый документ будет подписан [квалифицированной ЭЦП](http://minsvyaz.ru/ru/appeals/faq/31/). Данная подпись является юридически значимой и позволяет полностью отказаться от бумажного документооборота.\n"
},
{
"name": "Analitics",
"x-displayName": "Аналитика",
"description": "Аналитические методы по статистике платежей\n"
}
],
"paths": {
"/analytics/balances/current-shop-balances": {
"get": {
"description": "Получение текущего баланса с группировкой по магазинам",
"tags": [
"Analytics"
],
"operationId": "getCurrentBalancesGroupByShop",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
}
],
"responses": {
"200": {
"description": "Список балансов с группировкой по магазинам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/GroupByShopAmountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/balances/current": {
"get": {
"description": "Получение текущего баланса по магазину",
"tags": [
"Analytics"
],
"operationId": "getCurrentBalances",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
}
],
"responses": {
"200": {
"description": "Список оборотов с группировкой по валютам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/AmountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments-tool": {
"get": {
"description": "Получение распределения использования платежных инструментов",
"tags": [
"Analytics"
],
"operationId": "getPaymentsToolDistribution",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
}
],
"responses": {
"200": {
"description": "Распределение использования платежных инструментов",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/PaymentsToolDistributionResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments/amount": {
"get": {
"description": "Получение списка оборотов с группировкой по валютам",
"tags": [
"Analytics"
],
"operationId": "getPaymentsAmount",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
}
],
"responses": {
"200": {
"description": "Список оборотов с группировкой по валютам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/AmountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments/average": {
"get": {
"description": "Получение среднего размера платежа с группировкой по валютам",
"tags": [
"Analytics"
],
"operationId": "getAveragePayment",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
}
],
"responses": {
"200": {
"description": "Средний размер платежа с группировкой по валютам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/AmountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments/count": {
"get": {
"description": "Получение количества платежей с группировкой по валютам",
"tags": [
"Analytics"
],
"operationId": "getPaymentsCount",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
}
],
"responses": {
"200": {
"description": "Среднее количество платежей с группировкой по валютам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/CountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments/errors": {
"get": {
"description": "Получение распределения ошибок",
"tags": [
"Analytics"
],
"operationId": "getPaymentsErrorDistribution",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
}
],
"responses": {
"200": {
"description": "Распределение ошибок",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/PaymentsErrorsDistributionResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments/split-amount": {
"get": {
"description": "Получение списка оборотов с группировкой по валютам и разделенные по временным интервалам",
"tags": [
"Analytics"
],
"operationId": "getPaymentsSplitAmount",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"$ref": "#/parameters/splitUnit"
}
],
"responses": {
"200": {
"description": "Список оборотов с группировкой по валютам и разделенные по временным интервалам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/SplitAmountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments/split-count": {
"get": {
"description": "Получение количества платежей с группировкой по валютам и статусам, разделенного по временным интервалам",
"tags": [
"Analytics"
],
"operationId": "getPaymentsSplitCount",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"$ref": "#/parameters/splitUnit"
}
],
"responses": {
"200": {
"description": "Количество платежей с группировкой по валютам и статусам, разделенное по временным интервалам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/SplitCountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/payments/sub-errors": {
"get": {
"description": "Получение распределения ошибок с подошибками",
"tags": [
"Analytics"
],
"operationId": "getPaymentsSubErrorDistribution",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
}
],
"responses": {
"200": {
"description": "Распределение ошибок с подошибками",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/PaymentsSubErrorsDistributionResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/analytics/refunds/amount": {
"get": {
"description": "Получение списка возвратов с группировкой по валютам",
"tags": [
"Analytics"
],
"operationId": "getRefundsAmount",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/excludeShopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
}
],
"responses": {
"200": {
"description": "Список возвратов с группировкой по валютам",
"schema": {
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/AmountResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/chargebacks": {
"get": {
"description": "Поиск чарджбэков",
"tags": [
"Search"
],
"operationId": "searchChargebacks",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"$ref": "#/parameters/limit"
},
{
"$ref": "#/parameters/offset"
},
{
"name": "invoiceID",
"in": "query",
"description": "Идентификатор инвойса",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "paymentID",
"in": "query",
"description": "Идентификатор платежа",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "chargebackID",
"in": "query",
"description": "Идентификатор чарджбэка",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "chargebackStatuses",
"in": "query",
"description": "Статусы чарджбэков",
"required": false,
"type": "array",
"items": {
"type": "string",
"enum": [
"pending",
"accepted",
"rejected",
"cancelled"
]
}
},
{
"name": "chargebackStages",
"in": "query",
"description": "Этапы чарджбэков",
"required": false,
"type": "array",
"items": {
"type": "string",
"enum": [
"chargeback",
"pre_arbitration",
"arbitration"
]
}
},
{
"name": "chargebackCategories",
"in": "query",
"description": "Категории чарджбэков",
"required": false,
"type": "array",
"items": {
"type": "string",
"enum": [
"fraud",
"dispute",
"authorisation",
"processing_error"
]
}
},
{
"name": "continuationToken",
"in": "query",
"required": false,
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
}
],
"responses": {
"200": {
"description": "Найденные чарджбэки",
"schema": {
"type": "object",
"properties": {
"totalCount": {
"type": "integer"
},
"continuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
},
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/Chargeback"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/invoices": {
"get": {
"description": "Поиск инвойсов",
"tags": [
"Search"
],
"operationId": "searchInvoices",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"$ref": "#/parameters/limit"
},
{
"name": "invoiceIDs",
"in": "query",
"description": "Список инвойсов",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "invoiceStatus",
"in": "query",
"description": "Статус инвойса для поиска",
"required": false,
"type": "string",
"enum": [
"unpaid",
"cancelled",
"paid",
"fulfilled"
]
},
{
"name": "invoiceID",
"in": "query",
"description": "Идентификатор инвойса",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "externalID",
"in": "query",
"description": "Внешний идентификатор",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "invoiceAmountFrom",
"in": "query",
"description": "Минимальная сумма инвойса",
"required": false,
"type": "integer",
"format": "int64",
"minimum": 1
},
{
"name": "invoiceAmountTo",
"in": "query",
"description": "Максимальная сумма инвойса",
"required": false,
"type": "integer",
"format": "int64",
"minimum": 1
},
{
"name": "excludedShops",
"in": "query",
"description": "Идентификаторы магазинов, исключаемых из поиска",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "continuationToken",
"in": "query",
"required": false,
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
}
],
"responses": {
"200": {
"description": "Найденные инвойсы",
"schema": {
"type": "object",
"properties": {
"continuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
},
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/Invoice"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/payments": {
"get": {
"description": "Поиск платежей",
"tags": [
"Search"
],
"operationId": "searchPayments",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"$ref": "#/parameters/limit"
},
{
"name": "invoiceIDs",
"in": "query",
"description": "Список инвойсов",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "paymentStatus",
"in": "query",
"description": "Статус платежа для поиска",
"required": false,
"type": "string",
"enum": [
"pending",
"processed",
"captured",
"cancelled",
"refunded",
"failed"
]
},
{
"name": "paymentFlow",
"in": "query",
"description": "Flow платежа",
"required": false,
"type": "string",
"enum": [
"instant",
"hold"
]
},
{
"name": "paymentMethod",
"in": "query",
"description": "Метод оплаты",
"required": false,
"type": "string",
"enum": [
"bankCard",
"paymentTerminal"
]
},
{
"name": "paymentTerminalProvider",
"in": "query",
"description": "Провайдер платежного терминала",
"required": false,
"type": "string",
"enum": [
"euroset",
"wechat",
"alipay",
"zotapay",
"qps",
"uzcard",
"rbs"
]
},
{
"name": "invoiceID",
"in": "query",
"description": "Идентификатор инвойса",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "paymentID",
"in": "query",
"description": "Идентификатор платежа",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "externalID",
"in": "query",
"description": "Внешний идентификатор",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "payerEmail",
"in": "query",
"description": "Email, указанный при оплате",
"required": false,
"type": "string",
"format": "email",
"maxLength": 100
},
{
"name": "payerIP",
"in": "query",
"description": "IP-адрес плательщика",
"required": false,
"type": "string",
"format": "ip-address",
"maxLength": 45
},
{
"name": "payerFingerprint",
"in": "query",
"description": "Уникальный отпечаток user agent'а плательщика",
"required": false,
"type": "string",
"maxLength": 1000
},
{
"name": "customerID",
"in": "query",
"description": "Идентификатор плательщика",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "first6",
"in": "query",
"description": "Первые 6 цифр номера карты",
"required": false,
"type": "string",
"pattern": "^\\d{6}$"
},
{
"name": "last4",
"in": "query",
"description": "Последние 4 цифры номера карты",
"required": false,
"type": "string",
"pattern": "^\\d{4}$"
},
{
"name": "rrn",
"in": "query",
"description": "Retrieval Reference Number",
"required": false,
"type": "string",
"pattern": "^[a-zA-Z0-9]{12}$"
},
{
"name": "approvalCode",
"in": "query",
"description": "Authorization Approval Code",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "bankCardTokenProvider",
"in": "query",
"required": false,
"description": "Провайдер платежных токенов",
"type": "string",
"enum": [
"applepay",
"googlepay",
"samsungpay",
"yandexpay"
]
},
{
"name": "bankCardPaymentSystem",
"in": "query",
"required": false,
"description": "Платежная система",
"type": "string",
"enum": [
"visa",
"mastercard",
"visaelectron",
"maestro",
"forbrugsforeningen",
"dankort",
"amex",
"dinersclub",
"discover",
"unionpay",
"jcb",
"nspkmir",
"elo",
"rupay",
"dummy",
"uzcard"
]
},
{
"name": "paymentAmountFrom",
"in": "query",
"description": "Минимальная сумма платежа",
"required": false,
"type": "integer",
"format": "int64",
"minimum": 1
},
{
"name": "paymentAmountTo",
"in": "query",
"description": "Максимальная сумма платежа",
"required": false,
"type": "integer",
"format": "int64",
"minimum": 1
},
{
"name": "excludedShops",
"in": "query",
"description": "Идентификаторы магазинов, исключаемых из поиска",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "continuationToken",
"in": "query",
"required": false,
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
}
],
"responses": {
"200": {
"description": "Найденные платежи",
"schema": {
"type": "object",
"properties": {
"continuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
},
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/PaymentSearchResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/payouts": {
"get": {
"description": "Поиск выплат",
"tags": [
"Search"
],
"operationId": "searchPayouts",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"$ref": "#/parameters/limit"
},
{
"$ref": "#/parameters/offset"
},
{
"name": "payoutID",
"in": "query",
"description": "Идентификатор выплаты",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "payoutToolType",
"in": "query",
"description": "Тип выплаты для поиска",
"required": false,
"type": "string",
"enum": [
"PayoutAccount",
"Wallet"
]
},
{
"name": "excludedShops",
"in": "query",
"description": "Идентификаторы магазинов, исключаемых из поиска",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "continuationToken",
"in": "query",
"required": false,
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
}
],
"responses": {
"200": {
"description": "Найденные выплаты",
"schema": {
"type": "object",
"properties": {
"totalCount": {
"type": "integer"
},
"continuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
},
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/Payout"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/refunds": {
"get": {
"description": "Поиск возвратов",
"tags": [
"Search"
],
"operationId": "searchRefunds",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"$ref": "#/parameters/limit"
},
{
"$ref": "#/parameters/offset"
},
{
"name": "invoiceIDs",
"in": "query",
"description": "Список инвойсов",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "invoiceID",
"in": "query",
"description": "Идентификатор инвойса",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "paymentID",
"in": "query",
"description": "Идентификатор платежа",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "refundID",
"in": "query",
"description": "Идентификатор возврата",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "externalID",
"in": "query",
"description": "Внешний идентификатор",
"required": false,
"type": "string",
"maxLength": 40,
"minLength": 1
},
{
"name": "refundStatus",
"in": "query",
"description": "Статус возврата",
"type": "string",
"enum": [
"pending",
"succeeded",
"failed"
]
},
{
"name": "excludedShops",
"in": "query",
"description": "Идентификаторы магазинов, исключаемых из поиска",
"required": false,
"type": "array",
"items": {
"type": "string"
}
},
{
"name": "continuationToken",
"in": "query",
"required": false,
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
}
],
"responses": {
"200": {
"description": "Найденные возвраты",
"schema": {
"type": "object",
"properties": {
"totalCount": {
"type": "integer"
},
"continuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
},
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/RefundSearchResult"
}
}
}
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/reports": {
"post": {
"description": "Сгенерировать отчет с указанным типом по магазину за указанный промежуток времени",
"tags": [
"Reports"
],
"operationId": "createReport",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDQuery"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"name": "reportType",
"in": "query",
"description": "Тип отчета",
"required": true,
"type": "string",
"enum": [
"paymentRegistry"
]
}
],
"responses": {
"201": {
"description": "Отчет создан",
"schema": {
"$ref": "#/definitions/Report"
}
},
"400": {
"description": "Ошибочные данные для генерации",
"schema": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"description": "[Код ошибки](#tag/Error-Codes)\n",
"type": "string",
"enum": [
"ambiguousPartyID",
"invalidShopID",
"invalidRequest",
"invalidDeadline"
]
},
"message": {
"description": "Человекочитаемое описание ошибки",
"type": "string",
"example": "Invalid shop id"
}
}
}
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
},
"get": {
"description": "Получить список отчетов по данному магазину за период",
"tags": [
"Reports"
],
"operationId": "searchReports",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/partyIDQuery"
},
{
"$ref": "#/parameters/shopIDQuery"
},
{
"$ref": "#/parameters/shopIDs"
},
{
"$ref": "#/parameters/paymentInstitutionRealm"
},
{
"$ref": "#/parameters/fromTime"
},
{
"$ref": "#/parameters/toTime"
},
{
"name": "limit",
"description": "Лимит выборки",
"in": "query",
"required": false,
"type": "integer",
"format": "int32",
"minimum": 1,
"maximum": 1000
},
{
"name": "reportTypes",
"description": "Типы отчетов",
"in": "query",
"required": true,
"type": "array",
"items": {
"type": "string",
"enum": [
"provisionOfService",
"paymentRegistry",
"paymentRegistryByPayout"
]
}
},
{
"name": "continuationToken",
"in": "query",
"required": false,
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
}
],
"responses": {
"200": {
"description": "Найденные отчеты",
"schema": {
"type": "object",
"properties": {
"continuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
},
"result": {
"type": "array",
"items": {
"$ref": "#/definitions/Report"
}
}
}
}
},
"400": {
"description": "Ошибочные данные для получения",
"schema": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"description": "[Код ошибки](#tag/Error-Codes)\n",
"type": "string",
"enum": [
"ambiguousPartyID",
"limitExceeded",
"invalidRequest",
"invalidPartyID",
"invalidDeadline"
]
},
"message": {
"description": "Человекочитаемое описание ошибки",
"type": "string",
"example": "Max limit: 1000"
}
}
}
},
"401": {
"$ref": "#/responses/Unauthorized"
}
}
}
},
"/reports/{reportID}": {
"get": {
"description": "Получить отчет по данному идентификатору",
"tags": [
"Reports"
],
"operationId": "getReport",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/reportID"
}
],
"responses": {
"200": {
"description": "Найденный отчет",
"schema": {
"$ref": "#/definitions/Report"
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/reports/{reportID}/cancel": {
"post": {
"description": "Отменить указанный отчет. Отчеты типа `provisionOfService` отменить нельзя",
"tags": [
"Reports"
],
"operationId": "cancelReport",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/reportID"
}
],
"responses": {
"202": {
"description": "Запрос на отмену отчета принят"
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/reports/{reportID}/files/{fileID}/download": {
"get": {
"description": "Скачать файл",
"tags": [
"Reports"
],
"operationId": "downloadFile",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/reportID"
},
{
"$ref": "#/parameters/fileID"
}
],
"responses": {
"200": {
"description": "Download link",
"schema": {
"$ref": "#/definitions/ReportLink"
}
},
"400": {
"$ref": "#/responses/DefaultLogicError"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
}
},
"definitions": {
"AmountResult": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"description": "Стоимость предлагаемых товаров или услуг, в минорных денежных\nединицах, например в копейках в случае указания российских рублей в\nкачестве валюты.\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
}
}
}
]
},
"BankAccount": {
"description": "Данные расчётного счёта в банковской организации, ведущей деятельность под\nюрисдикцией РФ.\n",
"type": "object",
"required": [
"account",
"bankName",
"bankPostAccount",
"bankBik"
],
"properties": {
"account": {
"description": "Номер счёта",
"type": "string",
"pattern": "^\\d{20}$"
},
"bankName": {
"description": "Наименование юридического лица банковской организации",
"type": "string",
"maxLength": 100
},
"bankPostAccount": {
"type": "string",
"pattern": "^\\d{20}$"
},
"bankBik": {
"description": "БИК банковской организации",
"type": "string",
"pattern": "^\\d{9}$"
}
}
},
"BankCardDetails": {
"required": [
"cardNumberMask",
"paymentSystem"
],
"properties": {
"cardNumberMask": {
"description": "Маскированый номер карты",
"type": "string",
"pattern": "^\\d{6,8}\\*+\\d{2,4}$"
},
"bin": {
"description": "BIN банка-эмитента карты",
"type": "string",
"pattern": "^(\\d{0}|\\d{6,8})$"
},
"lastDigits": {
"description": "Последние цифры номера карты",
"type": "string",
"pattern": "^\\d{2,4}$"
},
"paymentSystem": {
"description": "Платежная система",
"type": "string",
"enum": [
"visa",
"mastercard",
"visaelectron",
"maestro",
"forbrugsforeningen",
"dankort",
"amex",
"dinersclub",
"discover",
"unionpay",
"jcb",
"nspkmir",
"elo",
"rupay",
"dummy",
"uzcard"
]
},
"tokenProvider": {
"description": "Провайдер платежных токенов",
"type": "string",
"enum": [
"applepay",
"googlepay",
"samsungpay",
"yandexpay"
]
}
}
},
"BankCardPaymentSystem": {
"description": "Платежная система",
"type": "string",
"enum": [
"visa",
"mastercard",
"visaelectron",
"maestro",
"forbrugsforeningen",
"dankort",
"amex",
"dinersclub",
"discover",
"unionpay",
"jcb",
"nspkmir",
"elo",
"rupay",
"dummy",
"uzcard"
]
},
"BankCardTokenProvider": {
"description": "Провайдер платежных токенов",
"type": "string",
"enum": [
"applepay",
"googlepay",
"samsungpay",
"yandexpay"
]
},
"Chargeback": {
"type": "object",
"required": [
"invoiceId",
"paymentId",
"chargebackId",
"shopID",
"createdAt",
"bodyAmount",
"bodyCurrency",
"levyAmount",
"levyCurrency"
],
"properties": {
"invoiceId": {
"description": "Идентификатор инвойса",
"type": "string"
},
"paymentId": {
"description": "Идентификатор платежа",
"type": "string"
},
"chargebackId": {
"description": "Идентификатор чарджбэка",
"type": "string"
},
"externalId": {
"description": "Внешний идентификатор",
"type": "string"
},
"shopID": {
"description": "Идентификатор магазина",
"type": "string"
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"levyAmount": {
"description": "Сумма списываемых средств у чарджбека",
"type": "integer",
"format": "int64",
"minimum": 1
},
"levyCurrency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"bodyAmount": {
"description": "Сумма чарджбэка",
"type": "integer",
"format": "int64",
"minimum": 1
},
"bodyCurrency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"fee": {
"description": "Комиссия системы, в минорных денежных единицах",
"type": "integer",
"format": "int64",
"minimum": 0
},
"providerFee": {
"description": "Комиссия провайдера, в минорных денежных единицах",
"type": "integer",
"format": "int64",
"minimum": 0
},
"externalFee": {
"description": "Комиссия внешней системы системы, в минорных денежных единицах",
"type": "integer",
"format": "int64",
"minimum": 0
},
"status": {
"description": "Статус чарджбэка",
"type": "string",
"enum": [
"pending",
"accepted",
"rejected",
"cancelled"
]
},
"stage": {
"description": "Этап прохождения чарджбэка",
"type": "string",
"enum": [
"chargeback",
"pre_arbitration",
"arbitration"
]
},
"chargebackReason": {
"$ref": "#/definitions/ChargebackReason"
},
"content": {
"$ref": "#/definitions/Content"
}
}
},
"ChargebackCategory": {
"description": "Категория чарджбэка",
"type": "string",
"enum": [
"fraud",
"dispute",
"authorisation",
"processing_error"
]
},
"ChargebackReason": {
"description": "Данные о причине чарджбэка",
"type": "object",
"required": [
"category"
],
"properties": {
"code": {
"description": "Код категории",
"type": "string"
},
"category": {
"$ref": "#/definitions/ChargebackCategory"
}
}
},
"ChargebackStage": {
"description": "Этап прохождения чарджбэка",
"type": "string",
"enum": [
"chargeback",
"pre_arbitration",
"arbitration"
]
},
"ChargebackStatus": {
"description": "Статус чарджбэка",
"type": "string",
"enum": [
"pending",
"accepted",
"rejected",
"cancelled"
]
},
"ClientInfo": {
"description": "Данные клиентского устройства плательщика",
"type": "object",
"required": [
"fingerprint"
],
"properties": {
"fingerprint": {
"description": "Уникальный отпечаток user agent'а плательщика",
"type": "string",
"maxLength": 1000
},
"ip": {
"description": "IP-адрес плательщика",
"type": "string",
"format": "ip-address",
"maxLength": 45
}
}
},
"ContactInfo": {
"description": "Контактные данные",
"type": "object",
"properties": {
"email": {
"description": "Адрес электронной почты",
"type": "string",
"format": "email",
"maxLength": 100
},
"phoneNumber": {
"description": "Номер мобильного телефона с международным префиксом согласно\n[E.164](https://en.wikipedia.org/wiki/E.164).\n",
"type": "string",
"format": "^\\+\\d{4,15}$"
}
}
},
"Content": {
"type": "object",
"properties": {
"type": {
"description": "Тип данных",
"type": "string"
},
"data": {
"description": "Данные",
"type": "string",
"format": "byte"
}
}
},
"ContinuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
},
"CountResult": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"count",
"currency"
],
"properties": {
"count": {
"description": "Общее количество операций",
"type": "integer",
"format": "int64",
"minimum": 0
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
}
}
}
]
},
"CryptoCurrency": {
"description": "Тип криптовалюты",
"type": "string",
"enum": [
"bitcoin",
"litecoin",
"bitcoinCash",
"ripple",
"ethereum",
"zcash"
]
},
"CryptoWalletDetails": {
"required": [
"cryptoCurrency"
],
"properties": {
"cryptoCurrency": {
"x-rebillyMerge": [
{
"$ref": "#/definitions/CryptoCurrency"
}
]
}
}
},
"Currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"CustomerPayer": {
"type": "object",
"description": "Многоразовое платежное средство",
"allOf": [
{
"$ref": "#/definitions/Payer"
},
{
"type": "object",
"required": [
"customerID"
],
"properties": {
"customerID": {
"description": "Идентификатор плательщика",
"type": "string",
"maxLength": 40,
"minLength": 1
},
"paymentToolToken": {
"description": "Токен платежного средства, предоставленного плательщиком",
"type": "string",
"maxLength": 1000
},
"paymentToolDetails": {
"$ref": "#/definitions/PaymentToolDetails"
}
}
}
]
},
"DefaultLogicError": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"description": "[Код ошибки](#tag/Error-Codes)\n",
"type": "string",
"enum": [
"invalidRequest",
"ambiguousPartyID",
"invalidDeadline",
"invalidPartyID"
]
},
"message": {
"description": "Человекочитаемое описание ошибки",
"type": "string"
}
}
},
"DigitalWalletDetails": {
"discriminator": "digitalWalletDetailsType",
"required": [
"digitalWalletDetailsType"
],
"properties": {
"digitalWalletDetailsType": {
"type": "string",
"enum": [
"DigitalWalletDetailsQIWI"
]
}
}
},
"DigitalWalletDetailsQIWI": {
"allOf": [
{
"$ref": "#/definitions/DigitalWalletDetails"
},
{
"type": "object",
"required": [
"phoneNumberMask"
],
"properties": {
"phoneNumberMask": {
"type": "string",
"description": "Маскированный номер телефона плательщика в международном формате, выступающий\nв роли идентификатора кошелька Visa QIWI Wallet.\n",
"pattern": "^\\+\\d\\*{1,10}\\d{2,4}$",
"example": "+7******3210"
}
}
}
]
},
"ExternalID": {
"description": "Уникальный в рамках платформы идентификатор сущности для данного участника.\nИспользуется для обеспечения идемпотентности запроса.\n",
"type": "string",
"maxLength": 40,
"minLength": 1
},
"FileMeta": {
"type": "object",
"required": [
"id",
"filename"
],
"properties": {
"id": {
"description": "Идентификатор файла",
"type": "string",
"maxLength": 40,
"minLength": 1
},
"filename": {
"description": "Имя файла",
"type": "string",
"maxLength": 1000,
"minLength": 1
},
"signatures": {
"type": "object",
"description": "Сигнатуры файла",
"required": [
"md5",
"sha256"
],
"properties": {
"md5": {
"description": "MD5 содержимого файла",
"type": "string",
"maxLength": 32,
"minLength": 32
},
"sha256": {
"description": "SHA256 содержимого файла",
"type": "string",
"maxLength": 64,
"minLength": 64
}
}
}
}
},
"GeneralError": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string"
}
}
},
"GeoLocationInfo": {
"description": "Информация о геопозиции",
"type": "object",
"required": [
"cityGeoID",
"countryGeoID"
],
"properties": {
"cityGeoID": {
"type": "integer",
"format": "int32"
},
"countryGeoID": {
"type": "integer",
"format": "int32"
}
}
},
"GroupByShopAmountResult": {
"description": "Сгруппированый по магазинам список текущих балансов\n",
"type": "object",
"properties": {
"groupBySHopResults": {
"type": "array",
"items": {
"$ref": "#/definitions/ShopAmountResult"
}
}
}
},
"InternationalBankAccount": {
"description": "Данные международного банковского счёта",
"type": "object",
"properties": {
"number": {
"description": "Номер счёта\n",
"type": "string",
"pattern": "^[0-9A-Z]{8,40}$",
"example": "123006951"
},
"iban": {
"description": "International Bank Account Number [ISO 13616](https://en.wikipedia.org/wiki/International_Bank_Account_Number)\n",
"type": "string",
"pattern": "^[A-Z0-9]{3,35}$",
"example": "GR1601101250000000012300695"
},
"bankDetails": {
"$ref": "#/definitions/InternationalBankDetails"
},
"correspondentBankAccount": {
"$ref": "#/definitions/InternationalCorrespondentBankAccount"
}
}
},
"InternationalBankDetails": {
"description": "Данные международной банковской организации",
"type": "object",
"properties": {
"bic": {
"description": "Business Identifier Code [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362).\n",
"type": "string",
"pattern": "^([A-Z0-9]{8}|[A-Z0-9]{11})$",
"example": "RZBAATWW\n"
},
"abartn": {
"description": "[ABA Routing Transit Number](https://en.wikipedia.org/wiki/ABA_routing_transit_number)\nбанковской организации, специфичный для банковской системы USA.\n",
"type": "string",
"pattern": "^[0-9]{9}$",
"example": "129131673"
},
"name": {
"description": "Наименование юридического лица банковской организации",
"type": "string",
"maxLength": 100,
"example": "RAIFFEISEN BANK INTERNATIONAL AG\n"
},
"countryCode": {
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "RUS",
"description": "Страна резиденции банковской организации,\nalpha-3 код по стандарту [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)\n"
},
"address": {
"description": "Адрес юридического лица банковской организации",
"type": "string",
"maxLength": 1000,
"example": "1030, VIENNA, AM STADTPARK 9\n"
}
}
},
"InternationalCorrespondentBankAccount": {
"allOf": [
{
"description": "Данные корреспондентского счёта указанного банка"
},
{
"$ref": "#/definitions/InternationalBankAccount"
}
]
},
"Invoice": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"id",
"shopID",
"createdAt",
"dueDate",
"amount",
"currency",
"product",
"metadata"
],
"properties": {
"id": {
"description": "Идентификатор инвойса",
"type": "string"
},
"externalID": {
"description": "Внешний идентификатор",
"type": "string"
},
"shopID": {
"description": "Идентификатор магазина",
"type": "string"
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"dueDate": {
"description": "Дата и время окончания действия",
"type": "string",
"format": "date-time"
},
"amount": {
"description": "Стоимость предлагаемых товаров или услуг, в минорных денежных единицах,\nнапример в копейках в случае указания российских рублей в качестве валюты.\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"product": {
"description": "Наименование предлагаемых товаров или услуг",
"type": "string",
"maxLength": 100
},
"description": {
"description": "Описание предлагаемых товаров или услуг",
"type": "string",
"maxLength": 1000
},
"invoiceTemplateID": {
"description": "Идентификатор шаблона (для инвойсов, созданных по шаблону).",
"type": "string"
},
"cart": {
"$ref": "#/definitions/InvoiceCart"
},
"metadata": {
"description": "Связанные с инвойсом метаданные",
"type": "object"
}
}
},
{
"$ref": "#/definitions/InvoiceStatus"
}
]
},
"InvoiceCart": {
"description": "Корзина с набором позиций продаваемых товаров или услуг\n",
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"$ref": "#/definitions/InvoiceLine"
}
},
"InvoiceLine": {
"description": "Позиция товара или услуги",
"type": "object",
"required": [
"product",
"quantity",
"price"
],
"properties": {
"product": {
"description": "Описание предлагаемого товара или услуги",
"type": "string",
"maxLength": 1000
},
"quantity": {
"description": "Количество единиц товаров или услуг, предлагаемых на продажу в этой\nпозиции\n",
"type": "integer",
"format": "int64",
"minimum": 1,
"default": 1
},
"price": {
"description": "Цена предлагаемого товара или услуги, в минорных денежных единицах, например\nв копейках в случае указания российских рублей в качестве валюты\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"cost": {
"description": "Суммарная стоимость позиции с учётом количества единиц товаров или услуг\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"taxMode": {
"$ref": "#/definitions/InvoiceLineTaxMode"
}
}
},
"InvoiceLineTaxMode": {
"description": "Схема налогообложения предлагаемого товара или услуги.\n\nУказывается, только если предлагаемый товар или услуга облагается налогом.\n",
"type": "object",
"discriminator": "type",
"required": [
"type"
],
"properties": {
"type": {
"description": "Тип схемы налогообложения",
"type": "string",
"enum": [
"InvoiceLineTaxVAT"
]
}
}
},
"InvoiceLineTaxVAT": {
"allOf": [
{
"$ref": "#/definitions/InvoiceLineTaxMode"
},
{
"description": "Налог на добавленную стоимость в юрисдикции РФ",
"type": "object",
"required": [
"rate"
],
"properties": {
"rate": {
"description": "Ставка налога",
"type": "string",
"enum": [
"0%",
"10%",
"18%",
"20%",
"10/110",
"18/118",
"20/120"
]
}
}
}
]
},
"InvoiceStatus": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"description": "Статус инвойса",
"type": "string",
"enum": [
"unpaid",
"cancelled",
"paid",
"fulfilled"
]
},
"reason": {
"description": "Причина отмены или погашения инвойса",
"type": "string",
"maxLength": 1000
}
}
},
"MobileCommerceDetails": {
"required": [
"phoneNumber"
],
"properties": {
"phoneNumber": {
"description": "Маскированый номер мобильного телефона",
"type": "string",
"pattern": "^\\+\\d\\*{1,10}\\d{2,4}$",
"example": "+7******0102"
}
}
},
"OffsetAmount": {
"type": "object",
"required": [
"amount",
"offset"
],
"properties": {
"amount": {
"description": "Стоимость предлагаемых товаров или услуг, в минорных денежных\nединицах, например в копейках в случае указания российских рублей в\nкачестве валюты.\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"offset": {
"description": "Номер интервала в списке",
"type": "integer",
"format": "int64",
"minimum": 0
}
}
},
"OffsetCount": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"count",
"offset"
],
"properties": {
"count": {
"description": "Общее количество операций",
"type": "integer",
"format": "int64",
"minimum": 0
},
"offset": {
"description": "Номер интервала в списке",
"type": "integer",
"format": "int64",
"minimum": 0
}
}
}
]
},
"Payer": {
"type": "object",
"discriminator": "payerType",
"properties": {
"payerType": {
"description": "Тип платежного средства",
"type": "string",
"enum": [
"CustomerPayer",
"PaymentResourcePayer",
"RecurrentPayer"
]
}
},
"required": [
"payerType"
]
},
"PaymentError": {
"description": "[Ошибка, возникшая в процессе проведения платежа](#tag/Error-Codes)\n",
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"description": "Основной код ошибки",
"type": "string"
},
"subError": {
"$ref": "#/definitions/SubError"
}
}
},
"PaymentFlow": {
"type": "object",
"discriminator": "type",
"default": {
"type": "PaymentFlowInstant"
},
"required": [
"type"
],
"properties": {
"type": {
"description": "Тип процесса выполнения платежа",
"type": "string",
"enum": [
"PaymentFlowInstant",
"PaymentFlowHold"
]
}
}
},
"PaymentFlowHold": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentFlow"
},
{
"type": "object",
"required": [
"onHoldExpiration"
],
"properties": {
"onHoldExpiration": {
"description": "Политика управления удержанием денежных средств",
"type": "string",
"default": "cancel",
"enum": [
"cancel",
"capture"
]
},
"heldUntil": {
"description": "Дата и время, до которого происходит удержание денежных средств",
"type": "string",
"format": "date-time"
}
}
}
]
},
"PaymentFlowInstant": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentFlow"
}
]
},
"PaymentMakeRecurrent": {
"description": "Признак создания родительского рекуррентного платежа.\nУспешно проведеный платеж с этим признаком можно использовать как родительский в других рекуррентных платежах.\n",
"type": "boolean",
"default": false
},
"PaymentRecurrentParent": {
"type": "object",
"description": "Родительский платеж, на основе которого создан текущий рекуррентный платеж",
"required": [
"invoiceID",
"paymentID"
],
"properties": {
"invoiceID": {
"description": "Идентификатор инвойса",
"type": "string"
},
"paymentID": {
"description": "Идентификатор платежа",
"type": "string"
}
}
},
"PaymentResource": {
"type": "object",
"description": "Данные одноразового платежного средства",
"required": [
"paymentToolToken"
],
"properties": {
"paymentToolToken": {
"description": "Токен платежного средства, предоставленного плательщиком",
"type": "string",
"maxLength": 1000
},
"paymentSession": {
"description": "Идентификатор платежной сессии",
"type": "string",
"maxLength": 1000
},
"paymentToolDetails": {
"$ref": "#/definitions/PaymentToolDetails"
},
"clientInfo": {
"allOf": [
{
"$ref": "#/definitions/ClientInfo"
}
]
}
}
},
"PaymentResourcePayer": {
"type": "object",
"description": "Одноразовое платежное средство",
"allOf": [
{
"$ref": "#/definitions/Payer"
},
{
"$ref": "#/definitions/PaymentResource"
},
{
"type": "object",
"required": [
"contactInfo"
],
"properties": {
"contactInfo": {
"$ref": "#/definitions/ContactInfo"
}
}
}
]
},
"PaymentSearchResult": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentStatus"
},
{
"type": "object",
"required": [
"id",
"invoiceID",
"createdAt",
"amount",
"currency",
"payer",
"flow"
],
"properties": {
"id": {
"description": "Идентификатор платежа",
"type": "string"
},
"shortID": {
"description": "Cокращенный идентификатор платежа и инвойса (spid)",
"type": "string"
},
"invoiceID": {
"description": "Идентификатор инвойса, в рамках которого был создан платеж",
"type": "string"
},
"externalID": {
"description": "Внешний идентификатор",
"type": "string"
},
"shopID": {
"description": "Идентификатор магазина, в рамках которого был создан платеж",
"type": "string"
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"amount": {
"description": "Стоимость предлагаемых товаров или услуг, в минорных денежных\nединицах, например в копейках в случае указания российских рублей в\nкачестве валюты.\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"fee": {
"description": "Комиссия системы, в минорных денежных единицах",
"type": "integer",
"format": "int64",
"minimum": 0
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"payer": {
"$ref": "#/definitions/Payer"
},
"flow": {
"$ref": "#/definitions/PaymentFlow"
},
"geoLocationInfo": {
"$ref": "#/definitions/GeoLocationInfo"
},
"metadata": {
"description": "Связанные с платежом метаданные",
"type": "object"
},
"statusChangedAt": {
"description": "Дата и время изменения статуса платежа",
"type": "string",
"format": "date-time"
},
"transactionInfo": {
"description": "Информация о транзакции",
"$ref": "#/definitions/TransactionInfo"
},
"makeRecurrent": {
"$ref": "#/definitions/PaymentMakeRecurrent"
}
}
}
]
},
"PaymentsErrorsDistributionResult": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"error",
"percents"
],
"properties": {
"error": {
"description": "Тип ошибки",
"type": "string"
},
"percents": {
"description": "Относительное колличество ошибок в процентах",
"type": "number",
"format": "double",
"minimum": 0
}
}
}
]
},
"PaymentsSubErrorsDistributionResult": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"error",
"percents"
],
"properties": {
"error": {
"description": "Тип ошибки",
"$ref": "#/definitions/SubError"
},
"percents": {
"description": "Относительное колличество ошибок в процентах",
"type": "number",
"format": "double",
"minimum": 0
}
}
}
]
},
"PaymentStatus": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"description": "Статус платежа",
"type": "string",
"enum": [
"pending",
"processed",
"captured",
"cancelled",
"refunded",
"failed"
]
},
"error": {
"$ref": "#/definitions/PaymentError"
}
}
},
"PaymentsToolDistributionResult": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"name",
"percents"
],
"properties": {
"name": {
"description": "Название платежного средства",
"type": "string"
},
"percents": {
"description": "Колличество использования платежного инструмента в процентах",
"type": "number",
"format": "double",
"minimum": 0
}
}
}
]
},
"PaymentTerminalDetails": {
"required": [
"provider"
],
"properties": {
"provider": {
"description": "Провайдер терминальной сети",
"type": "string",
"enum": [
"euroset",
"wechat",
"alipay",
"zotapay",
"qps",
"uzcard",
"rbs"
]
}
}
},
"PaymentTerminalProvider": {
"description": "Провайдер терминальной сети",
"type": "string",
"enum": [
"euroset",
"wechat",
"alipay",
"zotapay",
"qps",
"uzcard",
"rbs"
]
},
"PaymentToolDetails": {
"type": "object",
"discriminator": "detailsType",
"description": "Детали платежного средства",
"required": [
"detailsType"
],
"properties": {
"detailsType": {
"description": "Тип информации о платежном средстве",
"type": "string"
}
}
},
"PaymentToolDetailsBankCard": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentToolDetails"
},
{
"$ref": "#/definitions/BankCardDetails"
}
]
},
"PaymentToolDetailsCryptoWallet": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentToolDetails"
},
{
"$ref": "#/definitions/CryptoWalletDetails"
}
]
},
"PaymentToolDetailsDigitalWallet": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentToolDetails"
},
{
"$ref": "#/definitions/DigitalWalletDetails"
}
]
},
"PaymentToolDetailsMobileCommerce": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentToolDetails"
},
{
"$ref": "#/definitions/MobileCommerceDetails"
}
]
},
"PaymentToolDetailsPaymentTerminal": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PaymentToolDetails"
},
{
"$ref": "#/definitions/PaymentTerminalDetails"
}
]
},
"Payout": {
"type": "object",
"required": [
"id",
"shopID",
"createdAt",
"amount",
"currency",
"payoutToolDetails"
],
"properties": {
"id": {
"description": "Идентификатор выплаты",
"type": "string"
},
"shopID": {
"description": "Идентификатор магазина",
"type": "string"
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"cancellationDetails": {
"description": "Детали отмены выплаты",
"type": "string",
"maxLength": 1000
},
"amount": {
"description": "Сумма выплаты в минорных денежных\nединицах, например в копейках в случае указания российских рублей в\nкачестве валюты.\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"fee": {
"description": "Комиссия системы, в минорных денежных единицах",
"type": "integer",
"format": "int64",
"minimum": 0
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"payoutToolDetails": {
"$ref": "#/definitions/PayoutToolDetails"
},
"payoutSummary": {
"description": "Описание части суммы вывода, сгруппированное по типу операций над денежными средствами",
"type": "array",
"items": {
"$ref": "#/definitions/PayoutSummaryItem"
}
},
"status": {
"description": "Статус выплаты",
"type": "string"
},
"metadata": {
"description": "Произвольный, специфичный для клиента API и непрозрачный для системы набор данных,\nассоциированных с данной выплатой\n",
"type": "object",
"example": {
"payoutDesc": "Custom payout"
}
}
}
},
"PayoutSummaryItem": {
"type": "object",
"description": "Описание суммы вывода по типу операций",
"required": [
"amount",
"fee",
"currency",
"count",
"fromTime",
"toTime",
"type"
],
"properties": {
"amount": {
"description": "Общая сумма по данному типу операций над денежными средствами в минорных денежных\nединицах, например в копейках в случае указания российских рублей в\nкачестве валюты.\n",
"type": "integer",
"format": "int64",
"minimum": 0
},
"fee": {
"description": "Общая комиссия по данному типу операций над денежными средствами в минорных денежных единицах",
"type": "integer",
"format": "int64"
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"count": {
"description": "Общее количество операций над денежными средствами по данному типу",
"type": "integer",
"format": "int32",
"minimum": 0
},
"fromTime": {
"description": "Дата и время первого подтверждения операции над денежными средствами",
"type": "string",
"format": "date-time"
},
"toTime": {
"description": "Дата и время последнего подтверждения операции над денежными средствами",
"type": "string",
"format": "date-time"
},
"type": {
"description": "Тип операций над денежными средствами",
"type": "string",
"enum": [
"payment",
"refund"
]
}
}
},
"PayoutToolDetails": {
"description": "Данные средства вывода",
"type": "object",
"discriminator": "detailsType",
"properties": {
"detailsType": {
"description": "Тип средства вывода",
"type": "string"
}
},
"required": [
"detailsType"
]
},
"PayoutToolDetailsBankAccount": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PayoutToolDetails"
},
{
"$ref": "#/definitions/BankAccount"
}
]
},
"PayoutToolDetailsBankCard": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PayoutToolDetails"
},
{
"$ref": "#/definitions/BankCardDetails"
}
]
},
"PayoutToolDetailsInternationalBankAccount": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PayoutToolDetails"
},
{
"$ref": "#/definitions/InternationalBankAccount"
}
]
},
"PayoutToolDetailsWalletInfo": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/PayoutToolDetails"
},
{
"type": "object",
"required": [
"walletID"
],
"properties": {
"walletID": {
"description": "Идентификатор кошелька",
"type": "string",
"maxLength": 40,
"minLength": 1
}
}
}
]
},
"RecurrentPayer": {
"type": "object",
"description": "Многоразовое платежное средство на основе другого платежа",
"allOf": [
{
"$ref": "#/definitions/Payer"
},
{
"type": "object",
"required": [
"contactInfo",
"recurrentParentPayment"
],
"properties": {
"contactInfo": {
"$ref": "#/definitions/ContactInfo"
},
"recurrentParentPayment": {
"$ref": "#/definitions/PaymentRecurrentParent"
},
"paymentToolToken": {
"description": "Токен платежного средства, предоставленного плательщиком",
"type": "string",
"maxLength": 1000
},
"paymentToolDetails": {
"$ref": "#/definitions/PaymentToolDetails"
}
}
}
]
},
"Refund": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"id",
"createdAt",
"amount",
"currency",
"shopID"
],
"properties": {
"id": {
"description": "Идентификатор возврата",
"type": "string"
},
"externalID": {
"description": "Внешний идентификатор",
"type": "string"
},
"createdAt": {
"description": "Дата и время осуществления",
"type": "string",
"format": "date-time"
},
"amount": {
"description": "Сумма возврата, в минорных денежных единицах, например в копейках в случае указания российских рублей в качестве валюты.\n",
"type": "integer",
"format": "int64",
"minimum": 1
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"reason": {
"description": "Причина осуществления возврата",
"type": "string"
},
"shopID": {
"description": "Идентификатор магазина",
"type": "string"
}
}
},
{
"$ref": "#/definitions/RefundStatus"
}
]
},
"RefundSearchResult": {
"type": "object",
"allOf": [
{
"type": "object",
"required": [
"invoiceID",
"paymentID"
],
"properties": {
"invoiceID": {
"description": "Идентификатор инвойса",
"type": "string"
},
"paymentID": {
"description": "Идентификатор платежа",
"type": "string"
}
}
},
{
"$ref": "#/definitions/Refund"
}
]
},
"RefundStatus": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"description": "Статус возврата",
"type": "string",
"enum": [
"pending",
"succeeded",
"failed"
]
},
"error": {
"description": "Данные ошибки, возникшей в процессе проведения возврата, в случае если\nвозврат был неуспешен\n",
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"description": "Код ошибки, пригодный для обработки автоматическими системами",
"type": "string"
},
"message": {
"description": "Описание ошибки, пригодное для восприятия человеком",
"type": "string"
}
}
}
}
},
"Report": {
"type": "object",
"required": [
"id",
"createdAt",
"fromTime",
"toTime",
"status",
"reportType",
"partyID",
"files"
],
"properties": {
"id": {
"description": "Идентификатор отчета",
"type": "integer",
"format": "int64"
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"fromTime": {
"description": "Дата и время начала периода",
"type": "string",
"format": "date-time"
},
"toTime": {
"description": "Дата и время конца периода",
"type": "string",
"format": "date-time"
},
"status": {
"description": "Статус формирования отчета",
"type": "string",
"enum": [
"pending",
"created"
]
},
"reportType": {
"description": "Тип отчета",
"type": "string",
"enum": [
"provisionOfService",
"paymentRegistry",
"paymentRegistryByPayout"
]
},
"partyID": {
"description": "Идентификатор участника",
"type": "string",
"maxLength": 40,
"minLength": 1
},
"shopID": {
"description": "Идентификатор магазина",
"type": "string",
"maxLength": 40,
"minLength": 1
},
"files": {
"type": "array",
"items": {
"$ref": "#/definitions/FileMeta"
}
}
}
},
"ReportLink": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"description": "URL файла",
"type": "string"
}
}
},
"Residence": {
"description": "Резиденция, alpha-3 код по стандарту [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1)",
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "RUS"
},
"Shop": {
"description": "Данные магазина",
"type": "object",
"required": [
"id",
"createdAt",
"isBlocked",
"isSuspended",
"location",
"categoryID",
"details",
"contractID"
],
"properties": {
"id": {
"description": "Идентификатор магазина",
"type": "string"
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"isBlocked": {
"description": "Заблокирован ли магазин?",
"type": "boolean"
},
"isSuspended": {
"description": "Приостановлены ли операции в рамках магазина?",
"type": "boolean"
},
"categoryID": {
"description": "Идентификатор категории товаров и услуг, предлагаемых в этом магазине\n",
"type": "integer",
"format": "int32"
},
"location": {
"$ref": "#/definitions/ShopLocation"
},
"details": {
"$ref": "#/definitions/ShopDetails"
},
"contractID": {
"description": "Идентификатор договора, на основании которого производится обслуживание\nмагазина\n",
"type": "string"
},
"payoutToolID": {
"description": "Идентификатор средства вывода в рамках контракта, используемое в процессе\nвывода по магазину\n",
"type": "string"
},
"scheduleID": {
"description": "Идентификатор расписания выводов",
"type": "integer",
"format": "int32"
},
"account": {
"$ref": "#/definitions/ShopAccount"
}
}
},
"ShopAccount": {
"description": "Счета магазина",
"type": "object",
"required": [
"currency",
"guaranteeID",
"settlementID"
],
"properties": {
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"guaranteeID": {
"type": "integer",
"format": "int64"
},
"settlementID": {
"type": "integer",
"format": "int64"
}
}
},
"ShopAmountResult": {
"description": "баланс по магазину\n",
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"description": "Идентификатор магазина",
"type": "string"
},
"amountResults": {
"type": "array",
"items": {
"$ref": "#/definitions/AmountResult"
}
}
}
},
"ShopDetails": {
"type": "object",
"required": [
"name"
],
"properties": {
"name": {
"description": "Название магазина",
"type": "string",
"maxLength": 100
},
"description": {
"description": "Краткое описание",
"type": "string",
"maxLength": 1000
}
}
},
"ShopLocation": {
"description": "Местоположение магазина, по которому можно его найти",
"type": "object",
"discriminator": "locationType",
"required": [
"locationType"
],
"properties": {
"locationType": {
"description": "Тип местоположения",
"type": "string",
"enum": [
"ShopLocationUrl"
]
}
}
},
"ShopLocationUrl": {
"description": "Местоположение в Интернете",
"type": "object",
"allOf": [
{
"$ref": "#/definitions/ShopLocation"
},
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"description": "URL сайта магазина",
"type": "string",
"format": "uri",
"maxLength": 1000
}
}
}
]
},
"SplitAmountResult": {
"type": "object",
"required": [
"splitUnit",
"currency",
"offsetAmounts"
],
"properties": {
"splitUnit": {
"description": "Единица времени сегмента разбиения",
"type": "string",
"enum": [
"minute",
"hour",
"day",
"week",
"month",
"year"
]
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"offsetAmounts": {
"type": "array",
"items": {
"$ref": "#/definitions/OffsetAmount"
}
}
}
},
"SplitCountResult": {
"type": "object",
"required": [
"currency",
"statusOffsetCounts",
"splitUnit"
],
"properties": {
"splitUnit": {
"description": "Единица времени сегмента разбиения",
"type": "string",
"enum": [
"minute",
"hour",
"day",
"week",
"month",
"year"
]
},
"currency": {
"description": "Валюта, символьный код согласно [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm).",
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"statusOffsetCounts": {
"type": "array",
"items": {
"$ref": "#/definitions/StatusOffsetCount"
}
}
}
},
"SplitUnit": {
"description": "Единица времени сегмента разбиения",
"type": "string",
"enum": [
"minute",
"hour",
"day",
"week",
"month",
"year"
]
},
"StatusOffsetCount": {
"type": "object",
"required": [
"status",
"offsetCount"
],
"properties": {
"status": {
"description": "Статус платежа",
"type": "string",
"enum": [
"pending",
"processed",
"captured",
"cancelled",
"refunded",
"failed"
]
},
"offsetCount": {
"type": "array",
"items": {
"$ref": "#/definitions/OffsetCount"
}
}
}
},
"SubError": {
"description": "Детализация описания ошибки\n",
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"description": "Детализация кода ошибки",
"type": "string"
},
"subError": {
"$ref": "#/definitions/SubError"
}
}
},
"TransactionInfo": {
"type": "object",
"properties": {
"rrn": {
"description": "Retrieval Reference Number",
"type": "string"
},
"approvalCode": {
"description": "Authorization Approval Code",
"type": "string"
}
}
}
}
}