Интерфейс X18

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

Этот интерфейс доступен только клиентам, использующим сервис 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