api/wallet/relocate-funds - Перевод средств между Кошельками
- HTTP‑метод:
POST - URL:
/api/wallet/relocate-funds - Форма взаимодействия: Сервер-сервер
- Формат тела запроса:
application/json - Назначение: перевод средств с одного Кошелька ТСП на другой (перемещение средств между Кошельками).
При необходимости переместить средства обратно, проведите данный запрос в обратную сторону, поменяв местами идентификаторы Кошельков получателя и отправителя.
URL
1 | |
1 | |
Структура запроса
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
terminal |
str |
✔ | Уникальный идентификатор учетной записи ТСП в ПЦ. |
order_id |
int |
✔ | Уникальный идентификатор предварительно зарегистрированного Заказа в ПЦ. |
payer |
object |
✔ | Данные Кошелька-отправителя. Обязательно вложенное поле wallet_public_id (см. структуру payer/receiver). |
receiver |
object |
✔ | Данные Кошелька-получателя. Обязательно вложенное поле wallet_public_id. Если Кошелёк не существует — он создастся с указанным идентификатором. |
signature |
str |
✔ | Цифровая подпись запроса. Алгоритм расчёта — см. Формирование подписи. |
| Необязательные параметры | |||
unique_key |
str |
Ключ уникальности запроса. Генерируется на стороне ТСП. При получении ключа ПЦ выполняет проверку на наличие дубликата среди обрабатываемых запросов и созданных операций. Формат: допустимы цифры [0-9], латинские буквы [a-zA-Z], дефис и нижнее подчёркивание [-_]. |
|
Структура ответа
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
order_id |
int |
✔ | Идентификатор заказа в ПЦ. Пример: 1009982 |
order_status |
str |
✔ | Статус заказа. Пример: REGISTERED |
client_id |
str |
Идентификатор пользователя ТСП. Пример: test |
|
tx_id |
int |
✔ | Идентификатор операции в ПЦ. Пример: 5587788 |
tx_completed_at |
datetime |
✔ | Дата и время совершения операции в ПЦ. Пример: 2024.01.28 00:23:19 |
tx_type |
str |
✔ | Тип операции. Пример: P2PTRANSFER |
tx_status |
str |
✔ | Статус операции. Пример: APPROVED |
tx_reason_code |
int |
✔ | Код ответа на операцию ПЦ. Пример: 1 |
message |
str |
Краткое описание кода ответа на операцию ПЦ. Пример: Successful financial transaction |
|
amount |
int |
✔ | Сумма операции в минимальных единицах валюты. Пример: 100 |
currency |
int |
Код валюты по ISO4217. Пример: 643 |
|
fee |
int |
Комиссия. Пример: 0 |
|
tx_approval_code |
str |
✔ | Код авторизации, полученный в Банке на данную операцию. Пример: 122004 |
unique_key |
str |
Ключ уникальности запроса. Пример: test2 |
|
from_ref |
str |
Идентификатор Кошелька отправителя. Пример: test |
|
to_ref |
str |
Идентификатор Кошелька получателя. Пример: zzz |
|
terminal_id |
str |
✔ | Уникальный идентификатор учётной записи ТСП в ПЦ. Пример: 893 |
bin_issuer |
str |
Идентификационный номер банка-Эмитента отправителя. Пример: JOINT STOCK COMMERCIAL BANK MOSCOW INDUSTRIAL BANK |
|
bin_issuer2 |
str |
Идентификационный номер банка-Эмитента получателя. Пример: JOINT STOCK COMMERCIAL BANK |
|
iso |
int |
Код валюты по ISO4217. Пример: 643 |
|
iso2 |
int |
Код валюты по ISO4217 (получатель). Пример: 643 |
|
payment_system |
str |
✔ | Платёжная система. Пример: 2 |
rrn |
str |
RRN банковской транзакции. Пример: 33147812 |
|
bank_terminal_id |
str |
✔ | Идентификатор банковского терминала. Пример: POS_1 |
ofd_state |
str |
✔ | Статус обработки платежа онлайн-кассой. Пример: APPROVED |
ofd_link |
str |
Ссылка на фискальный чек. Пример: https://ofd-link.ru/ofd/get-receipt?terminal=123325425345&tx_id=141&signature=... |
|
multiple |
str |
Признак мульти-операции. Пример: `` | |
signature |
str |
Цифровая подпись сообщения. |
Пример ответов
{
"order_id": 1009982,
"order_status": "REGISTERED",
"client_id": "test",
"tx_id": 5587788,
"tx_completed_at": "2024.01.28 00:23:19",
"tx_type": "P2PTRANSFER",
"tx_status": "APPROVED",
"tx_reason_code": 1,
"message": "Successful financial transaction",
"amount": 100,
"currency": 643,
"fee": 0,
"tx_approval_code": "122004",
"unique_key": "test2",
"from_ref": "test",
"to_ref": "zzz",
"terminal_id": "893",
"bin_issuer": "JOINT STOCK COMMERCIAL BANK MOSCOW INDUSTRIAL BANK",
"bin_issuer2": "JOINT STOCK COMMERCIAL BANK",
"iso": 643,
"iso2": 643,
"payment_system": "2",
"rrn": "33147812",
"bank_terminal_id": "POS_1",
"ofd_state": "APPROVED",
"ofd_link": "https://ofd-link.ru/ofd/get-receipt?terminal=123325425345&tx_id=141&signature=ZjY1YTlkM2Y4NGE3N2M2NTVhYzFlZmVkMTgzYmI0YTY1MTAxYjI4ZGMwMTZkNTNiMDFjNmU1N2IwZjBiZDlmZQ%3D%3D",
"multiple": "",
"signature": "8f2a1c9e3b7d4056a1f8c2e9d3b6a70158fce29b4d7a1e6c0938fa2d17bc45e9"
}
{
"error_code": "TERMINAL_NOT_FOUND",
"technical_message": "Terminal not found",
"timestamp": 1751976000,
"details": null,
"request_id": "b3b3c1f0-4b3a-4f3a-9b1a-1234567890ab"
}
{
"duplicated_operation": {
"unique_key": "test2",
"tx_id": 449800,
"tx_type": "P2PTRANSFER",
"tx_status": "APPROVED",
"order_id": 480413,
"client_id": "721716fc-6837-4dbc-8308-37de445c30f0"
},
"code": "DUPLICATE_UNIQUE_KEY",
"description": "Another request with unique key is in progress",
"signature": "1a4f9c02e7b3d685f0a219c4e7b03d58f61ca2e9b7d0143f5a8c62e9d0b7415"
}
Примечания
- При получении запроса ПЦ проверяет:
- Если в запросе передан параметр
unique_key, то ПЦ проверяет запрос на наличие дубля; - Правильность расчета подписи и корректность параметров запроса;
- Зарегистрирован ли для данного терминала Кошелёк с указанным
receiver.wallet_public_id. Если Кошелька с таким идентификатором не существует — он создаётся, и средства переводятся на него; - В запросе должен быть указан только один получатель и только один отправитель.
- Поля
iso/iso2в ответе автоматически заполняются значениемcurrency, если оно указано.