Этот интерфейс доступен только клиентам, использующим сервис merchant.webmoney.ru (merchant.wmtransfer.com).
Интерфейс позволяет автоматически по номеру платежа (lmi_payment_no в терминах сервиса merchant.webmoney) получить информацию о состоянии платежа, был ли совершен платеж или нет, и если был совершен, то получить детали платежа. Интерфейс имеет не только строгую WMSigner, но и простую (MD5 или передача secret_key по https) аутентификацию, что позволяет его достаточно легко и безопасно интегрировать и использовать для поиска платежей.
<merchant.request> <wmid></wmid> <lmi_payee_purse></lmi_payee_purse> <lmi_payment_no></lmi_payment_no> <lmi_payment_no_type></lmi_payment_no_type> <sign></sign> <md5></md5> <secret_key></secret_key> </merchant.request>
| название | назначение | примечание |
| wmid | ВМ-идентификатор получателя или подписи | WMID, которому принадлежит кошелек, на который был принят платеж lmi_payment_no через сервис merchant.webmoney.ru, либо WMID, подписавший запрос при использовании метода аутентификации WMSigner, при этом данному WMID , если ему не принадлежит кошелек, получивший платеж, должно быть дано доверие на просмотр истории операций по данному кошельку |
| lmi_payee_purse | ВМ-кошелек получателя платежа | Номер кошелька на который был получен платеж lmi_payment_no, состояние которого необходимо выяснить |
| lmi_payment_no | номер платежа | Номер платежа, который был сформирован сервисом, сайтом, службой, интернет-магазином и т.п. и передан сервису merchant.webmoney.ru в форме платежа в скрытом поле ввода lmi_payment_no. Обратите внимание, что если в настройках сервиса merchant.webmoney.ru для кошелька lmi_payee_purse не установлена опция, принимать только уникальные lmi_payment_no, то в этом случае возможны варианты, когда по вине продавца сформировавшего для разных покупок или даже покупателей один и тот же lmi_payment_no, через сервис будет произведено две оплаты с одним и тем же номером, в этом случае данный интерфейс вернет ТОЛЬКО одну транзакцию – последнюю. ВНИМАНИЕ!!! В данном параметре Вы можете также передать уникальный номер платежа внутри системы WebMoney Transfer (для Интерфейс X3 это аттрибут id в тэге operations/operation, а для Интерфейс X4 это тэг outinvoice\wmtranid). Логика работы в этом случае такова , что сначала переданное зачение ищется среди номеров платежей сформированных сайтом (lmi_payment_no), а в случае неудачи идет попытка найти платеж с переданным в данном тэге занчением среди операций по кошельку мерчанта поиском по уникальномуму внутреннему номеру траназкции в Вебмани Трансфер, и только если платеж не найден ни по этому ни по этому номерам – выдается сообщение об ошибке поиска платежа. Это удобно,например, если Вы получаете выписку по операциям через Интерфейс X3 и хотите прояснить судьбу какого-либо конкретного платежа именно по wmtransid – уникальному номеру внутри системы. Также данное занчение может сохранятся непосредственно при обработке формы извещения о платеже merchant.webmoney (форм result отправляемой на ResultURL) данное занчение передается в параметре LMI_SYS_TRANS_NO этой формы. |
| lmi_payment_no_type | тип номера платежа | * Если данный тег опустить в запросе или передать в нем 0, то логика работы поиска по lmi_payment_no останется такой же как описано в описании тега lmi_payment_no выше, то есть поиск по умолчанию. * Если в данном теге передать значение 1, то поиск будет производиться строго только среди lmi_payment_no значений в терминах сервиса merchant.webmoney (в терминах Интерфейс X3 или Интерфейс X4 это тэг orderid из ответа на запрос). Если по данному номеру не будет найдено уже выполненного платежа, то будет выдана ошибка (при этом если платежа не будет, но в пока еще неоплаченных счетах будет найден такой lmi_payment_no (он же orderid), то будет выдана другая ошибка (подробнее об ошибках см. ниже). Ни по каким другим значениям в данном случае поиска производиться не будет. * Если в данном теге передать значение 2, то поиск будет производиться строго только среди значений LMI_SYS_INVS_NO (передаваемых в SuccessURL или ResultURL) в терминах сервиса merchant.webmoney (в терминах Интерфейс X3 это тэг wminvid из ответа на запрос или в терминах Интерфейс X4 это аттрибут id тэга operation из ответа на запрос). Если по данному уникальному номеру ВМ-счета в системе не будет найдено уже выполненного платежа, то будет выдана ошибка (при этом если платежа не будет, но в пока еще неоплаченных ВМ-счетах будет найден такой LMI_SYS_INVS_NO (он же wminvid), то будет выдана другая ошибка (подробнее об ошибках см. ниже). Ни по каким другим значениям в данном случае поиска производиться не будет. * Если в данном теге передать значение 3, то поиск будет производиться строго только среди значений LMI_SYS_TRANS_NO (передаваемых в SuccessURL или ResultURL) в терминах сервиса merchant.webmoney (в терминах Интерфейс X3 это аттрибут id тэга operation из ответа на запрос или в терминах Интерфейс X4 это тэг wmtranid из ответа на запрос). Если по данному уникальному номеру ВМ-транзакции в системе не будет найдено уже выполненного платежа, то будет выдана ошибка . Ни по каким другим значениям в данном случае поиска производиться не будет. |
| sign | Подпись запроса | Подпись производится ключами идентификатора wmid методом WMSigner и формируется из параметров: wmid & lmi_payee_purse & lmi_payment_no. Обратите внимание, что если кошелек lmi_payee_purse не принадлежит идентификатору wmid, то необходимо чтобы на security.webmoney.ru этому идентификатору было установлено доверие на просмотр операций кошелька lmi_payee_purse. В случае если используется данный вариант аутентификации запроса, параметры md5 и secret_key должны остаться пустыми или быть опущены. |
| md5 | Подпись запроса | Подпись производится методом MD5 и формируется из параметров: wmid & lmi_payee_purse & lmi_payment_no & secret_key. В случае если используется данный вариант аутентификации запроса, параметры sign и secret_key должны остаться пустыми или быть опущены. Обратите внимание, что при формировании строки к которой применяется алгоритм md5 в качестве secret_key используется значение секретного слова из настроек кошелька в сервисе merchant.webmoney.ru, при этом в самом запросе необходимо передавать ТОЛЬКО результат работы алгоритма в параметре MD5, параметр secret_key должен остаться не указанным или пустым!!! |
| secret_key | секретное слово | В данном параметре передается значение секретного слова из настроек кошелька lmi_payee_purse в сервисе merchant.webmoney.ru. Обратите внимание, что при использование данного метода, проверка аутентичности соединения по https (валидности и принадлежности корневого сертификата сервера https://merchant.webmoney.ru/ и т.п.) во избежание подмены DNS и т.п. остается на совести отправителя запроса. В случае если используется данный вариант аутентификации запроса, параметры sign и md5 должны остаться пустыми или быть опущены. |
<?xml version="1.0"?> <merchant.response> <operation wmtransid="" wminvoiceid=""> <amount></amount> <operdate></operdate> <purpose></purpose> <pursefrom></pursefrom> <wmidfrom></wmidfrom> <capitallerflag></capitallerflag> <enumflag></enumflag> <IPAddress></IPAddress> <telepat_phone></telepat_phone> <telepat_paytype></telepat_paytype> <paymer_number></paymer_number> <paymer_email></paymer_email> <cashier_number></cashier_number> <cashier_date></cashier_date> <cashier_amount></cashier_amount> <sdp_type></sdp_type> </operation> <retval>0</retval> <retdesc></retdesc> </merchant.response>
| название | назначение | примечание |
| wmtransid | ВМ-номер операции | Уникальный номер транзакции в системе WMT |
| wminvoiceid | ВМ-номер счета | Уникальный номер счета в системе WMT |
| amount | сумма | сумма WM переведенная в данной транзакции продавцу |
| operdate | дата операции | Серверная дата операции в системе WMT |
| purpose | примечание | Назначение платежа, переданное сервису merchant.webmoney в поле ввода lmi_payment_desc |
| pursefrom | кошелек плательщика | ВМ-Кошелек плательщика. Обратите внимание, что при платеже через терминалы или банкоматы, либо чеком Пеймер или ВМ -картой, в качестве кошелька плательщика будет передан кошелек соответствующего шлюза или сервиса Пеймер. |
| wmidfrom | WMID плательщика | ВМ-идентификатор, которому принадлежит pursefrom |
| capitallerflag | параметр платежа | флаг, если установлен в 1 – означает, что платеж был совершен плательщиком не с личного кошелька, а с кошелька, принадлежащего сервису Капиталлер, 0-платеж был совершен с личного кошелька плательщика |
| enumflag | параметр платежа | флаг , если установлен в 1 – означает, что платеж был совершен плательщиком авторизовавшимся посредством сервиса E-num.ru |
| IPAddress | параметр платежа | значение IP-адреса плательщика, с которого был совершен платеж |
| telepat_phone | параметр платежа | телефон плательщика в случае если платеж был совершен через сервис Keeper Mobile или Интерфейс X20 |
| telepat_paytype | параметр платежа | Если здесь возвращено значение 0, то платеж был на сайте merchant.webmoney через Keeper Mobile, если 1, то платеж был по SMS на сайте продавца через Интерфейс X20, если 2 – то на сайте Merchant Webmoney с поиском ВМИД клиента по мобильному телефону и подтвреждением по СМС через опцию мобильный платеж |
| paymer_number | параметр платежа | номер чека или ВМ -карты или ВМ-ноты плательщика в случае, если платеж был совершен чеком Пеймер или ВМ -картой или ВМ-нотой . Если платеж был через Сервис WebMoney Check, то в данном поле передается номер телефона клиента, который и является номером Вебмани чека |
| paymer_email | параметр платежа | Email плательщика, указанный им при совершении платежа чеком Пеймер или ВМ -картой или ВМ-нотой, для WebMoney Check данное поле остается пустым |
| paymer_type | параметр платежа | Тип платежа, если платеж был совершен чеком Пеймер или ВМ -картой paymer_type = 0, если платеж совершен ВМ-нотой, то paymer_type = 1, если платеж совершен через Сервис WebMoney Check, то paymer_type = 2 |
| cashier_number | параметр платежа | номер платежа, если платеж был совершен плательщиком через терминал, банкомат или почту. Внимание, данный параметр оставлен для совместимости, в настоящий момент платежи через терминалы, банкоматы, кассы совершаюатся через Сервис WebMoney Check , см. параметр paymer_type выше |
| cashier_date | параметр платежа | дата платежа, если платеж был совершен плательщиком через терминал, банкомат или почту Внимание, данный параметр оставлен для совместимости, в настоящий момент платежи через терминалы, банкоматы, кассы совершаюатся через Сервис WebMoney Check , см. параметр paymer_type выше |
| cashier_amount | параметр платежа | сумма платежа, если платеж был совершен плательщиком через терминал, банкомат или почту Внимание, данный параметр оставлен для совместимости, в настоящий момент платежи через терминалы, банкоматы, кассы совершаюатся через Сервис WebMoney Check , см. параметр paymer_type выше |
| sdp_type | Тип e-invoicing платежа | Если данный параметр присутствует , то это означает , что платеж был совершен одним из нескольких способов без регистрации в системе , 0 – через системы денежных переводов , 3- через Альфа-клик, 4- через карты российских банков , 5- через интернет банкинг Русский стандарт, 6 – через интернет банкинг ВТБ24, 7 – бонусами Спасибо Сбербанка, 8 – через чек в терминалах оплаты (только для WMU-кошельков) |
| retval | код выполнения | 0 – запрос выполнен успешно, другие значения означают, что при запросе произошла ошибка |
| retdesc | расшифровка кода выполнения |
Участники, принимающие платежи через Web Merchant Interface могут вызвать данный интерфейс вручную на странице проверки транзакции
| retval | retdesc |
| -100 | общая ошибка при разборе запроса |
| -2 | merchant.request/wmid is incorrect |
| -2 | merchant.request/lmi_payee_purse is incorrect |
| -2 | merchant.request/lmi_payement_no is incorrect |
| -3 | merchant.request/lmi_payee_purse is incorrect |
| -2 | merchant.request/wmid is incorrect |
| -6 | sign not right |
| -7 | sign not right: PlanStr |
| -7 | MD5 not right:PlanStr(this planstr without secret_key) |
| -8 | Operation not found, internal error:error code |
| -8 | Merchant purse not found:1 |
| -8 | Please use sign or md5 method for authentication:3 |
| -8 | Please use sign or md5 method for authentication, and specify secret key in merchant service settings:2 |
| -8 | Merchant wmid not found or security trust for purse is not exists:4 |
| -8 | Merchant wmid not found or security trust for purse is not exists:6 |
| -8 | Payment with lmi_payment_no number not found for this merchant purse:7 |
| 8 | Payment with lmi_payment_no (by merchant orderid number!) not found for this merchant purse |
| 9 | Payment with lmi_payment_no number (by merchant orderid number!) found for this merchant purse, but not paid yet! |
| 10 | Payment with lmi_payment_no number (by unique webmoney invoice number!) not found for this merchant purse |
| 11 | Payment with lmi_payment_no number (by unique webmoney invoice number!) found for this merchant purse, but not paid yet! |
| 12 | Payment with lmi_payment_no number (by unique webmoney transact number!) not found for this merchant purse |
см. также XML-интерфейсы
Категория: XML-интерфейсы
This article in other languages: English