Правильная ссылка на эту статью: |
Интерфейс X18
Интерфейс X18. Получение деталей операции через merchant.webmoney.¶
Этот интерфейс доступен только участникам, использующим сервис merchant.webmoney.com (merchant.web.money).
Интерфейс позволяет автоматически по номеру платежа (lmi_payment_no в терминах сервиса merchant.webmoney) получить информацию о состоянии платежа, был ли совершен платеж или нет, и если был совершен, то получить детали платежа. Информация доступна за последние 2 суток. Интерфейс имеет не только строгую WMSigner, но и простую (SHA256, MD5 или передача secret_key по https) аутентификацию, что позволяет его достаточно легко и безопасно интегрировать и использовать для поиска платежей.
- URL для передачи запроса - https://merchant.webmoney.com/conf/xml/XMLTransGet.asp
- метод - POST
- формат запроса:
<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.com, либо WMID, подписавший запрос при использовании метода аутентификации WMSigner, при этом данному WMID , если ему не принадлежит кошелек, получивший платеж, должно быть дано доверие на просмотр истории операций по данному кошельку |
lmi_payee_purse | ВМ-кошелек получателя платежа | да | Номер кошелька на который был получен платеж lmi_payment_no, состояние которого необходимо выяснить |
lmi_payment_no | номер платежа | да | Номер платежа, который был сформирован сервисом, сайтом, службой, интернет-магазином и т.п. и передан сервису merchant.webmoney.com в форме платежа в скрытом поле ввода 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 | тип номера платежа | да | Если в данном теге передать значение 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.web.money этому идентификатору было установлено доверие на просмотр операций кошелька 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.com, при этом в самом запросе необходимо передавать ТОЛЬКО результат работы алгоритма в параметре sha256, параметр secret_key должен остаться не указанным или пустым!!! |
md5 | Подпись запроса | нет(см. примечание) | Подпись производится методом MD5 и формируется из параметров: wmid & lmi_payee_purse & lmi_payment_no & secret_key. В случае если используется данный вариант аутентификации запроса, параметры sign, sha256 и secret_key должны остаться пустыми или не указываться. Обратите внимание, что при формировании строки к которой применяется алгоритм md5 в качестве secret_key используется значение секретного слова из настроек кошелька в сервисе merchant.webmoney.com, при этом в самом запросе необходимо передавать ТОЛЬКО результат работы алгоритма в параметре MD5, параметр secret_key должен остаться не указанным или пустым!!! |
secret_key | секретное слово | нет(см. примечание) | В данном параметре передается значение секретного слова из настроек кошелька lmi_payee_purse в сервисе merchant.webmoney.com. Обратите внимание, что при использование данного метода, проверка аутентичности соединения по https (валидности и принадлежности корневого сертификата сервера https://merchant.webmoney.com/ и т.п.) во избежание подмены DNS и т.п. остается на совести отправителя запроса. В случае если используется данный вариант аутентификации запроса, параметры sign, sha256 и md5 должны остаться пустыми или не указываться. |
- формат ответа:
<?xml version="1.0"?> <merchant.response> <operation wmtransid="" wminvoiceid=""> <amount></amount> <operdate></operdate> <purpose></purpose> <pursefrom></pursefrom> <wmidfrom></wmidfrom> <hold_period></hold_period> <hold_state></hold_state> <capitallerflag></capitallerflag> <enumflag></enumflag> <IPAddress></IPAddress> <telepat_phone></telepat_phone> <telepat_paytype></telepat_paytype> <paymer_number></paymer_number> <paymer_email></paymer_email> <paymer_type></paymer_type> <cashier_number></cashier_number> <cashier_date></cashier_date> <cashier_amount></cashier_amount> <sdp_type></sdp_type> </operation> <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> <date_notify></date_notify> <shop_id></shop_id> </errorlog> <retval>0</retval> <retdesc></retdesc> </merchant.response>
- параметры ответа:
название | назначение | примечание |
wmtransid | ВМ-номер операции | Уникальный номер транзакции в системе WebMoney Transfer |
wminvoiceid | ВМ-номер счета | Уникальный номер счета в системе WebMoney Transfer |
amount | сумма | сумма WM переведенная в данной транзакции продавцу |
operdate | дата операции | Серверная дата операции в системе WebMoney Transfer |
purpose | примечание | Назначение платежа, переданное сервису merchant.webmoney в поле ввода lmi_payment_desc |
pursefrom | кошелек плательщика | ВМ-Кошелек плательщика. Обратите внимание, что при платеже через терминалы или банкоматы, либо чеком Пеймер или ВМ -картой, в качестве кошелька плательщика будет передан кошелек соответствующего шлюза или сервиса Пеймер. |
wmidfrom | WMID плательщика | ВМ-идентификатор, которому принадлежит pursefrom |
hold_period | срок холда | количество суток холда, если 0 то холда нет |
hold_state | состояние холда | может быть 0, 4, 12 -0 - обычный (или с протекцией, завершенный успешно), -4 - с протекцией (не завершена), -12 - с протекцией (вернулась). |
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, если платеж совершен через Сервис 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 платежа | Если данный параметр присутствует , то это означает , что платеж будет совершен одним из нескольких способов без регистрации в системе 4- через карты российских банков, 19 - Bitcoin, 20 - кошелек RunPay MDL, 26 - Litecoin, 27 - Ethereum, 28 - USDT |
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> <shop_id></shop_id> </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.com в форме платежа в скрытом поле ввода 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 | id способа управления | Основной способ управления WMID, которому принадлежит кошелёк |
errorlog\err_code | код ошибки | код ошибки, которая не позволила выполнить платеж, покупатель получает пояснение в соответствии с описанием |
errorlog\siteid | id интерфейса | id версии сайта Web Merchant Interface, на которой производилась попытка платежа(0 - покупатель для выполнения платежа был направлена на merchant.webmoney.com, 1 - на merchant.wmtransfer.com) |
errorlog\att | способ платежа | способ платежа, которым покупатель пытался выполнить покупку |
errorlog\shop_id | номер магазина | номер магазина, переданный сервису merchant.webmoney в поле ввода lmi_shop_id |
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 WinPro |
-3 | прием платежей невозможен, продавец запретил у себя данный способ платежа |
-4 | IP адреса вашего кипера и запроса на платеж различаются. Включите блокировку по IP адресу на сайте security.web.money. |
5 | Продавец принимает платежи в лимитированном режиме. Лимит продавца исчерпан |
6 | корреспондент не найден |
8 | Прием WebMoney для этого магазина неверно настроен обслуживающим его интегратором платежей |
11 | кошелек отправителя не найден |
13 | слишком маленькая сумма операции |
17 | недостаточно средств на кошельке или исчерпан лимит |
18 | для вашего Mini или Social Keeper достигнут лимит платежей |
20 | покупатель не выбрал кошелёк |
26 | в операции должно участвовать два кошелька |
29 | типы кошельков различны |
30 | кошелек не поддерживает операцию |
32 | выполнение операции невозможно до получения аттестата |
33 | кредитный статус покупателя не соответствует требованиям продавца |
34 | выполнение операции невозможно до получения формального аттестата |
66, 206, 306 |
Обслуживание WMID отправителя приостановлено в соответствии с п. 9.2. "Соглашения о трансфере имущественных прав цифровыми титульными знаками". |
69 | заплатить этому продавцу могут только граждане РФ с формальным и выше аттестатом с проверенными данными |
75 | Юридическое лицо не может заплатить данному продавцу |
76 | Заплатить этому продавцу данным способом оплаты можно только на сумму менее 60000 WMR |
400 | платеж с таким номером у данного продавца уже был, продавец не разрешает производить повторные платежи с одним и тем же номером, попробуйте произвести платеж снова с самого начала |
401 | с этим чеком Вы уже только что делали попытку оплаты данному продавцу на данную сумму, подождите пока не будет выяснено состояние предыдущего платежа |
402 | с этим чеком Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату |
403 | с этим чеком Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату |
411 | с этой WM-нотой Вы уже только что делали попытку оплаты данному продавцу на данную сумму, подождите пока не будет выяснено состояние предыдущего платежа |
412 | с этой WM-нотой Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату |
413 | с этой WM-нотой Вы уже только что успешно произвели оплату данному продавцу на данную сумму, подождите 15 минут для того, чтобы появилась возможность произвести следующую оплату |
1001 | платеж с данным чеком (ВМ-картой) не найден, Вам необходим начать все сначала и не делать длительные паузы при вводе реквизитов чека |
1003 | код чека Paymer (код авторизации ВМ-карты) указан неверно |
1004 | платеж с данным чеком (ВМ-картой) не найден, Вам необходим начать все сначала и не делать длительные паузы при вводе реквизитов чека |
1005 | одноразовый код подтверждения WebMoney чека указан неверно (возможно введен с ошибкой или указан код предыдущего платежа), необходимо все начать снова |
1006 | превышен разовый лимит на совершение операции с WebMoney чека, подробнее на http://wiki.web.money/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 подтверждения |
8005 | В вашей стране прием платежей в пользу этого мерчанта запрещен |
9012 | Вы перешли по данной ссылке повторно.Ваш платеж уже был успешно проведен в прошлый раз, средства переданы продавцу и он уведомлен о платеже. |
100001 | Превышено время ожидания ответа от сервера продавца. Попробуйте позже и сообщите продавцу, если ошибка повторится. |
100002 | Покупатель отказался от выполнения платежа |
100003 | Покупатель перешел на стороннюю страницу в текущем окне браузера |
100004 | Покупатель закрыл страницу оплаты |
100006 | Покупатель не зарегистрирован в WebMoney. Перешел на страницу регистрации в WebMoney |
100015 | Неверный логин или пароль |
100007 - 100024, 100030 - 100033 | у покупателя возникли проблемы при авторизации своим wmid |
10004X, 10005X | У покупателя возникли проблемы с подтверждением оплты (E-num, SMS) |
10006X | У покупателя отключены cookies, либо их удалили |
см. также XML-интерфейсы