Интерфейс X2. Перевод средств с одного кошелька на другой.

Этот интерфейс доступен только зарегистированным клиентам. Для регистрации перешлите по внутренней почте на WM ID 941977853154 (Техническая поддержка) краткую информацию о проекте, URL сайта, IP-адрес с которого будут отсылаться запросы, цель и способ использования интерфейса. Кипер подписывающий запросы должен иметь персональный аттестат (запросы обрабатываются до 3х раб. дней).

URL для передачи запроса с авторизацией по ключами WM Keeper Classic https://w3s.webmoney.ru/asp/XMLTrans.asp
URL для передачи запроса с авторизацией по ключами WM Keeper Light https://w3s.wmtransfer.com/asp/XMLTransCert.asp
метод POST
формат запроса <w3s.request> <reqn></reqn> <wmid></wmid> <sign></sign> <trans> <tranid></tranid> <pursesrc></pursesrc> <pursedest></pursedest> <amount></amount> <period></period> <pcode></pcode> <desc></desc> <wminvid></wminvid> </trans> </w3s.request>
параметры запроса
название назначение примечание
reqn номер запроса целое без знака, макс. количество цифр - 15;
всегда должен быть больше номера предыдущего запроса перевод средств!!!
wmid WMId подписавшего запрос используется только при авторизации с ключами WM Keeper Classic
sign подпись запроса
формируется из параметров: reqn + tranid + pursesrc + pursedest + amount +period + pcode + desc + wminvid
используется только при авторизации с ключами WM Keeper Classic
trans параметры перевода
trans\tranid номер перевода номер перевода в системе учета отправителя; любое целое число без знака (целое число > 0, максимально 231-1), должно быть уникальным (два перевода с одним и тем же tranid невозможен)
trans\pursesrc номер кошелька с которого выполняется перевод (отправитель)
trans\pursedest номер кошелька, но который выполняется перевод (получатель)
trans\amount переводимая сумма число с плавающей точкой (разделитель - .(точка) ) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно)
trans\period срок протекции сделки в днях целое от 0 до 255 символов; 0 - без протекции
trans\pcode код протекции сделки произвольная строка от 0 до 255 символов; пробелы в начале или конце не допускаются
trans\desc описание оплачиваемого товара или услуги произвольная строка от 0 до 255 символов; пробелы в начале или конце не допускаются
trans\onlyauth учитывать разрешение получателя

если 0 – перевод будет выполняться без учета разрешает ли получатель перевод; 1 – перевод будет выполняться только если получатель разрешает перевод (в противном случае код возврата – 35)

trans\wminvid номер счета (в системе WebMoney), по которому выполняется перевод

целое число > 0; если 0 - перевод не по счет; максимально 231-1

формат ответа <w3s.response> <reqn></reqn> <retval></retval> <retdesc></retdesc> <operation id="n1" ts="n2"> <tranid></tranid> <pursesrc></pursesrc> <pursedest></pursedest> <amount></amount> <comiss></comiss> <opertype></opertype> <period></period> <wminvid></wminvid> <orderid></orderid> <desc></desc> <datecrt></dateupd> <dateupd></dateupd> </operation> </w3s.response>
параметры ответа
название назначение примечание
reqn номер запроса
retval код выполнения запроса 0 - запрос выолнен
остальные коды см. ниже
retdesc расшифровка кода выполнения запроса
operation параметры выполненного перевода (транзакции) атрибут id - уникальный номер транзакции в системе учета WebMoney
атрибут ts - служебный номер транзакции в системе учета WebMoney
operation\tranid номер перевода номер перевода в системе учета отправителя; любое целое число без знака, должно быть уникальным (два перевода с одним и тем же tranid невозможен)
operation\pursesrc номер кошелька с которого выполняется перевод (отправитель)
operation\pursedest номер кошелька, на который выполняется перевод (получатель)
operation\amount сумма платежа число с плавающей точкой (разделитель - .(точка) ) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно)
operation\comiss комиссия за выполненный платеж число с плавающей точкой (разделитель - .(точка) ) и для десяти с половиной может выглядеть так: 10.5; незначащие нули в конце и точка, если число целое, должны отсутствовать, например, 10.50 - не верно, 10.5 - верно, 9. - не верно, 9 - верно)
operation\opertype тип перевода (платежа) 0 - обычный4 - с протекцией
operation\period срок протекции сделки в днях целое число от 0 до 255; если 0 - платеж без протекции сделки
operation\wminvid номер счета (в системе WebMoney), по которому выполняется перевод целое число > 0; если 0 - перевод не по счету
operation\orderid номер счета (в системе магазина, выдавшего счет), по которому выполняется перевод целое число > 0; если 0 - перевод не по счету
operation\desc описание оплачиваемого товара или услуги
operation\datecrt дата и время выполнения операции
operation\dateupd дата и время последнего изменения состояния операции
код выполнения запроса
код описание
-100 общая ошибка при разборе команды. неверный формат команды.
-110 запросы отсылаются не с того IP адреса, который указан при регистрации данного интерфейса в Технической поддержке.
-1 неверное значение поля w3s.request/reqn
-2 неверное значение поля w3s.request/sign
-3 неверное значение поля w3s.request/trans/tranid
-4 неверное значение поля w3s.request/trans/pursesrc
-5 неверное значение поля w3s.request/trans/pursedest
-6 неверное значение поля w3s.request/trans/amount
-7 неверное значение поля w3s.request/trans/desc
-8 слишком длинное поле w3s.request/trans/pcode
-9 поле w3s.request/trans/pcode не должно быть пустым если w3s.request/trans/period > 0
-10 поле w3s.request/trans/pcode должно быть пустым если w3s.request/trans/period = 0
-11 неверное значение поля w3s.request/trans/wminvid
-12 идентификатор переданный в поле w3s.request/wmid не зарегистрирован
-14 проверка подписи не прошла
-15 неверное значение поля w3s.request/wmid
102 не выполнено условие постояного увеличения значения параметра w3s.request/reqn
103 трансакция с таким значением поля w3s.request/trans/tranid уже выполнялась
110 нет доступа к интерфейсу
111 попытка перевода с кошелька не принадлежащего WM ID, которым подписывается запрос
4, 15, 19, 23 Внутренняя ошибка при создании трансакции
5 Идентификатор отправителя не найден
6 Корреспондент не найден
7 Кошелек получателя не найден
11 Кошелек отправителя не найден
13 Сумма трансакции должна быть больше нуля
17 Не достаточно денег в кошельке для выполнения операции
21 Счет, по которму совершается оплата не найден
22 По указанному счету оплата с протекцией не возможна
25 Время действия оплачиваемого счета закончилось
26 В операции должны участвовать разные кошельки
29 Типы кошельков отличаются
30 Кошелек не поддерживает прямой перевод
35 Плательщик не авторизован корреспондентом для выполнения данной операции
58 Превышен лимит средств на кошельках получателя, который использует системы Телепат(C 01.06.2008 в системе Телепат вводятся финансовые ограничения для владельцев аттестата ниже начального)

 

