mirror of
https://github.com/valitydev/swag-wallets.git
synced 2024-11-06 02:45:19 +00:00
[ED-269]: Delete P2P functional (#98)
This commit is contained in:
parent
bbc014e117
commit
3dbbabfe15
22
CHANGELOG.md
22
CHANGELOG.md
@ -1,5 +1,23 @@
|
||||
# Swag-wallets changelog
|
||||
|
||||
## Version 0.0.2 to 0.0.3 - 22.09.2021
|
||||
---
|
||||
### What's Deprecated(not supported yet)
|
||||
---
|
||||
`POST` /p2p/quotes Расчет комиссии и фиксирование их в виде токена, который можно использовать при создании перевода
|
||||
`POST` /p2p/transfers Создание перевода
|
||||
`GET` /p2p/transfers/{p2pTransferID} Получить перевод
|
||||
`GET` /p2p/transfers/{p2pTransferID}/events Получить историю перевода в виде набора событий.
|
||||
|
||||
`POST` /p2p/transfer/templates Создать шаблон перевода
|
||||
`GET` /p2p/transfer/templates/{p2pTransferTemplateID} Получить шаблон перевода по его идентификатору.
|
||||
`POST` /p2p/transfer/templates/{p2pTransferTemplateID}/access-tokens Получить токен доступа для чтения шаблона и выписывание талонов на создание переводов по шаблону
|
||||
`POST` /p2p/transfer/templates/{p2pTransferTemplateID}/block Заблокировать использование шаблона.
|
||||
`POST` /p2p/transfer/templates/{p2pTransferTemplateID}/quotes Расчитать комиссии и зафиксировать их в виде токена
|
||||
`POST` /p2p/transfer/templates/{p2pTransferTemplateID}/tickets Получить талон на одну попытку создания перевода по шаблону
|
||||
`POST` /p2p/transfer/templates/{p2pTransferTemplateID}/transfers Создать новый перевод по шаблону.
|
||||
|
||||
|
||||
## Version 0.0.1 to 0.0.2 - 26.11.2020
|
||||
---
|
||||
### What's New
|
||||
@ -19,11 +37,11 @@
|
||||
---
|
||||
### What's Changed
|
||||
---
|
||||
`POST` /identities Создать личность владельца
|
||||
`POST` /identities Создать личность владельца
|
||||
Parameters
|
||||
|
||||
Insert identity.partyID //Уникальный в рамках платформы идентификатор участника.
|
||||
`GET` /identities/{identityID} Получить данные личности владельца
|
||||
`GET` /identities/{identityID} Получить данные личности владельца
|
||||
Return Type
|
||||
|
||||
Insert partyID //Уникальный в рамках платформы идентификатор участника.
|
||||
|
@ -1,38 +0,0 @@
|
||||
description: Cхема содержимого [токена для создания перевода](#/definitions/P2PTransferQuoteToken.yaml) версии 1
|
||||
type: object
|
||||
required:
|
||||
- version
|
||||
- amount
|
||||
- partyRevision
|
||||
- domainRevision
|
||||
- createdAt
|
||||
- expiresOn
|
||||
- partyID
|
||||
- identityID
|
||||
- sender
|
||||
- receiver
|
||||
properties:
|
||||
version:
|
||||
type: integer
|
||||
minimum: 1
|
||||
maximum: 1
|
||||
amount:
|
||||
$ref: '../spec/definitions/Asset.yaml'
|
||||
partyRevision:
|
||||
type: integer
|
||||
domainRevision:
|
||||
type: integer
|
||||
createdAt:
|
||||
type: string
|
||||
format: date-time
|
||||
expiresOn:
|
||||
type: string
|
||||
format: date-time
|
||||
partyID:
|
||||
type: string
|
||||
identityID:
|
||||
$ref: '../spec/definitions/IdentityID.yaml'
|
||||
sender:
|
||||
$ref: 'CompactResource.yaml'
|
||||
receiver:
|
||||
$ref: 'CompactResource.yaml'
|
@ -1,43 +0,0 @@
|
||||
description: Данные перевода
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
- identityID
|
||||
- createdAt
|
||||
- body
|
||||
- sender
|
||||
- receiver
|
||||
- status
|
||||
- contactInfo
|
||||
properties:
|
||||
id:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/P2PTransferID'
|
||||
identityID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/IdentityID'
|
||||
- description: Идентификатор личности владельца перевода
|
||||
createdAt:
|
||||
description: Дата и время создания
|
||||
type: string
|
||||
format: date-time
|
||||
body:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/Asset'
|
||||
- description: Сумма операции
|
||||
sender:
|
||||
$ref: '#/definitions/SenderResource'
|
||||
receiver:
|
||||
$ref: '#/definitions/ReceiverResource'
|
||||
status:
|
||||
$ref: '#/definitions/P2PTransferStatus'
|
||||
contactInfo:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ContactInfo'
|
||||
- description: Контактные данные отправителя
|
||||
externalID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ExternalID'
|
||||
metadata:
|
||||
description: Связанные с переводом метаданные
|
||||
type: object
|
@ -1,10 +0,0 @@
|
||||
type: object
|
||||
discriminator: changeType
|
||||
required:
|
||||
- changeType
|
||||
properties:
|
||||
changeType:
|
||||
type: string
|
||||
enum:
|
||||
- P2PTransferStatusChanged
|
||||
- P2PTransferInteractionChanged
|
@ -1,10 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- createdAt
|
||||
- change
|
||||
properties:
|
||||
createdAt:
|
||||
type: string
|
||||
format: date-time
|
||||
change:
|
||||
$ref: '#/definitions/P2PTransferChange'
|
@ -1,11 +0,0 @@
|
||||
description: |
|
||||
[Ошибка, возникшая в процессе проведения перевода](#tag/Error-Codes)
|
||||
type: object
|
||||
required:
|
||||
- code
|
||||
properties:
|
||||
code:
|
||||
description: Основной код ошибки
|
||||
type: string
|
||||
subError:
|
||||
$ref: '#/definitions/SubFailure'
|
@ -1,5 +0,0 @@
|
||||
description: Идентификатор перевода
|
||||
type: string
|
||||
example: "10a0b68D3E21"
|
||||
maxLength: 40
|
||||
minLength: 1
|
@ -1,15 +0,0 @@
|
||||
type: object
|
||||
allOf:
|
||||
- $ref: '#/definitions/P2PTransferChange'
|
||||
- type: object
|
||||
description: |
|
||||
Изменения определённого взаимодействия с пользователем
|
||||
required:
|
||||
- userInteractionID
|
||||
- userInteractionChange
|
||||
properties:
|
||||
userInteractionID:
|
||||
description: Идентификатор взаимодействия с пользователем
|
||||
type: string
|
||||
userInteractionChange:
|
||||
$ref: '#/definitions/UserInteractionChange'
|
@ -1,34 +0,0 @@
|
||||
description: Параметры создания перевода
|
||||
type: object
|
||||
required:
|
||||
- sender
|
||||
- receiver
|
||||
- identityID
|
||||
- body
|
||||
- contactInfo
|
||||
properties:
|
||||
sender:
|
||||
$ref: '#/definitions/SenderResourceParams'
|
||||
receiver:
|
||||
$ref: '#/definitions/ReceiverResourceParams'
|
||||
identityID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/IdentityID'
|
||||
- description: Идентификатор личности владельца перевода
|
||||
body:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/Asset'
|
||||
- description: Сумма перевода
|
||||
contactInfo:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ContactInfo'
|
||||
- description: Контактные данные отправителя
|
||||
quoteToken:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/P2PTransferQuoteToken'
|
||||
metadata:
|
||||
description: 'Метаданные, которые необходимо связать с переводом'
|
||||
type: object
|
||||
externalID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ExternalID'
|
@ -1,17 +0,0 @@
|
||||
description: Комиссия и токен предназначеный для создания перевода
|
||||
type: object
|
||||
required:
|
||||
- customerFee
|
||||
- token
|
||||
- expiresOn
|
||||
properties:
|
||||
customerFee:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/Asset'
|
||||
- description: Комиссия "сверху" - взимается с клиента в дополнение к сумме операции
|
||||
token:
|
||||
$ref: '#/definitions/P2PTransferQuoteToken'
|
||||
expiresOn:
|
||||
description: Дата и время прекращения действия токена
|
||||
type: string
|
||||
format: date-time
|
@ -1,5 +0,0 @@
|
||||
type: string
|
||||
minLength: 1
|
||||
maxLength: 4000
|
||||
description: >
|
||||
Токен, полученный в результате вычисления и фиксирования комиссий перевода
|
@ -1,26 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- status
|
||||
properties:
|
||||
status:
|
||||
description: |
|
||||
Статус вывода денежных средств.
|
||||
|
||||
| Значение | Пояснение |
|
||||
| ----------- | ------------------------------------------ |
|
||||
| `Pending` | Перевод в процессе выполнения |
|
||||
| `Succeeded` | Перевод средств произведён успешно |
|
||||
| `Failed` | Перевод средств завершился неудачей |
|
||||
|
||||
type: string
|
||||
enum:
|
||||
- Pending
|
||||
- Succeeded
|
||||
- Failed
|
||||
failure:
|
||||
x-rebillyMerge:
|
||||
- description: |
|
||||
> Если `status` == `Failed`
|
||||
|
||||
Пояснение причины неудачи
|
||||
- $ref: '#/definitions/P2PTransferFailure'
|
@ -1,4 +0,0 @@
|
||||
type: object
|
||||
allOf:
|
||||
- $ref: '#/definitions/P2PTransferChange'
|
||||
- $ref: '#/definitions/P2PTransferStatus'
|
@ -1,29 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- id
|
||||
- identityID
|
||||
- createdAt
|
||||
- details
|
||||
properties:
|
||||
id:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/P2PTransferTemplateID'
|
||||
- readOnly: true
|
||||
identityID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/IdentityID'
|
||||
- description: Идентификатор личности владельца шаблона
|
||||
createdAt:
|
||||
description: Дата и время создания
|
||||
type: string
|
||||
format: date-time
|
||||
isBlocked:
|
||||
description: Заблокирован ли шаблон?
|
||||
type: boolean
|
||||
readOnly: true
|
||||
example: false
|
||||
details:
|
||||
$ref: '#/definitions/P2PTransferTemplateDetails'
|
||||
externalID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ExternalID'
|
@ -1,20 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- value
|
||||
properties:
|
||||
value:
|
||||
description: |
|
||||
Объём денежных средств
|
||||
type: object
|
||||
required:
|
||||
- currency
|
||||
properties:
|
||||
amount:
|
||||
description: |
|
||||
Сумма денежных средств в минорных единицах, например, в копейках
|
||||
type: integer
|
||||
format: int64
|
||||
example: 1430000
|
||||
currency:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/CurrencyID'
|
@ -1,13 +0,0 @@
|
||||
type: object
|
||||
description: Параметры, использующиеся при создании перевода
|
||||
required:
|
||||
- body
|
||||
properties:
|
||||
description:
|
||||
description: Описание перевода
|
||||
type: string
|
||||
maxLength: 1000
|
||||
body:
|
||||
$ref: '#/definitions/P2PTransferTemplateBody'
|
||||
metadata:
|
||||
$ref: '#/definitions/P2PTransferTemplateMetadata'
|
@ -1,5 +0,0 @@
|
||||
description: Идентификатор шаблона перевода
|
||||
type: string
|
||||
example: "10a0b68D3E21"
|
||||
maxLength: 40
|
||||
minLength: 1
|
@ -1,10 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- defaultMetadata
|
||||
properties:
|
||||
defaultMetadata:
|
||||
description: >
|
||||
Метаданные, которые будут связаны с переводом, созданным по шаблону.
|
||||
Непосредственно при создании перевода можно передать дополнительные метаданные.
|
||||
При совпадении ключей предпочтение будет отдаваться значениям из этого поля шаблона.
|
||||
type: object
|
@ -1,14 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- identityID
|
||||
- details
|
||||
properties:
|
||||
identityID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/IdentityID'
|
||||
- description: Идентификатор личности владельца шаблона
|
||||
details:
|
||||
$ref: '#/definitions/P2PTransferTemplateDetails'
|
||||
externalID:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ExternalID'
|
@ -1,15 +0,0 @@
|
||||
description: Параметры запроса комиссий
|
||||
type: object
|
||||
required:
|
||||
- sender
|
||||
- receiver
|
||||
- body
|
||||
properties:
|
||||
sender:
|
||||
$ref: '#/definitions/SenderResource'
|
||||
receiver:
|
||||
$ref: '#/definitions/ReceiverResource'
|
||||
body:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/Asset'
|
||||
- description: Сумма операции
|
@ -1,14 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- validUntil
|
||||
properties:
|
||||
token:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/GrantToken'
|
||||
- readOnly: true
|
||||
validUntil:
|
||||
description: |
|
||||
Желаемые дата и время, до наступления которых будет действителен выданный токен.
|
||||
Итоговое значение может быть ограничено сроком действия AccessToken, его можно узнать из ответа.
|
||||
type: string
|
||||
format: date-time
|
@ -1,13 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- validUntil
|
||||
properties:
|
||||
token:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/GrantToken'
|
||||
- readOnly: true
|
||||
validUntil:
|
||||
description: |
|
||||
Дата и время, до наступления которых выданный токен действителен
|
||||
type: string
|
||||
format: date-time
|
@ -1,28 +0,0 @@
|
||||
type: object
|
||||
required:
|
||||
- sender
|
||||
- receiver
|
||||
- body
|
||||
- contactInfo
|
||||
properties:
|
||||
sender:
|
||||
$ref: '#/definitions/SenderResourceParams'
|
||||
receiver:
|
||||
$ref: '#/definitions/ReceiverResourceParams'
|
||||
body:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/Asset'
|
||||
- description: Сумма перевода
|
||||
contactInfo:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ContactInfo'
|
||||
- description: Контактные данные отправителя
|
||||
quoteToken:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/P2PTransferQuoteToken'
|
||||
metadata:
|
||||
type: object
|
||||
description: |
|
||||
Метаданные, которые необходимо связать с переводом.
|
||||
Добавляются к указанным при создании шаблона.
|
||||
При совпадении ключей предпочтение отдается значениям из шаблона.
|
@ -1,29 +0,0 @@
|
||||
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'
|
||||
'422':
|
||||
description: Неверные данные для расчета комиссий
|
||||
schema:
|
||||
$ref: '#/definitions/InvalidOperationParameters'
|
@ -1,28 +0,0 @@
|
||||
post:
|
||||
description: Создать шаблон перевода
|
||||
tags:
|
||||
- P2PTemplates
|
||||
operationId: createP2PTransferTemplate
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- name: transferTemplateParams
|
||||
in: body
|
||||
description: 'Параметры создания шаблона перевода'
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplateParameters'
|
||||
responses:
|
||||
'201':
|
||||
description: Шаблон перевода создан
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplate'
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'409':
|
||||
$ref: '#/responses/ConflictRequest'
|
||||
'422':
|
||||
description: Неверные входные данные для создания шаблона перевода
|
||||
schema:
|
||||
$ref: '#/definitions/InvalidOperationParameters'
|
@ -1,20 +0,0 @@
|
||||
get:
|
||||
description: Получить шаблон перевода по его идентификатору.
|
||||
tags:
|
||||
- P2PTemplates
|
||||
operationId: getP2PTransferTemplateByID
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- $ref: '#/parameters/p2pTransferTemplateID'
|
||||
responses:
|
||||
'200':
|
||||
description: Шаблон перевода
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplate'
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'404':
|
||||
$ref: '#/responses/NotFound'
|
@ -1,32 +0,0 @@
|
||||
post:
|
||||
operationId: issueP2PTransferTemplateAccessToken
|
||||
description: |
|
||||
Получить токен доступа для чтения шаблона и
|
||||
выписывание талонов на создание переводов по шаблону
|
||||
tags:
|
||||
- P2PTemplates
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- $ref: '#/parameters/p2pTransferTemplateID'
|
||||
- name: request
|
||||
description: Запрос на получение токена доступа
|
||||
in: body
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplateTokenRequest'
|
||||
responses:
|
||||
'201':
|
||||
description: Токен получен
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplateTokenRequest'
|
||||
'404':
|
||||
$ref: '#/responses/NotFound'
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'422':
|
||||
description: Неверные данные для получения
|
||||
schema:
|
||||
$ref: '#/definitions/InvalidOperationParameters'
|
@ -1,22 +0,0 @@
|
||||
post:
|
||||
description: Заблокировать использование шаблона.
|
||||
tags:
|
||||
- P2PTemplates
|
||||
operationId: blockP2PTransferTemplate
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- $ref: '#/parameters/p2pTransferTemplateID'
|
||||
responses:
|
||||
'204':
|
||||
description: Шаблон заблокирован
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'404':
|
||||
$ref: '#/responses/NotFound'
|
||||
'422':
|
||||
description: Неверные данные для блокировки шаблона
|
||||
schema:
|
||||
$ref: '#/definitions/InvalidOperationParameters'
|
@ -1,32 +0,0 @@
|
||||
post:
|
||||
description: >
|
||||
Расчитать комиссии и зафиксировать их в виде токена,
|
||||
который можно использовать при создании перевода по шаблону
|
||||
operationId: quoteP2PTransferWithTemplate
|
||||
tags:
|
||||
- P2PTemplates
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- $ref: '#/parameters/p2pTransferTemplateID'
|
||||
- name: quoteParams
|
||||
description: Параметры для вычисления комиссий
|
||||
in: body
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplateQuoteParameters'
|
||||
responses:
|
||||
'201':
|
||||
description: Результат вычисления комиссий
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferQuote'
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'404':
|
||||
$ref: '#/responses/NotFound'
|
||||
'422':
|
||||
description: Неверные данные для расчета комиссий
|
||||
schema:
|
||||
$ref: '#/definitions/InvalidOperationParameters'
|
@ -1,30 +0,0 @@
|
||||
post:
|
||||
operationId: issueP2PTransferTicket
|
||||
description: Получить талон на одну попытку создания перевода по шаблону
|
||||
tags:
|
||||
- P2PTemplates
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- $ref: '#/parameters/p2pTransferTemplateID'
|
||||
- name: request
|
||||
description: Запрос на получение талона
|
||||
in: body
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplateTicketRequest'
|
||||
responses:
|
||||
'201':
|
||||
description: Талон получен
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferTemplateTokenRequest'
|
||||
'404':
|
||||
$ref: '#/responses/NotFound'
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'422':
|
||||
description: Неверные данные для получения
|
||||
schema:
|
||||
$ref: '#/definitions/InvalidOperationParameters'
|
@ -1,37 +0,0 @@
|
||||
post:
|
||||
description: Создать новый перевод по шаблону.
|
||||
tags:
|
||||
- P2PTemplates
|
||||
operationId: createP2PTransferWithTemplate
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- $ref: '#/parameters/p2pTransferTemplateID'
|
||||
- name: p2pTransferParamsWithTemplate
|
||||
description: Параметры создаваемого перевода
|
||||
in: body
|
||||
required: true
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransferWithTemplateParameters'
|
||||
responses:
|
||||
'202':
|
||||
description: Перевод запущен
|
||||
headers:
|
||||
Location:
|
||||
description: URI запущенного перевода
|
||||
type: string
|
||||
format: uri
|
||||
schema:
|
||||
$ref: '#/definitions/P2PTransfer'
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'404':
|
||||
$ref: '#/responses/NotFound'
|
||||
'409':
|
||||
$ref: '#/responses/ConflictRequest'
|
||||
'422':
|
||||
description: Неверные входные данные для создания перевода
|
||||
schema:
|
||||
$ref: '#/definitions/InvalidOperationParameters'
|
@ -1,33 +0,0 @@
|
||||
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'
|
@ -1,20 +0,0 @@
|
||||
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'
|
@ -1,34 +0,0 @@
|
||||
get:
|
||||
description: Получить историю перевода в виде набора событий.
|
||||
tags:
|
||||
- P2P
|
||||
operationId: getP2PTransferEvents
|
||||
parameters:
|
||||
- $ref: '#/parameters/requestID'
|
||||
- $ref: '#/parameters/deadline'
|
||||
- $ref: '#/parameters/p2pTransferID'
|
||||
- x-rebillyMerge:
|
||||
- name: continuationToken
|
||||
in: query
|
||||
required: false
|
||||
- $ref: '#/definitions/ContinuationToken'
|
||||
responses:
|
||||
'200':
|
||||
description: Результат запроса событий
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
continuationToken:
|
||||
x-rebillyMerge:
|
||||
- $ref: '#/definitions/ContinuationToken'
|
||||
result:
|
||||
description: Набор событий
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/definitions/P2PTransferEvent'
|
||||
'400':
|
||||
$ref: '#/responses/BadRequest'
|
||||
'401':
|
||||
$ref: '#/responses/Unauthorized'
|
||||
'404':
|
||||
$ref: '#/responses/NotFound'
|
@ -311,24 +311,6 @@ parameters:
|
||||
maxLength: 40
|
||||
minLength: 1
|
||||
|
||||
p2pTransferID:
|
||||
name: p2pTransferID
|
||||
in: path
|
||||
description: Идентификатор перевода
|
||||
required: true
|
||||
type: string
|
||||
maxLength: 40
|
||||
minLength: 1
|
||||
|
||||
p2pTransferTemplateID:
|
||||
name: p2pTransferTemplateID
|
||||
in: path
|
||||
description: Идентификатор шаблона перевода
|
||||
required: true
|
||||
type: string
|
||||
maxLength: 40
|
||||
minLength: 1
|
||||
|
||||
w2wTransferID:
|
||||
name: w2wTransferID
|
||||
in: path
|
||||
@ -382,63 +364,6 @@ tags:
|
||||
x-displayName: Загрузка файлов
|
||||
description: ""
|
||||
|
||||
- name: P2P
|
||||
x-displayName: Переводы вне платформы
|
||||
description: "Переводы средств между людьми с использованием инструментов вне платформы"
|
||||
|
||||
- name: P2PTemplates
|
||||
x-displayName: Шаблоны переводов вне платформы
|
||||
description: >
|
||||
Шаблоны переводов вне платформы позволяют упростить создание переводов. Шаблон перевода
|
||||
привязан к [личности-владельцу](#tag/Identities) и содержит спецификацию, по которой можно
|
||||
создавать переводы, указывая только конкретнyю сумму и/или метаданные перевода.
|
||||
|
||||
|
||||
Шаблоны служат в первую очередь для простой и при этом безопасной реализации сценариев
|
||||
совершения переводов клиентами в браузере, например с использованием нашей формы.
|
||||
|
||||
### Сценарий интеграции
|
||||
|
||||
1. Владелец [создаёт шаблон перевода](#operation/createP2PTransferTemplate), при помощи личного кабинета или непосредственно вызова метода API.
|
||||
|
||||
2. Владелец [выписывает токен доступа](#operation/issueP2PTransferTemplateAccessToken) к шаблону и использует его вместе с идентификатором шаблона при встраивании формы для переводов на своём сайте.
|
||||
|
||||
3. Будучи открытой клиентом, форма использует [полученный токен](#operation/issueP2PTransferTemplateAccessToken) для доступа к различной информации о шаблоне и для [выписывания талона](#operation/issueP2PTransferTicket) на единоразовое совершение перевода.
|
||||
|
||||
4. Клиент заполняет необходимые данные, и, используя [полученный талон](#operation/issueP2PTransferTicket) в качестве токена доступа, запускает перевод и начинает следить изменениями его статуса*.
|
||||
|
||||
5. В случае неуспешного завершения перевода форма может повторить процесс, [выписав очередной талон](#operation/issueP2PTransferTicket) на совершение перевода.
|
||||
|
||||
* В том случае, если перевод не удалось создать, например по причине кратковременной недоступности сервиса, повторный запрос с тем же талоном будет обработан идемпотентно.
|
||||
|
||||
|
||||
Cоздание и модификация шаблона перевода не требуют верификации на
|
||||
стороне платформы и заявок на эти изменения.
|
||||
|
||||
### Токен доступа к шаблону перевода
|
||||
|
||||
Токен доступа к шаблону перевода создается с помощью соответствующего
|
||||
метода API [issueP2PTransferTemplateAccessToken](#operation/issueP2PTransferTemplateAccessToken).
|
||||
Он авторизует:
|
||||
|
||||
* чтение шаблона,
|
||||
|
||||
* выписывание талона для проведения перевода по шаблону.
|
||||
|
||||
|
||||
### Талон на совершение перевода
|
||||
|
||||
Талон на совершение перевода является расширенной версией токена доступа
|
||||
и создается с помощью соответствующего метода API [issueP2PTransferTicket](#operation/issueP2PTransferTicket).
|
||||
Он авторизует:
|
||||
|
||||
* запросы комиссии перевода,
|
||||
|
||||
* одну попытку создания перевода по данному шаблону,
|
||||
|
||||
* операции чтения, связанные с этим переводом.
|
||||
|
||||
|
||||
- name: W2W
|
||||
x-displayName: Переводы внутри платформы
|
||||
description: "Переводы средств между кошельками внутри платформы"
|
||||
@ -475,5 +400,4 @@ tags:
|
||||
| InsufficientFunds | Недостаточно средств на счете банковской карты |
|
||||
| PreauthorizationFailed | Предварительная авторизация отклонена (введен неверный код 3D-Secure, на форме 3D-Secure нажата ссылка отмены) |
|
||||
| RejectedByIssuer | Перевод отклонён эмитентом (установлены запреты по стране списания, запрет на покупки в интернете, платёж отклонен антифродом эмитента и т.п.) |
|
||||
| P2PTransferRejected | Перевод отклонён по иным причинам |
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user