WebMoney Wiki

Wiki

Интерфейс X18

Интерфейс X18. Получение деталей операции через merchant.webmoney.

Этот интерфейс доступен только участникам, использующим сервис merchant.webmoney.ru (merchant.wmtransfer.com).

Интерфейс позволяет автоматически по номеру платежа (lmi_payment_no в терминах сервиса merchant.webmoney) получить информацию о состоянии платежа, был ли совершен платеж или нет, и если был совершен, то получить детали платежа. Интерфейс имеет не только строгую WMSigner, но и простую (SHA256, 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>
    <sha256></sha256>
    <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. Обратите внимание, что если для кошелька параметр 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. В случае если используется данный вариант аутентификации запроса, параметры sha256, md5 и secret_key должны остаться пустыми или не указываться.
sha256 Подпись запроса Подпись производится методом SHA256 и формируется из параметров: wmid & lmi_payee_purse & lmi_payment_no & secret_key. В случае если используется данный вариант аутентификации запроса, параметры sign, md5 и secret_key должны остаться пустыми или не указываться. Обратите внимание, что при формировании строки к которой применяется алгоритм sha256 в качестве secret_key используется значение секретного слова из настроек кошелька в сервисе merchant.webmoney.ru, при этом в самом запросе необходимо передавать ТОЛЬКО результат работы алгоритма в параметре sha256, параметр secret_key должен остаться не указанным или пустым!!!
md5 Подпись запроса Подпись производится методом MD5 и формируется из параметров: wmid & lmi_payee_purse & lmi_payment_no & secret_key. В случае если используется данный вариант аутентификации запроса, параметры sign, sha256 и 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, sha256 и 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 расшифровка кода выполнения
  • формат ответа для получения информации по неудачному платежу:
<?xml version="1.0"?>
<merchant.response>
    <errorlog lmi_payee_purse="" lmi_payment_no="">
        <datecrt></datecrt>
        <dateupd></dateupd>
        <date_s></date_s>
        <date_pc></date_pc>
        <date_pd></date_pd>
        <p_type></p_type>
        <err_code></err_code>
        <siteid></siteid>
        <att></att>
    </errorlog>
    <retval>8</retval>
    <retdesc>Payment with lmi_payment_no (by merchant orderid number!) not found for this merchant purse step=50</retdesc>
</merchant.response>
  • параметры ответа:
название назначение примечание
errorlog информация по ошибке дополнительная информация по ошибочному платежу
lmi_payee_purse кошелёк продавца кошелёк продавца, на который ведётся приём платежей в Web Merchant Interface
lmi_payment_no номер платежа Номер платежа, который был сформирован сервисом, сайтом, службой, интернет-магазином и т.п. и передан сервису merchant.webmoney.ru в форме платежа в скрытом поле ввода lmi_payment_no.
errorlog\datecrt дата создания дата создания информации по платежу
errorlog\dateupd дата последнего изменения дата последнего изменения информации по платежу
errorlog\date_s дата открытия страницы интерфейса дата открытия страницы Web Merchant Interface покупателем
errorlog\date_pc дата авторизации дата авторизации покупателя на странице Web Merchant Interface
errorlog\date_pd дата попытки платежа дата попытки платежа, т.е. покупатель выбрал кошелёк и подтвердил выполнение платежа
errorlog\p_type
errorlog\err_code код ошибки код ошибки, которая не позволила выполнить платеж, покупатель получает пояснение в соответствии с описанием
errorlog\siteid id интерфейса id версии сайта Web Merchant Interface, на которой производилась попытка платежа(0 - покупатель для выполнения платежа был направлена на merchant.webmoney.ru, 1 - на merchant.wmtransfer.com)
errorlog\att способ платежа способ платежа, которым покупатель пытался выполнить покупку
retval код выполнения 8 - успешного платежа найдено не было
retdesc расшифровка кода выполнения успешного платежа с таким значением _lmi_payment_no_найдено не было

Участники, принимающие платежи через 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 or SHA256 not right:PlanStr(this planstr without secret_key)
-8 Operation not found, internal error:error code
1 Merchant purse not found:1
3 Please use sign or sha256 method for authentication:3
2 Please use sign or sha256 method for authentication, and specify secret key in merchant service settings:2
4 Merchant wmid not found or security trust for purse is not exists:4
6 Merchant wmid not found or security trust for purse is not exists:6
7 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
13 Payment with lmi_payment_no number (by merchant orderid number!) found for this merchant purse, but it already reject!
14 Payment with lmi_payment_no number (by unique webmoney invoice number!) found for this merchant purse, but it already reject!
  • список расшифровки значений err_code:
err_code описание
301 у Вас стоит блокировка по IP. Вы пытаетесь заплатить используя IP-адрес, которого нет в Вашем списке разрешенных IP-адресов.
-100 продавец не дал разрешение на выполнение операции
-1 кипер не в режиме online. Перезапустите Ваш кипер.
-2 включите режим использования активации в диалоге Параметры программы\Безопасность WM Keeper Classic
-3 прием платежей невозможен, продавец запретил у себя данный способ платежа
-4 IP адреса вашего кипера и запроса на платеж различаются. Включите блокировку по IP адресу на сайте security.webmoney.ru.
6 корреспондент не найден
11 кошелек отправителя не найден
13 слишком маленькая сумма операции
17 недостаточно средств на кошельке или исчерпан лимит
18 для вашего Mini или Social Keeper достигнут лимит платежей
26 в операции должно участвовать два кошелька
29 типы кошельков различны
30 кошелек не поддерживает операцию
32 выполнение операции невозможно до получения аттестата
33 кредитный статус покупателя не соответствует требованиям продавца
400 платеж с таким номером у данного продавца уже был, продавец не разрешает производить повторные платежи с одним и тем же номером, попробуйте произвести платеж снова с самого начала
401 с этим чеком Вы уже только что делали попытку оплаты данному продавцу на данную сумму, подождите пока не будет выяснено состояние предыдущего платежа
402 с этим чеком Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату
403 с этим чеком Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату
411 с этой WM-нотой Вы уже только что делали попытку оплаты данному продавцу на данную сумму, подождите пока не будет выяснено состояние предыдущего платежа
412 с этой WM-нотой Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату
413 с этой WM-нотой Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату
1001 платеж с данным чеком (ВМ-картой) не найден, Вам необходим начать все сначала и не делать длительные паузы при вводе реквизитов чека
1003 код чека Paymer (код авторизации ВМ-карты) указан неверно
1004 платеж с данным чеком (ВМ-картой) не найден, Вам необходим начать все сначала и не делать длительные паузы при вводе реквизитов чека
1005 одноразовый код подтверждения WebMoney чека указан неверно (возможно введен с ошибкой или указан код предыдущего платежа), необходимо все начать снова
1006 превышен разовый лимит на совершение операции с WebMoney чека, подробнее на http://wiki.webmoney.ru/projects/webmoney/wiki/tarify_i_ogranicheniya_servisa_webmoney_check
1011 платеж с данной WM-нотой не найден, Вам необходим начать все сначала и не делать длительные паузы при вводе реквизитов чека
1012 платеж с данной WM-нотой отменен
1013 код WM-ноты указан неверно
2005 КОД платежа присланный на Ваш телефон, введен неверно
2008 платеж с таким номером у данного продавца уже был, продавец не разрешает производить повторные платежи с одним и тем же номером, попробуйте произвести платеж снова с самого начала
2012 платеж произвести не удалось, возможно у Вас на телефоне (или кошельке управляемом с телефона) не хватает средств, для проведения платежа
2015 платеж произвести не удалось, возможно у Вас на телефоне (или кошельке управляемом с телефона) не хватает средств, для проведения платежа
2117 платеж произвести не удалось, возможно у Вас на телефоне (или кошельке управляемом с телефона) не хватает средств, для проведения платежа, либо Вы превысили лимит на 1 операцию в эквиваленте 1000 WMR
3205 чек с указанными данными не найден, возможно он уже погашен
6401 платеж по банковской карте пока не проведен процессингом, пожалуйста подождите
6402 платеж с данными реквизитами по банковской карте уже был успешно проведен или отменен, произвести его повторно с теми же реквизитами нельзя
7004 В данный момент произвести обмен вместе с платежом невозможно.
7005 В общей сумме на кошельках уже имеется необходимая сумма средств, переведите все средства, требуемого типа на один кошелек и заплатите с него. Обмен невозможен.
7007 Ошибка создания у клиента кошелька требуемого для платежа типа.
7008 У клиента недостаточно средств на кошельках одного типа, чтобы обменяв их произвести требуемый платеж.
8001 Продавец имеет ограничения на прием платежей по некоторым странам. Так как страна вашей регистрации не установлена платеж не может быть выполнен.
8002 Платеж не может быть выполнен. Продавец не принимает платежи из страны, которую вы указали при регистрации.
8003 Введен неверный код SMS подтверждения
8004 Не введен код SMS подтверждения
9012 Вы перешли по данной ссылке повторно.Ваш платеж уже был успешно проведен в прошлый раз, средства переданы продавцу и он уведомлен о платеже.
100001 Превышено время ожидания ответа от сервера продавца. Попробуйте позже и сообщите продавцу, если ошибка повторится.
100002 Покупатель отказался от выполнения платежа
100004 Покупатель закрыл страницу оплаты

см. также XML-интерфейсы