Skip to main content

Расчёт на условиях DvP — сценарий

Сценарий демонстрирует ситуацию выполнения Двустороннего обмена активами между Участниками на условиях DvP. Применяется после запроса и утверждения Котировки для инструктирования расчёта.

Шаг 1. Получить подпись запроса на расчёт

ОФУ

Финансовому учреждению-отправителю необходимо сформировать сведения об обмене активами exchangeInfo: сведения о котировке, ранее полученные от ПФУ — см. сценарий: Запрос котировок, сумма в Базовом активе, которая подлежит обмену и идентификаторы счетов — Цифровой счёт зачисления Котируемого актива и Цифровой счёт списания Базового актива. После этого Участнику ОФУ необходимо закодировать данные объекта exchangeInfo в base64, а затем сделать вызов в конечную точку /sign/payload для подписания полезной нагрузки, в ответ Участник ОФУ получит подпись объекта, необходимую для завершения расчёта на условиях DvP.

Пример запроса

{
"method": "POST",
"url": "https://ru.bluebank.payments.tkey7.com/client/v1/api/sign/payload",
"headers": {
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjYyODkwNDEzNWIyZDgzOWVjZWU1NjU5OCJ9.eyJ2cnNuIjoiMS4wLjAiLCJlbnYiOiJwcm9kIiwiaXAiOlsiMjUxLjI2LjEwOC4xNjMiLCI2Mi4yMDMuMTU2LjIyOCIsIjIxLjQ0LjIwLjIyNyIsIjE0OC4zNC4yMjUuMTUwIiwiMTU4LjE4Ni4yMDAuMTQwIl0sImFjY3QiOlsiZW1pc3Npb24iLCJtYWluIiwicmVzZXJ2ZSIsImRpc3RyaWJ1dGlvbiIsImNvbnNvbGlkYXRlIiwiY2hlY2tpbmciXSwiZW5kcHQiOlsiL2NsaWVudC92MS9hcGkvYmFsYW5jZXMvZGlnaXRhbC1hY2NvdW50cyIsIi9jbGllbnQvdjEvYXBpL2NoYXJnZXMvcmVxdWVzdCIsIi9jbGllbnQvdjEvYXBpL2NoYXJnZXMvcmVzcG9uc2UiLCIvY2xpZW50L3YxL2FwaS9kaWdpdGFsLWFjY291bnRzIiwiL2NsaWVudC92MS9hcGkvZXhjaGFuZ2UiLCIvY2xpZW50L3YxL2FwaS9leGNoYW5nZS9xdW90YXRpb25zIiwiL2NsaWVudC92MS9hcGkvZXhjaGFuZ2UvcXVvdGF0aW9ucy9yZXF1ZXN0IiwiL2NsaWVudC92MS9hcGkvZ2F0ZXdheS9tZXNzYWdlcyIsIi9jbGllbnQvdjEvYXBpL21lbWJlcnMiLCIvY2xpZW50L3YxL2FwaS9wYXltZW50LXBvaW50cyIsIi9jbGllbnQvdjEvYXBpL3BheW1lbnRzL21lc3NhZ2UvcmVkZWVtIiwiL2NsaWVudC92MS9hcGkvcGF5bWVudHMvbWVzc2FnZS9yZXBseSIsIi9jbGllbnQvdjEvYXBpL3BheW1lbnRzL21lc3NhZ2Uvc2VuZCIsIi9jbGllbnQvdjEvYXBpL3NldHRsZW1lbnQtaW5zdHJ1bWVudHMiLCIvY2xpZW50L3YxL2FwaS9zZXR0bGVtZW50LWluc3RydW1lbnRzL2RpZ2l0YWwtYWNjb3VudHMiLCIvY2xpZW50L3YxL2FwaS9zZXR0bGVtZW50LWluc3RydW1lbnRzL21lbWJlcnMiLCIvY2xpZW50L3YxL2FwaS9zZXR0bGVtZW50LW9ibGlnYXRpb25zIiwiL2NsaWVudC92MS9hcGkvc2lnbi9tZXNzYWdlIiwiL2NsaWVudC92MS9hcGkvc2lnbi9wYXlsb2FkIiwiL2NsaWVudC92MS9hcGkvdHJhbnNhY3Rpb25zIl0sImNudCI6MCwiaWF0IjoxNjU4MzkxNDA2LCJuYmYiOjE2NTgzOTE0MDksImV4cCI6MTY1ODQ3NzgwNiwiYXVkIjoiYmx1ZWJhbmsiLCJzdWIiOiItTjJfd2FQQkd2OXJuYmRfUmx1TiIsImp0aSI6IlFLNDN1RDF4Um5EOU1helpkdGF5eWVyMXZEIn0.lhEP1ZyYKgfC8UWnYloULUw00nEL0dxFSm_1WGHVxj0"
},
"body": {
"amount_base_asset": "2750",
"buyer_crediting_account_identification": "distribution",

Шаг 2. Отправить запрос на расчёт

ОФУ

На этом шаге Финансовое учреждение-отправитель может завершить расчёт на условиях DvP, для этого требуется объединить сведения exchangeInfo и подпись memberSignedPayload в объекте exchangeObject, а затем передать exchangeObject в конечную точку /exchange. После получения инструкции на Двусторонний обмен активами, TKEY7 сформирует транзакцию и отправит в сеть для окончательной записи в Распределённом реестре. В рамках одной транзакции, одновременно со счёта Участника ОФУ будет осуществлён перевод Базового актива на Цифровой счёт Участника ПФУ, и со счёта Участника ПФУ будет выполнен перевод Котируемого актива на Цифровой счёт Участника ОФУ, в ответ Участник ОФУ получит квитанцию о завершении расчёта на условиях DvP.

Пример запроса

{
"method": "POST",
"url": "https://ru.bluebank.payments.tkey7.com/client/v1/api/exchange",
"headers": {
"Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IjYyODkwNDEzNWIyZDgzOWVjZWU1NjU5OCJ9.eyJ2cnNuIjoiMS4wLjAiLCJlbnYiOiJwcm9kIiwiaXAiOlsiMjUxLjI2LjEwOC4xNjMiLCI2Mi4yMDMuMTU2LjIyOCIsIjIxLjQ0LjIwLjIyNyIsIjE0OC4zNC4yMjUuMTUwIiwiMTU4LjE4Ni4yMDAuMTQwIl0sImFjY3QiOlsiZW1pc3Npb24iLCJtYWluIiwicmVzZXJ2ZSIsImRpc3RyaWJ1dGlvbiIsImNvbnNvbGlkYXRlIiwiY2hlY2tpbmciXSwiZW5kcHQiOlsiL2NsaWVudC92MS9hcGkvYmFsYW5jZXMvZGlnaXRhbC1hY2NvdW50cyIsIi9jbGllbnQvdjEvYXBpL2NoYXJnZXMvcmVxdWVzdCIsIi9jbGllbnQvdjEvYXBpL2NoYXJnZXMvcmVzcG9uc2UiLCIvY2xpZW50L3YxL2FwaS9kaWdpdGFsLWFjY291bnRzIiwiL2NsaWVudC92MS9hcGkvZXhjaGFuZ2UiLCIvY2xpZW50L3YxL2FwaS9leGNoYW5nZS9xdW90YXRpb25zIiwiL2NsaWVudC92MS9hcGkvZXhjaGFuZ2UvcXVvdGF0aW9ucy9yZXF1ZXN0IiwiL2NsaWVudC92MS9hcGkvZ2F0ZXdheS9tZXNzYWdlcyIsIi9jbGllbnQvdjEvYXBpL21lbWJlcnMiLCIvY2xpZW50L3YxL2FwaS9wYXltZW50LXBvaW50cyIsIi9jbGllbnQvdjEvYXBpL3BheW1lbnRzL21lc3NhZ2UvcmVkZWVtIiwiL2NsaWVudC92MS9hcGkvcGF5bWVudHMvbWVzc2FnZS9yZXBseSIsIi9jbGllbnQvdjEvYXBpL3BheW1lbnRzL21lc3NhZ2Uvc2VuZCIsIi9jbGllbnQvdjEvYXBpL3NldHRsZW1lbnQtaW5zdHJ1bWVudHMiLCIvY2xpZW50L3YxL2FwaS9zZXR0bGVtZW50LWluc3RydW1lbnRzL2RpZ2l0YWwtYWNjb3VudHMiLCIvY2xpZW50L3YxL2FwaS9zZXR0bGVtZW50LWluc3RydW1lbnRzL21lbWJlcnMiLCIvY2xpZW50L3YxL2FwaS9zZXR0bGVtZW50LW9ibGlnYXRpb25zIiwiL2NsaWVudC92MS9hcGkvc2lnbi9tZXNzYWdlIiwiL2NsaWVudC92MS9hcGkvc2lnbi9wYXlsb2FkIiwiL2NsaWVudC92MS9hcGkvdHJhbnNhY3Rpb25zIl0sImNudCI6MCwiaWF0IjoxNjU4MzkxNDA2LCJuYmYiOjE2NTgzOTE0MDksImV4cCI6MTY1ODQ3NzgwNiwiYXVkIjoiYmx1ZWJhbmsiLCJzdWIiOiItTjJfd2FQQkd2OXJuYmRfUmx1TiIsImp0aSI6IlFLNDN1RDF4Um5EOU1helpkdGF5eWVyMXZEIn0.lhEP1ZyYKgfC8UWnYloULUw00nEL0dxFSm_1WGHVxj0"
},
"body": {
"exchange_payload": "eyJhbW91bnRfYmFzZV9hc3NldCI6IjI3NTAiLCJidXllcl9jcmVkaXRpbmdfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6ImRpc3RyaWJ1dGlvbiIsImJ1eWVyX2RlYml0aW5nX2FjY291bnRfaWRlbnRpZmljYXRpb24iOiJtYWluIiwiZmluYW5jaWFsX3F1b3RlX2luZm8iOnsiZW5kX3RpbWUiOiIxNjU4Mzk1ODg3IiwiZm9yZWlnbl9leGNoYW5nZV9yYXRlIjoiMC45Njk4NTM0IiwibWF4aW11bV9hbW91bnRfbGltaXQiOiIzNTAwIiwicXVvdGF0aW9uX3V1aWQiOiIxMzNhMTcyNy0wZGUyLTRiMDYtYmE5OC1iYzliYTM4ZDA1YzEtZ3JlZW5iYW5rIiwicmVxdWVzdF9xdW90YXRpb24iOnsiYmFzZV9hc3NldF9pbmZvIjp7ImFzc2V0X2NvZGVfaWRlbnRpZmljYXRpb24iOiJVU0QiLCJhc3NldF9ncm91cF9pZGVudGlmaWNhdGlvbiI6IkRTQSIsImFzc2V0X2lzc3Vlcl9pZGVudGlmaWNhdGlvbiI6ImJsdWViYW5rIn0sImJ1eWVyX21lbWJlcl9pZGVudGlmaWNhdGlvbiI6ImJsdWViYW5rIiwibWF4aW11bV9hbW91bnRfbGltaXQiOjUwMDAsIm1pbmltdW1fYW1vdW50X2xpbWl0IjoxMDAwLCJxdW90ZV9hc3NldF9pbmZvIjp7ImFzc2V0X2NvZGVfaWRlbnRpZmljYXRpb24iOiJDSEYiLCJhc3NldF9ncm91cF9pZGVudGlmaWNhdGlvbiI6IkRTQSIsImFzc2V0X2lzc3Vlcl9pZGVudGlmaWNhdGlvbiI6ImdyZWVuYmFuayJ9LCJ0aW1lX2VuZF9yZXF1ZXN0X3F1b3RhdGlvbiI6MTY1ODM5ODc4N30sInNlbGxlcl9jcmVkaXRpbmdfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6InNldHRsZW1lbnQiLCJzZWxsZXJfZGViaXRpbmdfYWNjb3VudF9pZGVudGlmaWNhdGlvbiI6Im1haW4iLCJzZWxsZXJfbWVtYmVyX2lkZW50aWZpY2F0aW9uIjoiZ3JlZW5iYW5rIiwic3RhcnRfdGltZSI6IjE2NTgzOTA0ODcifQ==",
"member_signature": "57SvZrjlwtOHpsDTeSEn+cbpUHJqSdWae+0VDHEr+D7IsgljaR0c0Y9aoLm5mj5CvxgynDEYus70/n1tsmw+Bg=="

Пример ответа

{
"amount_base_asset": "2750",
"amount_quote_asset": "2667",
"exchange_info": {
"amount_base_asset": "2750",
"buyer_crediting_account_identification": "distribution",
"buyer_debiting_account_identification": "main",
"quotation_info": {
"end_time": "1658395887",
Page last updated: 26 November 2022