| Permalink: |
Transfer of funds from one wallet to another
URL¶
POST https://w3s.webmoney.com/json/V1/Transact.ashx
Headers¶
Authorization: Bearer {JWT}— required JWT token with thetranspermission. Issued at https://security.webmoney.com/trustlisttokens.aspxContent-Type:application/json; charset=utf-8
Notes:
- The source purse (
pursesrc) is taken from the token and is not included in the request body.
Request body (JSON)¶
{
"reqn": 1730486400000,
"tranid": 90001,
"pursedest": "Z123456789012",
"amount": 1.23,
"period": 0,
"pcode": "",
"desc": "Test payment",
"wminvid": 0,
"onlyauth": 1
}
Fields¶
| *. Field | *. Type | Description |
|---|---|---|
| reqn | long | Client request number (arbitrary identifier). Returned unchanged in the response. |
| tranid | long | Client-side transaction identifier (> 0). |
| pursedest | string | Destination purse. Must be a valid WebMoney purse. |
| amount | decimal | Transfer amount. Minimum 0.01. |
| period | int | Protection period in days (0..120). |
| pcode | string | Protection code. |
| desc | string | Payment description. Length 0..255, trimmed (if null — replaced with an empty string). |
| wminvid | long | Invoice number (if any), >= 0. |
Notes:
- The
periodand/orpcodefields allow protected transfers (by time or by code).
Response (JSON)¶
Response structure:
{
"reqn": long, // echo from request
"retval": int, // result code
"retdesc": string, // result description
"operation": { ... } // operation object when retval = 0
}
Object operation (when retval = 0)¶
| *. Field | *. Type | Description |
|---|---|---|
| id | long | WebMoney operation identifier (WMTranID). |
| ts | long | WebMoney timestamp. |
| tranid | long | Client-side transaction identifier (from request). |
| pursesrc | string | Source purse. |
| pursedest | string | Destination purse. |
| amount | decimal | Transfer amount. |
| comiss | decimal | Operation commission. |
| opertype | int | Operation type (0 — regular, 4 — protected). |
| period | int | Protection period. |
| wminvid | long | Invoice number, if specified. |
| orderid | long | Order number, if specified. |
| desc | string | Payment description. |
| datecrt | string | Operation creation date/time in ISO 8601 (UTC). |
| dateupd | string | Operation update date/time in ISO 8601 (UTC). |
Example of a successful response¶
{
"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"
}
}
Comment:
datecrt/dateupd— ISO 8601, UTC.
Core error (retval != 0, HTTP 200)¶
{
"reqn": 1730486400000,
"retval": "code",
"retdesc": "<error description>"
}
HTTP-level errors¶
401 Unauthorized:
{
"retval": 401,
"retdesc": "Authorization error: <reason>"
}
405 Method Not Allowed (POST only):
{
"retval": 405,
"retdesc": "Method not allowed. Use POST."
}
400 Bad Request (validation/parsing error):
{
"reqn": 1730486400000,
"retval": -3,
"retdesc": "Request processing error: <reason>"
}
Return codes¶
| Code | Description |
| 0 | OK |
| 401 | Authorization error (JWT) |
| 405 | Method not allowed (POST only) |
| -3 | Request processing error (validation/deserialization) |
| ... | Other codes are described in Interface X2 |