Не авторизован  Login
Читатель

WebMoney Wiki
Click&Buy Merchant Interface

Описание интерфейса Click&Buy Merchant Interface

Интерфейс позволяет покупателю оплатить и получить товар на вашем веб-сайте одним кликом. Доступен для продавцов имеющих аттестат не ниже персонального.

Содержание

Основные термины

Продавцом считается участник WebMoney Transfer, принимающий на свой WM-кошелек оплату от других участников системы с помощью сервиса Web Merchant Interface. Предполагается, что продавец принимает оплату за товары или услуги, предоставляемые им через Интернет, и, следовательно, имеет собственный веб-сайт.

Покупателем считается участник WebMoney Transfer, желающий оплачивать услуги или товары, предлагаемые продавцом через Интернет.

Описание Click&Buy Merchant Interface

Алгоритм выполнения платежа

Алгоритм выполнения платежа представлен на рисунке ниже.

payforpage.gif

Для инициации платежа с использованием Click&Buy Merchant Interface продавец должен сформировать на своем сайте ссылку в формате, описанном ниже. Кликнув на нее покупатель загружает в свой WM Keeper информацию о предлагаемом товаре или услуге в диалоге запроса на выполнение соответствующего платежа. После нажатия кнопки оплатить кипер пересылает запрос на платеж на сервер системы WebMoney Transfer. В случае успешного проведения платежа сервер системы WebMoney Transfer возвращает киперу квитанцию на получение товара. Получив квитанцию, кипер открывает специальное окно и загружает в него страницу, на которой находится оплаченный товар. При этом WM Keeper передает на веб-сайт продавца квитанцию об оплате. В квитанции содержится информация о платеже, совершенном покупателем.

На основании информации, содержащейся в квитанции, продавец формирует страницу с проданным товаром.

Формат URL для оплаты (классик)

Для инициации платежа с использованием Click&Buy Merchant Interface продавец должен сформировать на своем сайте ссылку в специальном формате. Адрес ссылки зависит от версии кипера покупателя (WM Keeper Classic или WM Keeper Light) и используемого им языка.

Версия кипера покупателя Адрес ссылки для обеспечения оплаты через Click&Buy Merchant Interface
WM Keeper Classic wmk:paylink
WM Keeper Light (рус) https://light.webmoney.ru/pci.aspx
WM Keeper Light (eng) https://light.wmtransfer.com/pci.aspx

Формат параметров, передаваемых в ссылке, для WM Keeper Classic:

Название Назначение, допустимые значения Пример
url адрес страницы веб-сайта продавца, на которую должен перейти покупатель, после оплаты покупки, адрес всегда задается в угловых скобках! <https://merchant.webmoney.ru/conf/pci_testlink.asp?A=1&b=1>
purse кошелек продавца, на который должна быть выполнена оплата R111111111111
amount стоимость товара(услуги); целая и дробная часть разделяется точкой; после точки не больше двух цифр; не значащие нули запрещены. 0.1
method метод передачи квитанции об оплате на веб-сайт продавца; POST или GET POST
desc краткое описание товара или услуги строка (например – платная ссылка для теста)
mode тестовый или рабочий режим оплаты
test – тестовый режим оплаты, средства не переводятся
нет значения или параметр опущен – рабочий режим оплаты, средства переводятся
test

Пример платной ссылки:


<a href="wmk:paylink
 ?url=<https://merchant.webmoney.ru/conf/pci_testlink.asp?G=0>
 &purse=R111111111111
 &amount=0.1
 &method=POST
 &desc=платная ссылка для теста
 &mode=test">платная ссылка
</a> 

Общий размер ссылки имеет ограничение, накладываемое протоколом HTTP. Кроме того, многие браузеры обрезают строки длиной больше 200-500 символов!

Формат URL для оплаты (лайт)

Формат ссылки для WM Keeper Light похож на формат ссылки для WM Keeper Classic, но имеет некоторые существенные отличия.

Во-первых, адрес ссылки для оплаты товара зависит от языка, который использует покупатель.

Версия кипера покупателя Адрес ссылки для обеспечения оплаты через Click&Buy Merchant Interface
WM Keeper Light (рус) https://light.webmoney.ru/pci.aspx
WM Keeper Light (eng) https://light.wmtransfer.com/pci.aspx

