[ci skip] deploy from vulnbe

This commit is contained in:
werckerbot 2019-10-31 11:52:40 +00:00
parent e96115c5ed
commit 8dd0c616b3
2 changed files with 1377 additions and 0 deletions

View File

@ -235,6 +235,15 @@
"type": "string",
"maxLength": 40,
"minLength": 1
},
"p2pTransferID": {
"name": "p2pTransferID",
"in": "path",
"description": "Идентификатор перевода",
"required": true,
"type": "string",
"maxLength": 40,
"minLength": 1
}
},
"tags": [
@ -283,10 +292,20 @@
"x-displayName": "Загрузка файлов",
"description": ""
},
{
"name": "P2P",
"x-displayName": "Переводы",
"description": "Переводы средств между людьми"
},
{
"name": "Webhooks",
"x-displayName": "Webhooks",
"description": "## RBKmoney Webhooks Management API\nВ данном разделе описаны методы, позволяющие управлять Webhook'ами, или инструментами для получения асинхронных оповещений посредством HTTP-запросов при наступлении одного или группы интересующих вас событий, например, о том, что выплата в рамках созданного кошелька была успешно проведена.\n## RBKmoney Webhooks Events API\nВнимание! Только Webhooks Management API является частью платформы RBKmoney, а следовательно и данной спецификации. Для реализации обработчика присылаемых уведомлений вам необходимо будет ознакомиться со Swagger-спецификацей [RBKmoney Wallet Webhooks Events API](https://rbkmoney.github.io/wallet-webhook-events-api/).\n"
},
{
"name": "Error Codes",
"x-displayName": "Коды ошибок",
"description": "\n## Ошибки перевода\n\n | Код | Описание |\n | --- | -------- |\n | InvalidSenderResource | Неверный источник перевода (введен номер несуществующей карты, отсутствующего аккаунта и т.п.) |\n | InvalidReceiverResource| Неверный получатель перевода (введен номер несуществующей карты и т.п.) |\n | InsufficientFunds | Недостаточно средств на счете банковской карты |\n | PreauthorizationFailed | Предварительная авторизация отклонена (введен неверный код 3D-Secure, на форме 3D-Secure нажата ссылка отмены) |\n | RejectedByIssuer | Перевод отклонён эмитентом (установлены запреты по стране списания, запрет на покупки в интернете, платеж отклонен антифродом эмитента и т.п.) |\n | P2PTransferRejected | Перевод отклонён по иным причинам |\n"
}
],
"paths": {
@ -1220,6 +1239,204 @@
}
}
},
"/p2p/quotes": {
"post": {
"description": "Расчитать комиссии и зафиксировать их в виде токена, который можно использовать при создании перевода\n",
"operationId": "quoteP2PTransfer",
"tags": [
"P2P"
],
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "quoteParams",
"description": "Параметры для вычисления комиссий",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/QuoteParameters"
}
}
],
"responses": {
"201": {
"description": "Результат вычисления комиссий",
"schema": {
"$ref": "#/definitions/P2PTransferQuote"
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"409": {
"$ref": "#/responses/ConflictRequest"
},
"422": {
"description": "Неверные данные для расчета комиссий",
"schema": {
"$ref": "#/definitions/InvalidOperationParameters"
}
}
}
}
},
"/p2p/transfers": {
"post": {
"description": "Создать перевод",
"tags": [
"P2P"
],
"operationId": "createP2PTransfer",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"name": "transferParams",
"in": "body",
"description": "Параметры создания перевода",
"schema": {
"$ref": "#/definitions/P2PTransferParameters"
}
}
],
"responses": {
"202": {
"description": "Перевод запущен",
"headers": {
"Location": {
"description": "URI запущенного перевода",
"type": "string",
"format": "uri"
}
},
"schema": {
"$ref": "#/definitions/P2PTransfer"
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"409": {
"$ref": "#/responses/ConflictRequest"
},
"422": {
"description": "Неверные входные данные для перевода",
"schema": {
"$ref": "#/definitions/InvalidOperationParameters"
}
}
}
}
},
"/p2p/transfers/{p2pTransferID}": {
"get": {
"description": "Получить состояние перевода.",
"tags": [
"P2P"
],
"operationId": "getP2PTransfer",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/p2pTransferID"
}
],
"responses": {
"200": {
"description": "Найденный перевод",
"schema": {
"$ref": "#/definitions/P2PTransfer"
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/p2p/transfers/{p2pTransferID}/events": {
"get": {
"description": "Получить историю перевода в виде набора событий.",
"tags": [
"P2P"
],
"operationId": "getP2PTransferEvents",
"parameters": [
{
"$ref": "#/parameters/requestID"
},
{
"$ref": "#/parameters/deadline"
},
{
"$ref": "#/parameters/p2pTransferID"
},
{
"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": {
"description": "Набор событий",
"type": "array",
"items": {
"$ref": "#/definitions/P2PTransferEvent"
}
}
}
}
},
"400": {
"$ref": "#/responses/BadRequest"
},
"401": {
"$ref": "#/responses/Unauthorized"
},
"404": {
"$ref": "#/responses/NotFound"
}
}
}
},
"/providers": {
"get": {
"operationId": "listProviders",
@ -2326,6 +2543,85 @@
}
]
},
"BankCardReceiverResource": {
"description": "Банковская карта",
"allOf": [
{
"$ref": "#/definitions/ReceiverResource"
},
{
"$ref": "#/definitions/SecuredBankCard"
}
]
},
"BankCardSenderResource": {
"description": "Банковская карта",
"allOf": [
{
"$ref": "#/definitions/SenderResource"
},
{
"$ref": "#/definitions/SecuredBankCard"
}
]
},
"BrowserGetRequest": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/BrowserRequest"
},
{
"type": "object",
"required": [
"uriTemplate"
],
"properties": {
"uriTemplate": {
"description": "Шаблон значения URL для перехода в браузере\n\nШаблон представлен согласно стандарту\n[RFC6570](https://tools.ietf.org/html/rfc6570).\n",
"type": "string"
}
}
}
]
},
"BrowserPostRequest": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/BrowserRequest"
},
{
"type": "object",
"required": [
"uriTemplate",
"form"
],
"properties": {
"uriTemplate": {
"description": "Шаблон значения URL для отправки формы\n\nШаблон представлен согласно стандарту\n[RFC6570](https://tools.ietf.org/html/rfc6570).\n",
"type": "string"
},
"form": {
"$ref": "#/definitions/UserInteractionForm"
}
}
}
]
},
"BrowserRequest": {
"type": "object",
"discriminator": "requestType",
"required": [
"requestType"
],
"properties": {
"requestType": {
"description": "Тип браузерной операции",
"type": "string"
}
}
},
"ContinuationToken": {
"description": "Токен, сигнализирующий о том, что в ответе передана только часть данных.\nДля получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.\nЕсли токена нет, получена последняя часть данных.\n",
"type": "string"
@ -3257,6 +3553,304 @@
"RUSRetireeInsuranceCertificate"
]
},
"P2PTransfer": {
"description": "Данные перевода",
"type": "object",
"required": [
"id",
"createdAt",
"body",
"sender",
"receiver",
"status",
"externalID"
],
"properties": {
"id": {
"description": "Идентификатор перевода",
"type": "string",
"example": "10a0b68D3E21",
"maxLength": 40,
"minLength": 1
},
"createdAt": {
"description": "Дата и время создания",
"type": "string",
"format": "date-time"
},
"body": {
"description": "Сумма операции",
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"description": "Сумма денежных средств в минорных единицах, например, в копейках\n",
"type": "integer",
"format": "int64",
"example": 1430000
},
"currency": {
"description": "Валюта, символьный код согласно [ISO\n4217](http://www.iso.org/iso/home/standards/currency_codes.htm).\n",
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "RUB"
}
}
},
"sender": {
"$ref": "#/definitions/SenderResource"
},
"receiver": {
"$ref": "#/definitions/ReceiverResource"
},
"status": {
"$ref": "#/definitions/P2PTransferStatus"
},
"externalID": {
"description": "Уникальный идентификатор сущности на вашей стороне.\n\nПри указании будет использован для того, чтобы гарантировать идемпотентную обработку операции.\n",
"type": "string",
"example": "10036274"
},
"metadata": {
"description": "Связанные с переводом метаданные",
"type": "object"
}
}
},
"P2PTransferChange": {
"type": "object",
"discriminator": "changeType",
"required": [
"changeType"
],
"properties": {
"changeType": {
"type": "string",
"enum": [
"P2PTransferStatusChanged",
"P2PTransferInteractionChanged"
]
}
}
},
"P2PTransferEvent": {
"type": "object",
"required": [
"createdAt",
"change"
],
"properties": {
"createdAt": {
"type": "string",
"format": "date-time"
},
"change": {
"$ref": "#/definitions/P2PTransferChange"
}
}
},
"P2PTransferFailure": {
"description": "[Ошибка, возникшая в процессе проведения перевода](#tag/Error-Codes)\n",
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"description": "Основной код ошибки",
"type": "string"
},
"subError": {
"$ref": "#/definitions/SubFailure"
}
}
},
"P2PTransferID": {
"description": "Идентификатор перевода",
"type": "string",
"example": "10a0b68D3E21",
"maxLength": 40,
"minLength": 1
},
"P2PTransferInteractionChanged": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/P2PTransferChange"
},
{
"type": "object",
"description": "Изменения определённого взаимодействия с пользователем\n",
"required": [
"userInteractionID",
"userInteractionChange"
],
"properties": {
"userInteractionID": {
"description": "Идентификатор взаимодействия с пользователем",
"type": "string"
},
"userInteractionChange": {
"$ref": "#/definitions/UserInteractionChange"
}
}
}
]
},
"P2PTransferParameters": {
"description": "Параметры создания перевода",
"type": "object",
"required": [
"sender",
"receiver",
"identityID",
"body"
],
"properties": {
"sender": {
"$ref": "#/definitions/SenderResource"
},
"receiver": {
"$ref": "#/definitions/ReceiverResource"
},
"identityID": {
"description": "Идентификатор личности владельца кошелька",
"type": "string",
"example": "10036274"
},
"body": {
"description": "Сумма перевода",
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"description": "Сумма денежных средств в минорных единицах, например, в копейках\n",
"type": "integer",
"format": "int64",
"example": 1430000
},
"currency": {
"description": "Валюта, символьный код согласно [ISO\n4217](http://www.iso.org/iso/home/standards/currency_codes.htm).\n",
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "RUB"
}
}
},
"quoteToken": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "Токен, полученный в результате вычисления и фиксирования комиссий перевода\n"
},
"metadata": {
"description": "Метаданные, которые необходимо связать с переводом",
"type": "object"
},
"externalID": {
"description": "Уникальный идентификатор сущности на вашей стороне.\n\nПри указании будет использован для того, чтобы гарантировать идемпотентную обработку операции.\n",
"type": "string",
"example": "10036274"
}
}
},
"P2PTransferQuote": {
"description": "Комиссия и токен предназначеный для создания перевода",
"type": "object",
"required": [
"customerFee",
"token",
"expiresOn"
],
"properties": {
"customerFee": {
"description": "Комиссия \"сверху\" - взимается с клиента в дополнение к сумме операции",
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"description": "Сумма денежных средств в минорных единицах, например, в копейках\n",
"type": "integer",
"format": "int64",
"example": 1430000
},
"currency": {
"description": "Валюта, символьный код согласно [ISO\n4217](http://www.iso.org/iso/home/standards/currency_codes.htm).\n",
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "RUB"
}
}
},
"token": {
"$ref": "#/definitions/P2PTransferQuoteToken"
},
"expiresOn": {
"description": "Дата и время прекращения действия токена",
"type": "string",
"format": "date-time"
}
}
},
"P2PTransferQuoteToken": {
"type": "string",
"minLength": 1,
"maxLength": 4000,
"description": "Токен, полученный в результате вычисления и фиксирования комиссий перевода\n"
},
"P2PTransferStatus": {
"type": "object",
"required": [
"status"
],
"properties": {
"status": {
"description": "Статус вывода денежных средств.\n\n| Значение | Пояснение |\n| ----------- | ------------------------------------------ |\n| `Pending` | Перевод в процессе выполнения |\n| `Succeeded` | Перевод средств произведён успешно |\n| `Failed` | Перевод средств завершился неудачей |\n",
"type": "string",
"enum": [
"Pending",
"Succeeded",
"Failed"
]
},
"failure": {
"description": "[Ошибка, возникшая в процессе проведения перевода](#tag/Error-Codes)\n",
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"description": "Основной код ошибки",
"type": "string"
},
"subError": {
"$ref": "#/definitions/SubFailure"
}
}
}
}
},
"P2PTransferStatusChanged": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/P2PTransferChange"
},
{
"$ref": "#/definitions/P2PTransferStatus"
}
]
},
"Provider": {
"description": "Данные провайдера услуг",
"type": "object",
@ -3293,6 +3887,87 @@
"type": "string",
"example": "ncoeps"
},
"QuoteParameters": {
"description": "Параметры запроса комиссий",
"type": "object",
"required": [
"sender",
"receiver",
"identityID",
"body"
],
"properties": {
"sender": {
"$ref": "#/definitions/SenderResource"
},
"receiver": {
"$ref": "#/definitions/ReceiverResource"
},
"identityID": {
"description": "Идентификатор личности владельца кошелька",
"type": "string",
"example": "10036274"
},
"body": {
"description": "Сумма операции",
"type": "object",
"required": [
"amount",
"currency"
],
"properties": {
"amount": {
"description": "Сумма денежных средств в минорных единицах, например, в копейках\n",
"type": "integer",
"format": "int64",
"example": 1430000
},
"currency": {
"description": "Валюта, символьный код согласно [ISO\n4217](http://www.iso.org/iso/home/standards/currency_codes.htm).\n",
"type": "string",
"pattern": "^[A-Z]{3}$",
"example": "RUB"
}
}
}
}
},
"ReceiverResource": {
"description": "Ресурс получателя денежных средств, используемый для осуществления переводов",
"type": "object",
"discriminator": "type",
"required": [
"type"
],
"properties": {
"type": {
"description": "Тип ресурса получателя средств.\n\nСм. [RBKmoney Payment Resource API](?api/payres/swagger.yaml).\n",
"type": "string",
"enum": [
"BankCardReceiverResource"
]
}
}
},
"Redirect": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/UserInteraction"
},
{
"type": "object",
"required": [
"request"
],
"properties": {
"request": {
"$ref": "#/definitions/BrowserRequest"
}
}
}
]
},
"Report": {
"type": "object",
"required": [
@ -3419,11 +4094,122 @@
"pattern": "^[A-Z]{3}$",
"example": "RUS"
},
"SenderResource": {
"description": "Ресурс отправителя денежных средств, используемый для осуществления переводов",
"type": "object",
"discriminator": "type",
"required": [
"type"
],
"properties": {
"type": {
"description": "Тип ресурса отправителя средств.\n\nСм. [RBKmoney Payment Resource API](?api/payres/swagger.yaml).\n",
"type": "string",
"enum": [
"BankCardSenderResource"
]
}
}
},
"SourceID": {
"description": "Идентификатор источника денежных средств",
"type": "string",
"example": "107498"
},
"SubFailure": {
"description": "Детализация описания ошибки\n",
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"description": "Детализация кода ошибки",
"type": "string"
},
"subError": {
"$ref": "#/definitions/SubFailure"
}
}
},
"UserInteraction": {
"type": "object",
"discriminator": "interactionType",
"required": [
"interactionType"
],
"properties": {
"interactionType": {
"description": "Тип взаимодействия с пользователем",
"type": "string"
}
}
},
"UserInteractionChange": {
"type": "object",
"discriminator": "changeType",
"required": [
"changeType"
],
"properties": {
"changeType": {
"description": "Вид изменения взаимодействию с пользователем.",
"type": "string",
"enum": [
"UserInteractionCreated",
"UserInteractionFinished"
]
}
}
},
"UserInteractionCreated": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/UserInteractionChange"
},
{
"type": "object",
"required": [
"userInteraction"
],
"properties": {
"userInteraction": {
"$ref": "#/definitions/UserInteraction"
}
}
}
]
},
"UserInteractionFinished": {
"type": "object",
"allOf": [
{
"$ref": "#/definitions/UserInteractionChange"
}
]
},
"UserInteractionForm": {
"description": "Форма для отправки средствами браузера",
"type": "array",
"items": {
"type": "object",
"required": [
"key",
"template"
],
"properties": {
"key": {
"description": "Значение ключа элемента формы, которую необходимо отправить средствами\nбраузера\n",
"type": "string"
},
"template": {
"description": "Шаблон значения элемента формы\nШаблон представлен согласно стандарту\n[RFC6570](https://tools.ietf.org/html/rfc6570).\n",
"type": "string"
}
}
}
},
"Wallet": {
"description": "Данные кошелька",
"type": "object",

View File

@ -241,6 +241,14 @@ parameters:
type: string
maxLength: 40
minLength: 1
p2pTransferID:
name: p2pTransferID
in: path
description: Идентификатор перевода
required: true
type: string
maxLength: 40
minLength: 1
tags:
- name: Providers
x-displayName: Провайдеры услуг
@ -269,6 +277,9 @@ tags:
- name: Downloads
x-displayName: Загрузка файлов
description: ''
- name: P2P
x-displayName: Переводы
description: Переводы средств между людьми
- name: Webhooks
x-displayName: Webhooks
description: |
@ -276,6 +287,20 @@ tags:
В данном разделе описаны методы, позволяющие управлять Webhook'ами, или инструментами для получения асинхронных оповещений посредством HTTP-запросов при наступлении одного или группы интересующих вас событий, например, о том, что выплата в рамках созданного кошелька была успешно проведена.
## RBKmoney Webhooks Events API
Внимание! Только Webhooks Management API является частью платформы RBKmoney, а следовательно и данной спецификации. Для реализации обработчика присылаемых уведомлений вам необходимо будет ознакомиться со Swagger-спецификацей [RBKmoney Wallet Webhooks Events API](https://rbkmoney.github.io/wallet-webhook-events-api/).
- name: Error Codes
x-displayName: Коды ошибок
description: |
## Ошибки перевода
| Код | Описание |
| --- | -------- |
| InvalidSenderResource | Неверный источник перевода (введен номер несуществующей карты, отсутствующего аккаунта и т.п.) |
| InvalidReceiverResource| Неверный получатель перевода (введен номер несуществующей карты и т.п.) |
| InsufficientFunds | Недостаточно средств на счете банковской карты |
| PreauthorizationFailed | Предварительная авторизация отклонена (введен неверный код 3D-Secure, на форме 3D-Secure нажата ссылка отмены) |
| RejectedByIssuer | Перевод отклонён эмитентом (установлены запреты по стране списания, запрет на покупки в интернете, платеж отклонен антифродом эмитента и т.п.) |
| P2PTransferRejected | Перевод отклонён по иным причинам |
paths:
'/currencies/{currencyID}':
get:
@ -858,6 +883,133 @@ paths:
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
/p2p/quotes:
post:
description: |
Расчитать комиссии и зафиксировать их в виде токена, который можно использовать при создании перевода
operationId: quoteP2PTransfer
tags:
- P2P
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: quoteParams
description: Параметры для вычисления комиссий
in: body
required: true
schema:
$ref: '#/definitions/QuoteParameters'
responses:
'201':
description: Результат вычисления комиссий
schema:
$ref: '#/definitions/P2PTransferQuote'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'409':
$ref: '#/responses/ConflictRequest'
'422':
description: Неверные данные для расчета комиссий
schema:
$ref: '#/definitions/InvalidOperationParameters'
/p2p/transfers:
post:
description: Создать перевод
tags:
- P2P
operationId: createP2PTransfer
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- name: transferParams
in: body
description: Параметры создания перевода
schema:
$ref: '#/definitions/P2PTransferParameters'
responses:
'202':
description: Перевод запущен
headers:
Location:
description: URI запущенного перевода
type: string
format: uri
schema:
$ref: '#/definitions/P2PTransfer'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'409':
$ref: '#/responses/ConflictRequest'
'422':
description: Неверные входные данные для перевода
schema:
$ref: '#/definitions/InvalidOperationParameters'
'/p2p/transfers/{p2pTransferID}':
get:
description: Получить состояние перевода.
tags:
- P2P
operationId: getP2PTransfer
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/p2pTransferID'
responses:
'200':
description: Найденный перевод
schema:
$ref: '#/definitions/P2PTransfer'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
'/p2p/transfers/{p2pTransferID}/events':
get:
description: Получить историю перевода в виде набора событий.
tags:
- P2P
operationId: getP2PTransferEvents
parameters:
- $ref: '#/parameters/requestID'
- $ref: '#/parameters/deadline'
- $ref: '#/parameters/p2pTransferID'
- name: continuationToken
in: query
required: false
description: |
Токен, сигнализирующий о том, что в ответе передана только часть данных.
Для получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.
Если токена нет, получена последняя часть данных.
type: string
responses:
'200':
description: Результат запроса событий
schema:
type: object
properties:
continuationToken:
description: |
Токен, сигнализирующий о том, что в ответе передана только часть данных.
Для получения следующей части нужно повторно обратиться к сервису, указав тот же набор условий и полученый токен.
Если токена нет, получена последняя часть данных.
type: string
result:
description: Набор событий
type: array
items:
$ref: '#/definitions/P2PTransferEvent'
'400':
$ref: '#/responses/BadRequest'
'401':
$ref: '#/responses/Unauthorized'
'404':
$ref: '#/responses/NotFound'
/providers:
get:
operationId: listProviders
@ -1541,6 +1693,58 @@ definitions:
allOf:
- $ref: '#/definitions/DestinationResource'
- $ref: '#/definitions/SecuredBankCard'
BankCardReceiverResource:
description: Банковская карта
allOf:
- $ref: '#/definitions/ReceiverResource'
- $ref: '#/definitions/SecuredBankCard'
BankCardSenderResource:
description: Банковская карта
allOf:
- $ref: '#/definitions/SenderResource'
- $ref: '#/definitions/SecuredBankCard'
BrowserGetRequest:
type: object
allOf:
- $ref: '#/definitions/BrowserRequest'
- type: object
required:
- uriTemplate
properties:
uriTemplate:
description: |
Шаблон значения URL для перехода в браузере
Шаблон представлен согласно стандарту
[RFC6570](https://tools.ietf.org/html/rfc6570).
type: string
BrowserPostRequest:
type: object
allOf:
- $ref: '#/definitions/BrowserRequest'
- type: object
required:
- uriTemplate
- form
properties:
uriTemplate:
description: |
Шаблон значения URL для отправки формы
Шаблон представлен согласно стандарту
[RFC6570](https://tools.ietf.org/html/rfc6570).
type: string
form:
$ref: '#/definitions/UserInteractionForm'
BrowserRequest:
type: object
discriminator: requestType
required:
- requestType
properties:
requestType:
description: Тип браузерной операции
type: string
ContinuationToken:
description: |
Токен, сигнализирующий о том, что в ответе передана только часть данных.
@ -2345,6 +2549,249 @@ definitions:
enum:
- RUSDomesticPassport
- RUSRetireeInsuranceCertificate
P2PTransfer:
description: Данные перевода
type: object
required:
- id
- createdAt
- body
- sender
- receiver
- status
- externalID
properties:
id:
description: Идентификатор перевода
type: string
example: 10a0b68D3E21
maxLength: 40
minLength: 1
createdAt:
description: Дата и время создания
type: string
format: date-time
body:
description: Сумма операции
type: object
required:
- amount
- currency
properties:
amount:
description: |
Сумма денежных средств в минорных единицах, например, в копейках
type: integer
format: int64
example: 1430000
currency:
description: |
Валюта, символьный код согласно [ISO
4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
type: string
pattern: '^[A-Z]{3}$'
example: RUB
sender:
$ref: '#/definitions/SenderResource'
receiver:
$ref: '#/definitions/ReceiverResource'
status:
$ref: '#/definitions/P2PTransferStatus'
externalID:
description: |
Уникальный идентификатор сущности на вашей стороне.
При указании будет использован для того, чтобы гарантировать идемпотентную обработку операции.
type: string
example: '10036274'
metadata:
description: Связанные с переводом метаданные
type: object
P2PTransferChange:
type: object
discriminator: changeType
required:
- changeType
properties:
changeType:
type: string
enum:
- P2PTransferStatusChanged
- P2PTransferInteractionChanged
P2PTransferEvent:
type: object
required:
- createdAt
- change
properties:
createdAt:
type: string
format: date-time
change:
$ref: '#/definitions/P2PTransferChange'
P2PTransferFailure:
description: |
[Ошибка, возникшая в процессе проведения перевода](#tag/Error-Codes)
type: object
required:
- code
properties:
code:
description: Основной код ошибки
type: string
subError:
$ref: '#/definitions/SubFailure'
P2PTransferID:
description: Идентификатор перевода
type: string
example: 10a0b68D3E21
maxLength: 40
minLength: 1
P2PTransferInteractionChanged:
type: object
allOf:
- $ref: '#/definitions/P2PTransferChange'
- type: object
description: |
Изменения определённого взаимодействия с пользователем
required:
- userInteractionID
- userInteractionChange
properties:
userInteractionID:
description: Идентификатор взаимодействия с пользователем
type: string
userInteractionChange:
$ref: '#/definitions/UserInteractionChange'
P2PTransferParameters:
description: Параметры создания перевода
type: object
required:
- sender
- receiver
- identityID
- body
properties:
sender:
$ref: '#/definitions/SenderResource'
receiver:
$ref: '#/definitions/ReceiverResource'
identityID:
description: Идентификатор личности владельца кошелька
type: string
example: '10036274'
body:
description: Сумма перевода
type: object
required:
- amount
- currency
properties:
amount:
description: |
Сумма денежных средств в минорных единицах, например, в копейках
type: integer
format: int64
example: 1430000
currency:
description: |
Валюта, символьный код согласно [ISO
4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
type: string
pattern: '^[A-Z]{3}$'
example: RUB
quoteToken:
type: string
minLength: 1
maxLength: 4000
description: |
Токен, полученный в результате вычисления и фиксирования комиссий перевода
metadata:
description: 'Метаданные, которые необходимо связать с переводом'
type: object
externalID:
description: |
Уникальный идентификатор сущности на вашей стороне.
При указании будет использован для того, чтобы гарантировать идемпотентную обработку операции.
type: string
example: '10036274'
P2PTransferQuote:
description: Комиссия и токен предназначеный для создания перевода
type: object
required:
- customerFee
- token
- expiresOn
properties:
customerFee:
description: Комиссия "сверху" - взимается с клиента в дополнение к сумме операции
type: object
required:
- amount
- currency
properties:
amount:
description: |
Сумма денежных средств в минорных единицах, например, в копейках
type: integer
format: int64
example: 1430000
currency:
description: |
Валюта, символьный код согласно [ISO
4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
type: string
pattern: '^[A-Z]{3}$'
example: RUB
token:
$ref: '#/definitions/P2PTransferQuoteToken'
expiresOn:
description: Дата и время прекращения действия токена
type: string
format: date-time
P2PTransferQuoteToken:
type: string
minLength: 1
maxLength: 4000
description: |
Токен, полученный в результате вычисления и фиксирования комиссий перевода
P2PTransferStatus:
type: object
required:
- status
properties:
status:
description: |
Статус вывода денежных средств.
| Значение | Пояснение |
| ----------- | ------------------------------------------ |
| `Pending` | Перевод в процессе выполнения |
| `Succeeded` | Перевод средств произведён успешно |
| `Failed` | Перевод средств завершился неудачей |
type: string
enum:
- Pending
- Succeeded
- Failed
failure:
description: |
[Ошибка, возникшая в процессе проведения перевода](#tag/Error-Codes)
type: object
required:
- code
properties:
code:
description: Основной код ошибки
type: string
subError:
$ref: '#/definitions/SubFailure'
P2PTransferStatusChanged:
type: object
allOf:
- $ref: '#/definitions/P2PTransferChange'
- $ref: '#/definitions/P2PTransferStatus'
Provider:
description: Данные провайдера услуг
type: object
@ -2376,6 +2823,68 @@ definitions:
description: Идентификатор провайдера услуг
type: string
example: ncoeps
QuoteParameters:
description: Параметры запроса комиссий
type: object
required:
- sender
- receiver
- identityID
- body
properties:
sender:
$ref: '#/definitions/SenderResource'
receiver:
$ref: '#/definitions/ReceiverResource'
identityID:
description: Идентификатор личности владельца кошелька
type: string
example: '10036274'
body:
description: Сумма операции
type: object
required:
- amount
- currency
properties:
amount:
description: |
Сумма денежных средств в минорных единицах, например, в копейках
type: integer
format: int64
example: 1430000
currency:
description: |
Валюта, символьный код согласно [ISO
4217](http://www.iso.org/iso/home/standards/currency_codes.htm).
type: string
pattern: '^[A-Z]{3}$'
example: RUB
ReceiverResource:
description: 'Ресурс получателя денежных средств, используемый для осуществления переводов'
type: object
discriminator: type
required:
- type
properties:
type:
description: |
Тип ресурса получателя средств.
См. [RBKmoney Payment Resource API](?api/payres/swagger.yaml).
type: string
enum:
- BankCardReceiverResource
Redirect:
type: object
allOf:
- $ref: '#/definitions/UserInteraction'
- type: object
required:
- request
properties:
request:
$ref: '#/definitions/BrowserRequest'
Report:
type: object
required:
@ -2476,10 +2985,92 @@ definitions:
type: string
pattern: '^[A-Z]{3}$'
example: RUS
SenderResource:
description: 'Ресурс отправителя денежных средств, используемый для осуществления переводов'
type: object
discriminator: type
required:
- type
properties:
type:
description: |
Тип ресурса отправителя средств.
См. [RBKmoney Payment Resource API](?api/payres/swagger.yaml).
type: string
enum:
- BankCardSenderResource
SourceID:
description: Идентификатор источника денежных средств
type: string
example: '107498'
SubFailure:
description: |
Детализация описания ошибки
type: object
required:
- code
properties:
code:
description: Детализация кода ошибки
type: string
subError:
$ref: '#/definitions/SubFailure'
UserInteraction:
type: object
discriminator: interactionType
required:
- interactionType
properties:
interactionType:
description: Тип взаимодействия с пользователем
type: string
UserInteractionChange:
type: object
discriminator: changeType
required:
- changeType
properties:
changeType:
description: Вид изменения взаимодействию с пользователем.
type: string
enum:
- UserInteractionCreated
- UserInteractionFinished
UserInteractionCreated:
type: object
allOf:
- $ref: '#/definitions/UserInteractionChange'
- type: object
required:
- userInteraction
properties:
userInteraction:
$ref: '#/definitions/UserInteraction'
UserInteractionFinished:
type: object
allOf:
- $ref: '#/definitions/UserInteractionChange'
UserInteractionForm:
description: Форма для отправки средствами браузера
type: array
items:
type: object
required:
- key
- template
properties:
key:
description: |
Значение ключа элемента формы, которую необходимо отправить средствами
браузера
type: string
template:
description: |
Шаблон значения элемента формы
Шаблон представлен согласно стандарту
[RFC6570](https://tools.ietf.org/html/rfc6570).
type: string
Wallet:
description: Данные кошелька
type: object