Интерфейс X4. Получение истории выписанных счетов по кошельку. Проверка оплаты счета.

 WM ID подписывающий запрос, должен иметь аттестат не ниже аттестата Продавца.

URL для передачи запроса с авторизацией по ключами WM Keeper Classic https://w3s.webmoney.ru/asp/XMLOutInvoices.asp
URL для передачи запроса с авторизацией по ключами WM Keeper Light https://w3s.webmoney.ru/asp/XMLOutInvoicesCert.asp
метод POST
формат запроса <w3s.request> <reqn></reqn> <wmid></wmid> <sign></sign> <getoutinvoices> <purse></purse> <wminvid></wminvid> <orderid></orderid> <datestart></datestart> <datefinish></datefinish> </getoutinvoices> </w3s.request>
параметры запроса
название назначение примечание
reqn номер запроса целое без знака, макс. количество цифр - 15;
всегда должен быть больше номера предыдущего запроса перевод средств!!!
wmid WMId подписавшего запрос используется только при авторизации с ключами WM Keeper Classic
sign подпись запроса
формируется из параметров: purse + reqn
используется только при авторизации с ключами WM Keeper Classic
getoutinvoices параметры запрашиваемоого счета(счетов), по которым ведется поиск обязательные параметры purse, datestart, datefinish, остальные можно не задавать или указывать 0
getoutinvoices\purse номер кошелька для оплаты на который которого выписывался счет
getoutinvoices\wminvid номер счета (в системе WebMoney) целое число > 0, максимально 231-1
getoutinvoices\orderid номер счета номер счета в системе учета магазина
getoutinvoices\datestart минимальное время и дата создания счета ГГГГММДД ЧЧ:ММ:СС
getoutinvoices\datefinish максимальное время и дата создания счета ГГГГММДД ЧЧ:ММ:СС
формат ответа <w3s.response> <reqn></reqn> <retval></retval> <retdesc></retdesc> <outinvoices cnt="n" > <outinvoice id="n1" ts="n2"> <orderid></orderid> <customerwmid></customerwmid> <storepurse></storepurse> <amount></amount> <desc></desc> <address></address> <period></period> <expiration></expiration> <state></state> <datecrt></datecrt> <dateupd></dateupd> <wmtranid></wmtranid> </outinvoice> <outinvoice>...</outinvoice> </outinvoices> </w3s.response>
параметры ответа
название назначение примечание
reqn номер запроса
retval код выполнения запроса 0 - запрос выолнен
retdesc расшифровка кода выполнения запроса
outinvoices список выписанных счетов, полученных по запросу атрибут n - кол-во счетов, удовлетроряющих запросу
outinvoices\outinvoice параметры счета атрибут id - уникальный номер счета в системе учета WebMoney
атрибут ts - служебный номер счета в системе учета WebMoney
outinvoice\orderid номер счета номер счета перевода в системе учета отправителя
outinvoice\customerwmid WMId покупателя, которому был выписан счет
outinvoice\storepurse номер кошелька, но который необходимо оплатить счет
outinvoice\amount сумма счета, выставленная для оплаты покупателю
outinvoice\desc описание товара иил услуги, на который выписывается счет
outinvoice\address адрес доставки товара
outinvoice\period максимально возможный при оплате счета срок протекции сделки в днях
outinvoice\expiration максимально допустимый срок оплаты счета в днях
outinvoice\state состояние оплаты счета
  • 0 - не оплачен
  • 1 - оплачен по протекции
  • 2 - оплачен окончательно
  • 3 - отказан
  • outinvoice\datecrt дата и время создания счета
    outinvoice\dateupd дата и время последнего изменения состояния счета
    outinvoice\wmtranid номер операции в системе WebMoney, если счет оплачен
    outinvoice\customerpurse кошелек плательщика, если счет оплачен
    пример вызова интерфейса (IIS, ASP, JScript, MSXML)
    <%@ Language=JScript %> <% try { var AuthorizeType = 'light' // 'classic' var url; if ('classic'== AuthorizeType) url = 'https://w3s.webmoney.ru/asp/XMLOutInvoices.asp' else url = 'https://w3s.wmtransfer.com/asp/XMLOutInvoicesCert.asp' var purse = 'R111111111111' var wminvid = 0 var orderid = 0 var datestart = '20020409 00:00:00' var datefinish = '20020412 00:00:00' var reqwmid = '111111111111' var signstr // только для 'classic' var reqn = (new Date()).valueOf() if ('classic'== AuthorizeType) { var planstr = purse+reqn 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 += '<getoutinvoices>' s += ' <purse>'+purse+'</purse>' s += ' <wminvid>'+wminvid+'</wminvid>' s += ' <orderid>'+orderid+'</orderid>' s += ' <datestart>'+datestart+'</datestart>' s += ' <datefinish>'+datefinish+'</datefinish>' s += '</getoutinvoices>' 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 © 1997-2012.
    сотрудничество | карьера | пресс-центр | контакты | вопросы и ответы | юридическая информация

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