HTML, Excel, Word, SEOОсновы JavaScript ⇒ Работа с WebMoney

ОСНОВЫ JavaScript

Учебник JavaScript
·Знакомство с JS. Переменные, операторы, операции
·Функции
·Модель HTML документа
·Иерархия документов в бразуере
·Формы
·Окна и фреймы
·Ссылки, заголовок, статус
·События
·События клавиатуры и мыши
·События. Таймер
·Стили. Управление стилями
·Слои и блоки. Управление видимостью
·Объекты JS
·Внешние объекты
·Внутренние объекты
·Массивы
·Регулярные выражения
·Математика в JS
·Пример простого калькулятора
·Дата и время
·Cookies и хранение состояния
·Немного об AJAX
·Работа с WebMoney



Работа с WebMoney


Автор: Артемьев Сергей Игоревич ICQ: 438856621 email: _spin_@bk.ru

С  ростом  сети Интернет и количеством онлайн – сервисов растет конкуренция между продавцами  услуг. Один из способов привлечения дополнительных клиентов – реализация возможности моментальной оплаты услуги за пару кликов, не выходя за пределы сайта.

Существует довольно много электронных платёжных систем. В России и странах СНГ наибольшей популярностью пользуется система WebMoney. Причин тому несколько:

  1. Система достаточно безопасна. Всё организовано таким образом, что при аккуратном обращении со своими ключами и паролями потерять что-то практически невозможно.
  2. Система продумана до мелочей и удобна в работе. Можно подключаться с любого компьютера и даже через телефон.
  3. Система предоставляет массу дополнительных услуг, от каталога товаров и магазина до системы интеграции с банками и платёжными сервисами.
  4. Система хорошо известна за рубежом, поэтому обычно не возникает проблем при международных переводах.
  5. Система предоставляет ряд сервисов для интеграции системы оплаты с корпоративными приложениями, фирменными сайтами и даже домашними страничками.

Для проверки примеров из этого урока вам понадобится установленный “WM Keeper Classic” последней версии и простейший внешний хостинг с поддержкой PHP.

Webmoney предлагает на выбор несколько возможных способов проведения платежей:

  1. Web Merchant Interface
  2. Click&Buy Merchant Interface
  3. WM Automation Interface

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

Web Merchant Interface

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

Принцип действия Web Merchant Interface очень прост. Разработчик должен создать и разместить на сайте три страницы: страницу с формой оплаты, страницу успешной оплаты и страницу не удавшейся загрузки.

После этого необходимо на сайте merchant.webmoney.ru провести настройку кошелька (или кошельков), на который клиенты будут переводить оплату за товары и услуги.

Название параметра Значение
Торговое имя Название организации или сервиса. Это имя будет выводиться в форме оплаты.
Secret Key Любой набор букв и цифр. Эта комбинация будет необходима для проверки корректности результатов платежа. В тестовом режиме не используется.
Result URL: Адрес, по которому будет выслано подтверждение о проведении платежа. Можно указать скрипт проверки на вашем сайте или просто ссылку типа "mailto"
Success URL: Адрес страницы, на котороую будет перенаправлен пользователь после проведения платежа.
Fail URL: Адрес страницы, куда пользователь будет перенаправлен в случае отказа от платежа или возникновении ошибки.
Метод формирования контрольной подписи: Выбираем нужный нам вариант, например "MD5".
Режим Рекомендую поставить "Тестовый". В этом режиме протокол обмена отрабатывает полностью, но деньги не перечисляются.
Активность Если отключить этот параметр, то все пользователи будут сразу перенаправляться на страницу ошибки платежа.
метод вызова Success URL Метод, которым будет передаваться странице успешной оплаты все необходимые параметры.
метод вызова Fail URL Метод, которым будет передаваться странице ошибки оплаты все необходимые параметры.
Позволять использовать URL, передаваемые в форме Опция позволяет более гибко использовать возможности системы оплаты за счёт передачи дополнительных настроек через форму оплаты. Например, можно передать кошелёк получателя или динамически сформированные ссылки на служебные страницы.

