Правильная ссылка на эту статью: |
Перевод средств с одного кошелька на другой
URL¶
POST https://w3s.webmoney.com/json/V1/Transact.ashx
Заголовки¶
Authorization: Bearer {JWT}
— обязательный JWT-токен с правомtrans
. Выдается на https://security.webmoney.com/trustlisttokens.aspxContent-Type:application/json; charset=utf-8
Примечания:
- Источник кошелька (
pursesrc
) берётся из токена и не передаётся в теле запроса.
Тело запроса (JSON)¶
{ "reqn": 1730486400000, "tranid": 90001, "pursedest": "Z123456789012", "amount": 1.23, "period": 0, "pcode": "", "desc": "Test payment", "wminvid": 0, "onlyauth": 1 }
Поля¶
*. Поле | *. Тип | Описание |
---|---|---|
reqn | long | Номер запроса клиента (произвольный идентификатор). Возвращается как есть в ответе. |
tranid | long | Идентификатор операции на стороне клиента (> 0). |
pursedest | string | Кошелёк назначения. Должен быть валидным кошельком WebMoney. |
amount | decimal | Сумма перевода. Минимум 0.01. |
period | int | Период протекции в сутках (0..120). |
pcode | string | Код протекции. |
desc | string | Назначение платежа. Длина 0..255 и без пробелов по краям (если null — заменяется на пустую строку). |
wminvid | long | Номер счёта (если есть), >= 0. |
Примечания:
- Поля
period
и/илиpcode
позволяют выполнять переводы с протекцией (по времени или по коду).
Выходные данные (JSON)¶
Структура ответа:
{ "reqn": long, // эхо из запроса "retval": int, // код результата "retdesc": string, // описание результата "operation": { ... } // объект операции при retval = 0 }
Объект operation
(при retval = 0
)¶
*. Поле | *. Тип | Описание |
---|---|---|
id | long | Идентификатор операции WebMoney (WMTranID). |
ts | long | Временная метка WebMoney (WM timestamp). |
tranid | long | Идентификатор операции на стороне клиента (из запроса). |
pursesrc | string | Кошелёк-источник. |
pursedest | string | Кошелёк-получатель. |
amount | decimal | Сумма перевода. |
comiss | decimal | Комиссия операции. |
opertype | int | Тип операции (0 — обычная, 4 — с протекцией). |
period | int | Период протекции. |
wminvid | long | Номер счёта, если был указан. |
orderid | long | Номер заказа, если был указан. |
desc | string | Назначение платежа. |
datecrt | string | Дата/время создания операции в ISO 8601 (UTC). |
dateupd | string | Дата/время обновления операции в ISO 8601 (UTC). |
Пример успешного ответа¶
{ "reqn": 1730486400000, "retval": 0, "retdesc": "OK", "operation": { "id": 4567890, "ts": 1717071111, "tranid": 90001, "pursesrc": "Z000000000000", "pursedest": "Z123456789012", "amount": 1.23, "comiss": 0.01, "opertype": 0, "period": 0, "wminvid": 0, "orderid": 0, "desc": "Test payment", "datecrt": "2025-10-02T12:34:56.789Z", "dateupd": "2025-10-02T12:34:56.789Z" } }
Комментарий:
datecrt
/dateupd
— ISO 8601, UTC.
Ошибка ядра (retval != 0, HTTP 200)¶
{ "reqn": 1730486400000, "retval": <код>, "retdesc": "<описание причины>" }
Ошибки уровня HTTP¶
401 Unauthorized:
{ "retval": 401, "retdesc": "Authorization error: <причина>" }
405 Method Not Allowed (только POST):
{ "retval": 405, "retdesc": "Method not allowed. Use POST." }
400 Bad Request (ошибка валидации/парсинга):
{ "reqn": 1730486400000, "retval": -3, "retdesc": "Request processing error: <причина>" }
Список кодов¶
*. Код | *. Описание |
0 | OK |
401 | Ошибка авторизации (JWT) |
405 | Метод не разрешён (допускается только POST) |
-3 | Ошибка обработки запроса (валидация/десериализация) |
... | Прочие коды описаны в Интерфейс X2 |