Примечание!
Значение параметра trans\amount (переводимая сумма) не может быть меньше значения, приведенного в таблице:

тип минимальное значение
WMZ                0.01
WME                0.01
WMR                0.01
WMU                0.01
WMB                2000
WMG                0.01

 

пример вызова интерфейса (IIS, ASP, JScript, MSXML)
<%@ Language=JScript %> <% try { var AuthorizeType = 'light' // 'classic' var url; if ('classic'== AuthorizeType) url = 'https://w3s.webmoney.ru/asp/XMLTrans.asp' else url = 'https://w3s.wmtransfer.com/asp/XMLTransCert.asp' var pursesrc = 'R111111111111' var pursedest = 'R222222222222' var tranid = 89 var wminvid = 0 var amount = 1.0 var desc = 'товар' var period = 0 var pcode = '' var reqwmid = '111111111111' var signstr // только для 'classic' var reqn = (new Date()).valueOf() if ('classic'== AuthorizeType) { var planstr = '' + reqn + tranid + pursesrc + pursedest + amount + period + pcode + desc + wminvid var reqwmpwd = 'password' var reqwmfilename = 'c:\\wmkeeperclassickeyfile.kwm' var Signer = Server.CreateObject("WMSignerX.Signer") Signer.Login = reqwmid Signer.Passwd = reqwmpwd Signer.KeyFName = reqwmfilename signstr = Signer.SignString(planstr) } var s = '<w3s.request>' s += '<reqn>'+reqn+'</reqn>' if ('classic' == AuthorizeType) { s += '<wmid>'+reqwmid+'</wmid>' s += '<sign>'+signstr+'</sign>' } s += '<trans>' s += ' <tranid>'+tranid+'</tranid>' s += ' <pursesrc>'+pursesrc+'</pursesrc>' s += ' <pursedest>'+pursedest+'</pursedest>' s += ' <amount>'+amount+'</amount>' s += ' <desc>'+desc+'</desc>' s += ' <pcode>'+pcode+'</pcode>' s += ' <period>'+period+'</period>' s += ' <wminvid>'+wminvid+'</wminvid>' s += '</trans>' s += '</w3s.request>' var xmlhttp = Server.CreateObject ("MSXML2.ServerXMLHTTP"); if ('light' == AuthorizeType) { xmlhttp.setOption(3, 'WM id: '+reqwmid) } xmlhttp.open('POST', url, false); xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xmlhttp.send(s); var texttes = xmlhttp.responseText; // Response.Write(texttes) // при отладке можно посмотреть весь ответ var xmlres = Server.CreateObject ('Microsoft.XMLDOM'); xmlres.loadXML(texttes); var retcode = -1 var Node = xmlres.selectSingleNode("w3s.response/retval") if (null!=Node) retcode = parseInt(Node.text) if (0==retcode) { // получилось } } catch(e) { Response.Write('error:'+(new Number(e.number)).toString(16)+'<br>\r\n') Response.Write('desc:'+e.description+'\r\n') } %>
Воспроизводимые на данном сайте торговые марки WEBMONEY и WEBMONEY TRANSFER используются держателями сайта с разрешения правообладателя.
Copyright WebMoney © 1998.
сотрудничество | карьера | пресс-центр | контакты | вопросы и ответы | юридическая информация

По всем вопросам обращайтесь support.wmtransfer.com