| Правильная ссылка на эту статью: |
Перевод средств с одного кошелька на другой
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 |