Назначение модуля
Модуль WebMoney предназначен для проведения платежей через систему Merchant WebMoney Transfer. Для работы в нетестовом режиме у вас должен быть аттестат продавца (разновидность персонального) системы WebMoney
Настройка модуля
Проинсталируйте модуль на сервер, обновите клиент. Затем создайте экземпляр модуля. Создайте в редакторе конфигурации модуля новую конфигурацию, включите режим редактор ШАБЛОН и заполните необходимы епараметры, сохраните конфигурацию и сделайте её активной.
Настройте сервис MerchantWM
На сайте Webmoney в Личном кабинете выполните настройки торгового кошелька
Введите торговое имя, secretkey, оставьте пустыми поля URL, галочку на Высылать SecretKey. Поставьте галочку на "Передавать параметры в предварительном запросе", "Позволять использовать URL, передаваемые в форме" и ,если необходимо, "Высылать оповещение об ошибке платежа на кипер".
Установите метод вызова Succes URL и Fail URL на POST.
Переключите Активность на Вкл.
Переключение из тестового в рабочий режим возможен только при наличии аттестата продавца.
Проведение платежа из Личного кабинета
Если у абонента подключён экземпляр модуля, то он может произвести оплату услуг через Web-интерфейс (пункт меню Оплата через WebMoney). Здесь же клиент может просмотреть все проведённые им платежи через WM:
При нажатии кнопки Пополнить счёт клиент попадает на новую страницу, с формой для ввода суммы.
При нажатии кнопки Принять клиент сначала переходит на страницу подтверждения биллинга, а затем к системе Merchant WebMoney Transfer, где может выбрать удобный для себя способ оплаты.
Безопасность
При нажатии клиентом кнопки Подтверждаю платёж Merchant WM последовательно производит два запроса в биллинг: предварительный и оповещающий об оплате. При первом запросе модуль проверяет правильность данных и разрешает или же запрещает (например, если модуль в режиме выключен) проведение оплаты на кошелёк. Если биллинг разрешил платёж WebMoney Transfer сразу же (!) производит транзакцию и отправляет второй, оповещающий запрос, в котором, кроме служебных данных, посылается контрольная подпись, созданная из суммы этих служебных данных (почти все из них уникальны) и secretkey (который в запросе не посылается). Модуль проверяет контрольную сумму и, если она совпала, пополняет баланс клиента.
Таким образом secretkey должен быть длинным и не подбираемым (в системе Merchant WM secretkey может быть длиной до 50 символов).
Внимание! В предварительном запросе Merchant WM не посылает контрольную подпись, поэтому если в момент платежа в конфиге биллинга и настройках Merchant WM secretkey будут различными, то транзакция будет проведена, но баланс в биллинге не пополнится. Поэтому при изменении secretkey и вообще при изменении каких-либо параметров модуля настоятельно рекомендуется перевести режим модуля в состояние выключен опцией wm.mode=0, подождать завершения транзакций, которые могут проходить в данный момент (при стабильной работе оба запроса происходят практически в одно время) и только потом изменять настройки.
Все платежи, не прошедшие проверку контрольной подписи (но прошедшие все другие проверки), попадают в базу как не проведённые.