Бесплатный платежный модуль Onpay.ru для интернет-магазинов на основе CMS Joomla 1.0 и 1.5 c плагином VirtueMart позволяет принимать Яндекс.Деньги, WebMoney, пластиковые карты VISA и MasterCard, а также множество других интернет-валют.

Скачать платежный модуль для VirtueMart

В первую очередь, необходимо разместить файлы платежного модуля в соответствующий директориях движка Joomla:
По адресу /administrator/components/com_virtuemart/classes/payment должны находиться файлы модуля и конфига ps_onpay.php и ps_onpay.cfg.php
По адресу /administrator/components/com_virtuemart должен лежать файл API Onpay.ru onpay_notify.php
Joomla 1.0:
Скачать файлы платежного модуля Onpay.ru для скрипта VirtueMart CMS Joomla 1.0:
http://www.onpay.ru/joomla/10/Joomla_1.0_VirtueMart_OnPay_Yandex_WebMoney_VISA_MasterCard.rar
Joomla 1.5:
Скачать файлы платежного модуля Onpay.ru для скрипта VirtueMart CMS Joomla 1.5:
http://www.onpay.ru/joomla/15/psOnpay4Joomla.rar

Настройки в личном кабинете Onpay.ru для VirtueMart

В личном кабинете Onpay.ru (Настройки магазина) необходимо настроить параметры API IN:

Уведомлять по API - Да
Проверять MD5 на ссылках - Да
URL API: вашдомен/administrator/components/com_virtuemart/onpay_notify.php
Пароль для API IN: a2su3ig8y - ваш секретный код, который будет нужен при настройках платежного модуля Onpay в Joomla VirtueMart

Настройка модуля Onpay для Joomla VirtueMart

Внимание! Проверьте, чтобы ps_onpay.cfg.php был доступен для записи, это необходимо только на время конфигурации модуля, в дальнейшем можно эти права на запись убрать.
После размещения файлов, в настройках интернет-магазина VirtueMart необходимо Добавить способ оплаты
На вкладке «Основные настройки способа оплаты» необходимо заполнить следующие поля:

Активные? - Да
Название способа оплаты: Onpay.ru (WebMoney, Яндекс.Деньги, VISA, MasterCard и др.)*
Код: OPY
Имя класса платежной системы: ps_onpay
Способ оплаты: PayPal (или аналогичный)

*Мы рекомендуем в качестве названия указывать именно перечисление всех основных платежных систем. Ваши пользователи должны понимать, что выбор платежной системы будет предоставлен далее и они на данном шаге выбрали верный способ оплаты.
На вкладке «Глобальная конфигурация способа оплаты» в VirtueMart необходимо указать:

Имя пользователя - Ваш логин в системе Onpay.ru
Пароль для API IN - Должен совпадать с указанным в личном кабинете Onpay.ru, раздел Настройки интернет-магазина
Статус готов к оплате - В каком статусе за заказ разрешено принимать платежи
Статус успешной оплаты - В какой статус переключать при успешной оплате заказа

Дополнительная информация о платеже - Заполняется автоматически. В данном поле, при помощи HTML и PHP можно изменить окружение формы оплаты, которая выводится после успешного оформления заказа.
После успешного оформления заказа в Joomla Virtuemart выводится платежная форма Onpay.ru для оплаты Яндекс.Деньгами, Webmoney, VISA и др
Пример интернет-магазина с установленным платёжным модулем Onpay.ru можно посмотреть здесь http://joomla.bitmax.ru/

Если у вас загружаемый товар в Joomla 1.5

Куки и сессийные переменные не поддерживаются Onpay.ru, но используются Joomla CMS во время отправки сообщений (из них берется шаблон письма). Отправка писем производится по событию получения ответа от Onpay.ru. Для того, чтобы после оплаты клиенту была отправлена ссылка на продукт (загружаемый товар), необходимо переписать функцию отправки письма, удалив из нее все обращения к сессийным переменным.
Образец файла ps_order.php, в котором эти изменения внесены в функцию mail_download_id
Новая функция называется mail_download_id_onpay,
1. функцию нужно скопировать на идентичное место в свой ps_order.php (/administrator/components/com_virtuemart/classes/ps_order.php),
2. и поправить обращения к ней около 190-й строки:

if (ENABLE_DOWNLOADS == '1') {
##################
## DOWNLOAD MOD
//$this->mail_download_id( $d );
##################
## DOWNLOAD MOD ONPAY.RU
$this->mail_download_id_onpay( $d );
}

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