Virtuemart - интернет-магазин на Joomla. Часть 17. Подключение оплаты через ROBOKASSA.
Одной из важнейших составляющих интернет-магазина является оплата покупаемых товаров. Все вопросы, касающиеся денег, требуют особого внимания. Большим минусом VirtueMart является то, что все предустановленные системы оплаты ориентированны на Запад и отечественные системы приходится устанавливать и настраивать вручную. Настройка систем оплаты, в отличие от настройки самого магазина, не так проста. В большинстве случаев требуются дополнительные модули оплаты (файлы, настроенные на взаимодействие с той или иной системой). К счастью, VirtueMart получил широкое распространение и у нас. Поэтому появились некоторые готовые решения для работы с отечественными системами оплаты.
Сегодня я расскажу о том, что такое ROBOKASSA и как ее подключить к VirtueMart в автоматическом и полуавтоматическом режиме.
Еще одной сложностью при работе с системами интернет-оплаты является их многообразие. Если особо не задумываться, то можно назвать сразу несколько очень известных систем: Webmoney, Яндекс.Деньги, rbkmoney, SMS-оплата, оплата через терминалы, банковский перевод, и.т.д. Поскольку конкуренция на рынке велика и постоянно увеличивается, владелец магазина заинтересован в том, чтобы подключить как можно больше способов оплаты (ведь разным покупателям удобно платить через разные системы, а кто-то и вообще может отказаться от покупки, если удобной для него системы не будет в магазине). На этом этапе начинаются сложности как у web-мастера, который делает магазин, так и у заказчика. Web-мастеру приходится подключать множество систем оплаты у каждой их которых свой собственный интерфейс, а заказчику – оформлять документы и улаживать юридические вопросы с каждой из систем, что, поверьте, тоже далеко не просто. Все это существенно замедляет и усложняет процесс разработки интернет-магазина.
Многие это понимали и среди них нашлись предприимчивые люди, которые придумали как решить вышеописанную проблему и при этом заработать. Одна из систем, предоставляющих подобные услуги – ROBOKASSA.
Что такое ROBOKASSA? Это что-то вроде посредника между платежными системами и интернет-магазинами. ROBOKASSA берет на себя все сложности, связанные с оформлением документов и подключением платежных систем. Таким образом, web-мастеру требуется подключить к интернет-магазину всего одну систему оплаты – ROBOKASSA, а заказчику оформить отношение всего с одной стороной – ROBOKASSA. При этом интернет-магазин получает возможность принимать оплату через все платежные системы, подключенные к робокассе, коих очень много. А владельцу магазина уже не нужно беспокоиться о безопасности, т.к. все денежные операции проводятся на сайте ROBOKASSA, т.к. интернет-магазин только отправляет запрос на оплату и получает ответ об успешном или неудачном процессе оплаты.
Комиссия ROBOKASSA составляет ~5% от размера платежа (стоимости покупки). Это достаточно много, но допустимо. Особенно для небольших интернет-магазинов. Но при этом можно избавиться от многих проблем, описанных выше. Поэтому ROBOKASSA стала довольно популярной системой. Подключение ROBOKASSA к VirtueMart рассмотрим далее.
Многие модули подключения VirtueMart к ROBOKASSA продаются за деньги. Стоимость составляет порядка 600-1000руб. Если для вас это не деньги, то можно и купить такой модуль, получив при этом тех. поддержку разработчика. Если лишнюю тысячу рублей тратить не хочется, предлагаю вашему вниманию два бесплатных способа подключения VirtueMart к ROBOKASSA: полуавтоматический и автоматический.
Подключение к VirtueMart оплаты через ROBOKASSA. Полуавтоматический режим.
Способ подключения VirtueMart к ROBOKASSA в полуавтоматическом режиме прост как две копейки, но имеет один существенный недостаток – после оплаты заказа покупателем статус товара не изменяется на «Оплачен» автоматически. Его должен изменить администратор магазина (после оплаты администратору магазина приходит на e-mail письмо от ROBOKASSA, что произведена оплата заказа с порядковым номером N. После этого администратор должен зайти в управление заказами, найти заказ N и изменить его статус на «Оплачен»). С одной стороны этот режим хорош тем, что все операции, связанные с деньгами и товаром, контролируются человеком, что, в целом, исключает возможность ошибки. С другой стороны довольно неудобно постоянно менять статусы вручную. К тому же это нужно делать довольно оперативно, т.к. до смены статуса покупателю не придет письмо о подтверждении оплаты и он может не понять прошла оплата удачно или нет.
Использовать этот способ или автоматический, каждый решит для себя сам, а я опишу как его подключить.
В VirtueMart перейдем в «Магазин» –> «Способы оплаты». После чего появится список с доступными способами оплаты.
Отключим все ненужные способы, кликая по зеленым галочкам в соответствующих строках списка.
После того, как ненужные способы оплаты отключены, добавим новый способ, кликнув по кнопке «Новый», которая находится над списком. Появится форма добавления способа оплаты, показанная на следующем рисунке:
Заполняем ее следующим образом:
– Название способа оплаты: ROBOKASSA
– Код: ROBO
– Класс имени платежа: ps_payment
– Способ оплаты: HTML-форма (например, для PayPal)
– Группа покупателей: default
Далее – по желанию.
После этого переходим на вкладку «Настройки» (смотрите самый верх заполняемой формы) и в поле «Дополнительная информация по платежу» вводим следующий код:
1 | <? |
После этого сохраняем внесенные настройки. Все. Модуль оплаты через ROBOKASSA в полуавтоматическом режиме установлен.
Хочу заметить, что все будет работать корректно только после активации аккаунта в ROBOKASSA.
Подключение к VirtueMart оплаты через ROBOKASSA. Автоматический режим.
Для того, чтобы после оплаты статус заказа изменялся на «Оплачен» автоматически, требуется несколько другой модуль подключения, включающий дополнительные файлы. Скачать его можно в конце статьи.
При настройке модуля нам понадобятся следующие данные:
– Пароль #1: пароль №1 в личном кабинете ROBOKASSA
– Пароль #2: пароль №2 в личном кабинете ROBOKASSA
При настройке ROBOKASSA следующие:
– Result URL: http://domen.ru/administrator/components/com_virtuemart/notify_rk.php
– Success URL: http://domen.ru/administrator/components/com_virtuemart/succes_rk.php
– Fail URL:http://domen.ru/administrator/components/com_virtuemart/succes_rk.php
– Метод отсылки данных по Result URL: POST
– Метод отсылки данных по Success URL: POST
– Метод отсылки данных по Fail URL: POST
Естественно, вместо «domen.ru» нужно подставить доменное имя вашего сайта.
Форма с заполняемыми данными показана на рисунке (раздел «Администрирование»)
После настройки аккаунта ROBOKASSA нужно внести данные для авторизации в файлы модуля:
– notify_rk.php: пароль #2 в 3 и 260 строке;
– succes_rk.php: пароль #1 в 4 строке и доменное имя в 28 строке;
– ps_rk_out.php: логин и пароль #1 в 24 и 25 строках;
После того, как файлы отредактированы, их нужно добавить на сайт в соответствующие папки(можно просто скопировать папку Administrator в корень сайта. Файлы попадут на нужные места). Далее переходим к настройке модуля в VirtueMart.
Для настройки модуля переходим к списку модулей оплаты «Магазин» –> «Способы оплаты» и добавляем новый модуль. Форму заполняем следующим образом:
– Название способа оплаты: ROBOKASSA
– Код: rk
– Класс имени платежа: ps_robokassa (появится после добавления файлов модуля на сайт)
– Способ оплаты: HTML-форма (например, для PayPal)
– Группа покупателей: default
Далее – по желанию.
После этого переходим на вкладку «Настройки» (смотрите самый верх заполняемой формы), заполняем появившиеся поля и в поле «Дополнительная информация по платежу» вводим следующий код:
1 | <?php require_once( CLASSPATH. 'payment/ps_rk_out.php' );?> |
На этом настройка закончена. Остается только все проверить и протестировать оплату. Все будет работать корректно только после активации аккаунта в ROBOKASSA.
Дополнительные файлы: Модуль оплаты ROBOKASSA