27
3. Выписка WM-счета с последующей проверкой оплаты. Реализуется
с помощью XML-интерфейсов X1 и X3.
Поскольку разрабатывается модуль для интернет - магазина, он должен
обладать функциональной автономностью и допускать модернизацию и
модификацию в соответствии с меняющимися реалиями работы магазина. По
этой причине предпочтительно использовать наиболее технологически сложный,
но и наиболее перспективный подход на основе XML-интерфейсов,
обеспечивающий максимальную масштабируемость системы приема платежей.
Так как сайт создан посредством Yii фреймворка версии 1.1.16 [23], был
произведен поиск готового модуля приема платежей через платежную систему
Webmoney конкретно для данного фреймворка. В результате поиска найден
единственный модуль приема платежей представителя компании «CFutures»
Вячеслава Руднева, соответствующий указанной версии [15].
Модуль Руднева имеет простую интеграцию, методы хорошо
документированы. Модуль позволяет оплачивать по одному заказу:
Для перехода к покупке заказа необходимо передать GET запросом
идентификатор заказа. Это осуществляется либо помещением
ссылки в текст, либо помещением виджета
«WmPayFormWidget.php» в нужное место кода сайта.
Находя заказ по его идентификатору в таблице «Заказы» модуль
перенаправляет клиента на страницу, где формируется виджет
«WmPayFormWidget.php» с кнопкой «оплатить». На странице поля
формы для отправки на Мерчант-сервер скрыты, пользователь
видит только кнопку «оплатить».
Для работы модуля необходимо добавить таблицу «wmoptions»,
хранящую записи о кошельке магазина, режиме тестирования
платежа, секретном ключе.
Модуль также не содержит правил для разделения доступа по
ролям пользователей. В результате чего, пользователь может
изменить настройки – записи в таблице «wmoptions»,