mirror of
https://github.com/valitydev/anapi.git
synced 2024-11-06 02:05:17 +00:00
4200 lines
132 KiB
JSON
4200 lines
132 KiB
JSON
{
|
||
"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"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|