Правильная ссылка на эту статью: |
Определение курса при оплате картой P2P через Web Merchant Interface
Этот интерфейс доступен только участникам, использующим сервис merchant.webmoney.com (merchant.web.money).
Интерфейс позволяет получить справочный курс, который можно использовать для отображения цены товара на сайте продавца в валюте покупателя(рубль, гривна и т.д.)
Необходимо учитывать, что данный интерфейс возвращает справочный курс и при оплате стоимость может измениться(такое может произойти если заявка, по которой производился расчет, к моменту начала оплаты покупки будет выкуплена и для совершения покупки будет подобрана другая заявка)
Интерфейс работает по тому же принципу идентификации и аутентификации продавца, что и Интерфейс X18 (WMSigner или SHA256 или MD5 или Secret key)
- URL для передачи первого, инициирующего запроса - https://merchant.webmoney.com/conf/xml/XMLAmountByCurrencyRequest.asp
- метод - POST
- Content-Type - "application/xml" либо "application/json"
- формат запроса:
<merchant.request> <wmid></wmid> <lmi_payee_purse></lmi_payee_purse> <lmi_payment_amount></lmi_payment_amount> <lmi_sdp_type></lmi_sdp_type> <secret_key></secret_key> <sign></sign> <md5></md5> <sha256></sha256> </merchant.request>
- параметры запроса:
название | назначение | примечание |
wmid | WMID продавца | |
lmi_payee_purse | номер кошелька | номер кошелька на который будет происходить платёж |
lmi_payment_amount | сумма платежа | сумма платежа для которой будет подбираться соответствующая заявка для определения курса. 5 до 100 |
lmi_sdp_type | Тип e-invoicing платежа | тип e-invoicing который будет использоваться при p2p платеже. 29 - карты p2p, 4 - прием платежей с карт банков РФ |
sign | подпись запроса | формируется из параметров: wmid:lmi_payee_purse:lmi_payment_amount:lmi_sdp_type (параметры конкатенируются через символ ":") используется только при авторизации с ключами WM Keeper WinPro |
secret_key | подпись запроса | В данном параметре передается значение секретного слова(secret key x20) из настроек кошелька lmi_payee_purse в сервисе merchant.webmoney.com . Обратите внимание, что при использовании данного метода, проверка аутентичности соединения по https (валидности и принадлежности корневого сертификата сервера https://merchant.webmoney.com/ и т.п.) во избежание подмены DNS и т.п. остается на совести отправителя запроса. В случае если используется данный вариант аутентификации запроса, параметры sign, sha256 и md5 должны остаться пустыми или быть опущены. |
md5 | подпись запроса | Подпись производится методом MD5 и формируется из параметров: wmid:lmi_payee_purse:lmi_payment_amount:lmi_sdp_type:secret_key_x20 (параметры конкатенируются через символ ":") . В случае если используется данный вариант аутентификации запроса, параметры sign, sha256 и secret_key должны остаться пустыми или не указываться. Обратите внимание, что при формировании строки, к которой применяется алгоритм md5 в качестве secret_key_x20 используется значение секретного слова из настроек кошелька в сервисе merchant.webmoney.com , при этом в самом запросе необходимо передавать ТОЛЬКО результат работы алгоритма в параметре MD5 , параметр secret_key должен остаться не указанным или пустым!!! |
sha256 | подпись запроса | Подпись производится методом SHA256 и формируется из параметров: wmid:lmi_payee_purse:lmi_payment_amount:lmi_sdp_type:secret_key_x20 (параметры конкатенируются через символ ":"). В случае если используется данный вариант аутентификации запроса, параметры sign, md5 и secret_key должны остаться пустыми или не указываться. Обратите внимание, что при формировании строки к которой применяется алгоритм sha256 в качестве secret_key_x20 используется значение секретного слова из настроек кошелька в сервисе merchant.webmoney.com , при этом в самом запросе необходимо передавать ТОЛЬКО результат работы алгоритма в параметре sha256, параметр secret_key должен остаться не указанным или пустым!!! |
- формат ответа:
<?xml version="1.0"?> <merchant.response> <result> <item> <currency></currency> <amount></amount> </item> ........ <item> <currency></currency> <amount></amount> </item> </result> <retval>0</retval> <retdesc>OK</retdesc> </merchant.response>
- параметры ответа:
название | назначение | примечание |
currency | тип валюты | тип валюты, в которой возможен p2p перевод (RUB,UAH,BYN,KZT,UZS,MDL,AZN,PLN,IRR) |
amount | сумма | сумма, которую надо будет перевести для корреспондента для покупки товара ценой из значения lmi_payment_amount(см. параметры запроса) |
retval | номер ошибки | Цифровой код ошибки, в случае если выполнение запроса завершилось с ошибкой |
retdesc | описание ошибки | Текстовое описание ошибки для разработчиков приложения продавца, описывающее причины невозможности успешного выполнения запроса |
- коды ответов:
код | описание |
0 | успех |
-9 | неверное значение sign,SHA256,MD5 или secret_key |
-100 | общая ошибка при разборе команды. неверный формат команды. |