Интерфейс X7. Проверка АСП клиента - владельца WM Keeper Classic.

Этот интерфейс предназначен для проверки подлинности АСП сообщений, подписанных ключами WM Keeper Classic. Подписываемая информация передается в виде строки (кодировка Win-1251). Поддержка по данному интерфейсу не оказывается.

На текущий момент актуальным является сервис  Login.WebMoney, который предназначен для разработчиков и Web-мастеров, желающих использовать все способы аутентификации пользователей, которые предоставляет система WebMoney Transfer.

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

URL для передачи запроса с авторизацией по ключами WM Keeper Classic https://w3s.webmoney.ru/asp/XMLClassicAuth.asp
URL для передачи запроса с авторизацией по ключами WM Keeper Light https://w3s.wmtransfer.com/asp/XMLClassicAuthCert.asp
метод POST
формат запроса <w3s.request> <wmid></wmid> <sign></sign> <testsign> <wmid></wmid> <plan></plan> <sign></sign> </testsign> </w3s.request>
параметры запроса
название назначение примечание
wmid WMId подписавшего запрос используется только при авторизации с ключами WM Keeper Classic
sign подпись запроса
формируется из параметров: wmid+testsign\wmid+testsign\plan+testsign\sign
используется только при авторизации с ключами WM Keeper Classic
message параметры передаваемого сообщения
testsign\wmid WM-идентфиикатор клиента, которого необходимо аутентифицировать 12 цифр
testsign\sign подпись строки, передаваемой в параметре testsign\plan, сформированная клиентом, которого необходимо аутентифицировать
testsign\plan строка, которую должен был подписать клиент
формат ответа <w3s.response> <retval></retval> <retdesc></retdesc> <testsign> <res></res> </testsign> </w3s.response>
параметры ответа
название назначение примечание
retval код выполнения запроса 0 - запрос выполнен
retdesc расшифровка кода выполнения запроса
res результат аутентификации yes - аутентификация выполнена успешно, no - аутентификация не выполнена (неверная подпись клиента)
пример вызова интерфейса (IIS, ASP, JScript, MSXML)
<%@ Language=JScript %> <% try { var AuthorizeType = 'light' // 'classic' var url; if ('classic'== AuthorizeType) url = 'https://w3s.webmoney.ru/asp/XMLClassicAuth.asp' else url = 'https://w3s.wmtransfer.com/asp/XMLClassicAuthCert.asp' var clientwmid = '111111111111' var clientplanstr = 'строка для проверки' var clientsignstr = '43daff1f851ee6899f952bf53313'+ 'd975486157c3e662fa335025db723dac73746d52ae185b4'+ '525e54f4fc3eed63a36dbed47e68a50d2b258fb15acac2d3d2e2f0037' var reqwmid = '222222222222' var signstr // только для 'classic' var reqn = (new Date()).valueOf() if ('classic'== AuthorizeType) { var planstr = '' + reqwmid+clientwmid+clientplanstr+clientsignstr 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 += '<testsign>' s += ' <wmid>'+clientwmid+'</wmid>' s += ' <plan>'+clientplanstr+'</plan>' s += ' <sign>'+clientsignstr+'</sign>' s += '</testsign>' 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, 10) if (0==retcode) { Node = xmlres.selectSingleNode("w3s.response/testsign/res") if (Node.text == 'yes') { // аутентификация выполнена } } } 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 © 1997-2012.
сотрудничество | карьера | пресс-центр | контакты | вопросы и ответы | юридическая информация

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