Обратите внимание на параметр «режим». Первый режим - «выключено». Если он включен - система не позволит пользоваться кошельком и будет всегда перенаправлять пользователя на страницу неудачной оплаты. Этот режим обычно включается в экстренном случае, при сбоях сайта или проблемах с доставкой товаров.

Второй режим – рабочий. Это основной режим работы системы оплаты. Но включать его можно только после полного тестирования, когда вы будете однозначно уверены в правильности всех настроек и параметров. В противном случае можете однажды оказаться, что ваши клиенты платят  неизвестному хозяину или вообще вашим конкурентам.

Последний режим – тестовый. Он используется при тестировании системы оплаты. Единственное его отличие от рабочего режима - нет движения титульных знаков. Т.е. все механизмы срабатывают как положено, но деньги фактически не переводятся.

Итак, рассмотрим простейший пример. Создадим три файла:

Файл с формой заказа:           

<html>
<head>
	<title>Форма оплаты услуги</title>
</head>
<body>
  <form id=pay name=pay method="POST" 
			action="https://merchant.webmoney.ru/lmi/payment.asp">
  	<p>пример платежа через сервис Web Merchant Interface</p> 
	 	<p>заплатить 1 WMZ...</p>
  	<p>
 		<input type="hidden" name="LMI_PAYMENT_AMOUNT" 
				value="1.0">
 		<input type="hidden" name="LMI_PAYMENT_DESC" 
				value="тестовый платеж">
 		<input type="hidden" name="LMI_PAYMENT_NO" 
				value="1">
 		<input type="hidden" name="LMI_PAYEE_PURSE" 
				value="Z145179295679">
 		<input type="hidden" name="LMI_SIM_MODE" 
				value="0">
  	</p>
	 	<p>
	 		<input type="submit" value="submit"> 
	 	</p>
  </form>
</body>
</html>

 

Файл страницы, на которую пользователь будет перенаправлен в случае успешной оплаты:           

<html> 
<head>
		<title>Оплата завершена</title>
</head>
<body>
		<p>Платеж был выполнен.</p>
</body>
</html>

 

Файл страницы, на которую система перешлёт пользователя, если он ошибётся или откажется от оплаты:           

<html>
<head>
		<title>Ошибка выполнения платежа</title>
</head>
<body>
    <p>Платеж не был выполнен.</p>
</body>
</html>

 

Эти файлы необходимо разместить на сервере.  Для примера будем считать, что вы разместили свои скрипты по адресу http://pay.myserver/. Теперь, если перейти по адресу http://pay.myserver/pay.php, появится форма оплаты услуги. В нашем примере мы используем фиксированную стоимость услуги, поэтому на форме виден только текст и одна кнопка «Оплатить».

По нажатию на кнопку серверу будет передан запрос на проведение платежа. Заметьте, что вам при этом не надо вводить никаких своих данных. Сервер, получив запрос, проверит параметры запроса и в случае успеха перенаправит пользователя на специальную страницу входа в систему. Если пользователь правильно вводит защитный код и подтверждает платёж – сервер его автоматически перенаправляет на страницу успешного завершения (success.php). Но если пользователь ошибся при вводе защитного кода, отказался от платежа или просто не хватило средств на кошельке – система отправит его на страницу ошибки (fail.php).

Но на какую бы страницу не произошло перенаправление – сервер обязательно передаст её параметры, описывающие подробности платежа или ошибки. Проанализировав результаты, вы сможете принять решение – отдавать ли покупателю оплаченную услугу или товар.

Не следует забывать, что для успешного проведения платежа необходимо, чтобы WM Keeper Classic был включен, т.к. именно с его помощью сервер удостоверяется что вы – это вы. Кипер встраивается в браузеры и таким образом обеспечивает безопасность подключения пользователя к системе WebMoney. Если кипер выключен – вы не сможете даже ввести защитный код, а уж провести платёж – тем более.