Во-вторых, есть отличия в формате параметров.

Название Назначение, допустимые значения Пример
url адрес страницы веб-сайта продавца, на которую должен перейти покупатель, после оплаты покупки. Адрес всегда задается в закодированном формате!
 https%3A//merchant.webmoney.ru/conf/pci_testlink.asp%3FA%3D1%26b%3D1 
(закодированная строка “https://merchant.webmoney.ru/conf/pci_testlink.asp?A=1&b=1”)
purse кошелек продавца, на который должна быть выполнена оплата R111111111111
amount стоимость товара(услуги); целая и дробная часть разделяется точкой; после точки не больше двух цифр; не значащие нули запрещены. 0.1
method метод передачи квитанции об оплате на веб-сайт продавца; POST или GET POST
desc краткое описание товара или услуги %u043F%u043B%u0430%u0442%u043D%u0430%u044F%20%u0441%u0441%u044B%u043B%u043A%u0430%20%u0434%u043B%u044F%20%u0442%u0435%u0441%u0442 (закодированная строка “платная ссылка для теста”)
mode тестовый или рабочий режим оплаты
test — тестовый режим оплаты, средства не переводятся
нет значения или параметр опущен – рабочий режим оплаты, средства переводятся
test

Пример платной ссылки:

 
<a href="https://light.wmtransfer.com/pci.aspx
 ?url=https%3A//merchant.webmoney.ru/conf/pci_testlink.asp%3FG%3D
 &purse=R111111111111 &amount=0.1
 &method=POST
 &desc=платная ссылка для теста
 &mode=test">платная ссылка</a> 

Общий размер ссылки имеет ограничение, накладываемое протоколом HTTP. Кроме того, многие браузеры обрезают строки длиной больше 200-500 символов!

Формат квитанции об оплате

Квитанция об оплате формируется сервером WebMoney Transfer в момент выполнения перевода и передается на веб-сайт продавца через WM Keeper покупателя при переходе по ссылке, переданной в параметре url методом, указанным в параметре method.

В квитанции передаются следующие поля:

Название HTML Field Name Описание
Id покупателя WMID 12 цифр идентификатора покупателя
уникальный номер операции в системе учета WebMoney Transfer pci_wmtid целое число
кошелек, на который произошла оплата pci_pursedest кошелек продавца
кошелек, с которого выполнялась оплата pci_pursesrc кошелек покупателя
сумма платежа pci_amount число; дробная часть отделяется точкой
краткое описание товара или услуги pci_desc строка
дата платежа pci_datecrt формат YYYYMMDD HH:MM:SS
подпись (MD5) квитанции об оплате pci_marker строка; формируется сервером WebMoney Transfer; служит для удостоверения в достоверности квитанции
флаг режима оплаты тестовый/рабочий pci_mode test или пусто

Внимание!
Продавец обязательно должен предусмотреть проверку информации, присланной в “Квитанции об оплате”, в соответствии с рекомендациями следующего раздела — “Проверка квитанции об оплате”.

Проверка квитанции об оплате

При использовании Click&Buy Merchant Interface на веб-сайт продавца высылается квитанция об оплате, содержащая информацию о выполненном платеже и оплаченном товаре. Квитанция содержит подпись, которая формируется по следующему алгоритму:

sign=md5(pci_wmtid+WMID+md5(Upper(url+purse+amount+desc+mode))+ pci_pursesrc+pci_pursedest+pci_amount+pci_desc+pci_datecrt+mode+md5(passwd)),

где

  • sign – подпись квитанции;
  • md5 – способ формирования подписи MD5 (возвращает результат в верхнем регистре);
  • passwd – пароль продавца в системе WebMoney Transfer;
  • Upper – перевод строки в верхний регистр.

Для проверки продавец должен самостоятельно вычислить подпись, исходя из данных, полученных в квитанции и своего пароля, и сравнить вычисленную подпись с полученной в квитанции. Их идентичность позволяет убедиться в том, что квитанция действительно получена от Click&Buy Merchant Interface и данные квитанции не искажены.

После проверки подписи продавец должен выполнить следующие проверки:

  1. Проверить сумму платежа.
  2. Проверить описание товара (desc).
  3. Проверить кошелек продавца.
  4. Проверить режим проведения платежа (тестовый или реальный).

Проверка получателя товара

После проверки квитанции и содержащихся в ней данных о платеже продавец может идентифицировать WMID покупателя и убедиться, что веб-сайт посещает именно оплативший товар. WMID покупателя можно определить из параметра WMID, который передается на веб-сайт продавца кипером покупателя. Кроме того, можно убедится в том, что страницу открывает действительно указанный в параметре WMID, используя идентификацию клиента-владельца WM Keeper Classic или сравнивая значение параметра WMID со значением поля SUBJECTCN клиентского SSL сертификата для WM Keeper Light.

Идентификация WM Keeper Classic на сайте

Идентификация WM Keeper Classic основана на проверке подписи, выполненной WM Keeper . Интерфейс проверки подписи, сформированной WM Keeper Classic, приведен в статье Интерфейс X7.

В случае, если в URL, который должен открыть кипер после выполнения оплаты с использованием Click&Buy Merchant Interface, входит параметр sign_needed со значением post или get (например, sign_needed=post), кипер передает на веб-сервер следующие дополнительные параметры:

Название HTML Field Name Описание
дата и время формирования подписи (UTC) DATETIME формат – YYYY.MM.DD HH:MM:SS
открываемый URL, по которому и формируется подпись URL строка
подпись SIGN строка; формируется кипером для строки состоящей из открываемого URL, текушей даты (DATETIME) и WMID (URL+DATETIME+WMID)

Перечисленные выше параметры передаются методом, указанным в параметре sign_needed (POST или GET).

Таким образом, для того чтобы убедится, что веб-сайт продавца посетил владелец указанного в поле WMID идентификатора, достаточно проверить подпись, полученную в поле SIGN. Для этого нужно сформировать строку, склеив текущий URL, дату подписи и WMID, полученный в параметре WMID, и передать ее.

Идентификация WM Keeper Light на сайте

Для надежной идентификации WMID владельца WM Keeper Light, на веб-сайте должен быть установлен серверный сертификат, выданный WebMoney Transfer, а сайт настроен на запрос клиентских сертификатов.

Тестирование сервиса Click&Buy Merchant Interface

Параметр “mode” позволяет продавцам тестировать интеграцию своего веб-сайта с сервисом Click&Buy Merchant Interface без выполнения реальных платежей. Если параметр установлен mode=test, сервис будет генерировать только тестовые платежи.

Параметр “Тестовый/Рабочий режимы” должен быть установлен в режим “тест” до тех пор, пока продавец не будет уверен в том, что его веб-сайт, интегрированный с сервисом Click&Buy Merchant Interface, работает правильно!

Пример использования интерфейса

Попробуйте оплатить, заплатив символическую плату – 0.01 WMR, и получить товар с интерфейсом Click&Buy Merchant Interface по ссылкам ниже.

товар (файл) – пример кода обработки квитанции об оплате (0.01 WMR) купить (лайт) купить (классик)
товар (файл) – фото сервера (0.01 WMR) купить (лайт) купить (классик)
товар (файл) – песня (0.01 WMR) купить (лайт) купить (классик)
товар (файл) – статья в online журнале (0.01 WMR) купить (лайт) купить (классик)

Обращаем внимание на то, что при работе с WM Keeper Classic поле описания товара (pci_desc) указывется в кодировке Windows-1251, а при работе с WM Keeper Light – в кодировке UTF-8. Во избежание проблем с кодировкой для описания товара рекомендуется использовать английский текст.

Пример получаемых параметров при оплате Click&Buy (method=POST).
Тестовый режим
купить (лайт) купить (классик)
Пример получаемых параметров при оплате Click&Buy (method=GET).
Тестовый режим
купить (лайт) купить (классик)

Пример на языке PHP: скачать

См. также:
Merchant WebMoney Transfer
Web Merchant Interface
Пример оплаты товаров и услуг через сервис Merchant WebMoney Transfer

Категория: Сервисы системы, Прием платежей


This article in other languages: English