Мы рассмотрели простейший способ использования Web Merchant Interface. В более сложных решениях можно создавать формы не только с изменяемыми параметрами платежа, но и с изменяемыми ссылками на файлы успешной и ошибочной оплаты. Пример небольшой платёжной системы можно взять на официальном сайте.

Click&Buy Merchant Interface

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

Формат ссылки выглядит так:

<a href="wmk:paylink?
  	url=<http://pay.server.com/gifts.php?id=123>&
  	purse=R840058594326&
  	amount=100&
  	method=POST&
  	desc=описание цели оплаты&
  	mode=test"> 

	оплатить 100 WMR за  указанную услугу

</a>
  

Смысл параметров ссылки указан в таблице:

url Адрес страницы веб-сайта продавца, на которую должен перейти покупатель, после оплаты покупки. Адрес всегда задается в угловых скобках!
purse Кошелек продавца, на который должна быть выполнена оплата.
amount Стоимость товара или услуги. Целая и дробная часть разделяется точкой, после точки может быть не больше двух цифр, а не значащие нули запрещены.
method Метод передачи квитанции об оплате на веб-сайт продавца; POST или GET
desc Краткое описание товара или услуги. Обычно указывается уникальный код товара или услуги.
mode тестовый или рабочий режим оплаты
test - тестовый режим оплаты, средства не переводятся
нет значения или параметр опущен - рабочий режим оплаты, средства переводятся

Параметры в ссылке всегда одинаковы, независимо от используемой версии кипера (Classic или Light). Главное – правильно сформировать ссылку, указав все необходимые параметры.

Пример:

  оплатить 100 WMR за пользование услугой
   

При клике на такой ссылке браузер обратится к киперу пользователя и передаст ему все необходимые параметры для проведения платежа. Пользователю останется только согласиться с фактом оплаты и ввести защитный код. Естественно, кипер должен быть запущен ДО того, как пользователь кликнет по ссылке.

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

Способ очень удобен, т.к. позволяет проводить оплату не только из браузера, но даже из почтового клиента, если тот поддерживает работу с HTML и нестандартными протоколами. Даже если сохранить страницу на диск – функциональность ссылки не исчезнет. Главное – чтобы был запущен кипер, который ссылку обработает.

WM Automation Interface

Третий способ проведения оплаты подразумевает использование специализированных модулей и протоколов, предоставляемых сервисом WebMoney Transfer. Мы не будет рассматривать этот метод ввиду его высокой сложности. Если вы заинтересуетесь вопросами электонной коммерции, тогда вам будет необходимо глубоко изучить все материалы и документы, предоставленные на официальном сайте. А на начальном этапе с лихвой достаточно первых двух методов.

Использование online платежей становится все более доступным и популярным. Так что если вы создаете свой онлайн-магазин или платный сервис, не пожалейте сил и времени на изучение механизмов оплаты «на месте». Как вы уже могли убедиться, внедрить на своём сайте систему оплаты достаточно просто. Достаточно задаться целью, определить список товаров и услуг, зарегистировать свои кошельки и немного поработать руками.

Основательно изучив принципы работы схем оплаты через webmoney вы без особого труда сможете разобраться в схемах оплаты других систем, таких как Yandex.money, e-Gold, PayPal и пр.

Только сразу хочу вас предостеречь: будьте предельно аккуратны при тестировании скриптов и никогда не храните пароли и ключи от ящиков на серверах в открытом виде. В противном случае вы рискуете не только потерять свои сбережения, но и неожиданно приобрести толпу кредиторов.

Если пароли или ключи хранить на сервере всё-таки приходится – лучше это делать в шифрованном виде. Кроме того, надо заранее озаботиться надёжностью хостинга и максимально ограничить доступ к конфиденциальным данным (напрмер, посредством использования безопасных соединений и шифрования трафика).



В начало страницы



В начало страницы