Тематика: По цвету: Красный Желтый Зеленый Синий Оранжевый Розовый Серый Белый Черный Мульти

Ваш сайт на CMS Joomla? Добавьте его в галерею Joomfans!

Вы можете совершенно бесплатно добавить ваш веб-сайт в нашу галерею сайтов. Подробнее...

Галерея Добавить

Главная Статьи Блог Модуль оплаты ROBOKASSA для vitruemart
Модуль оплаты ROBOKASSA для vitruemart

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

 

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

После того, как ненужные способы оплаты отключены, добавим новый способ, кликнув по кнопке «Новый», которая находится над списком. Появится форма добавления способа оплаты, показанная на следующем рисунке:

 

ROBOKASSA

 

Заполняем ее следующим образом:

– Название способа оплаты: ROBOKASSA

– Код: ROBO

– Класс имени платежа: ps_payment

– Способ оплаты: HTML-форма (например, для PayPal)

– Группа покупателей: default

Далее – по желанию.

После этого переходим на вкладку «Настройки» (смотрите самый верх заполняемой формы) и в поле «Дополнительная информация по платежу» вводим следующий код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

// 1.
// Оплата заданной суммы с выбором валюты на сайте мерчанта
// Payment of the set sum with a choice of currency on merchant site
 
// регистрационная информация (логин, пароль #1)
// registration info (login, password #1)
$mrh_login = "логин в ROBOKASSA";
$mrh_pass1 = "пароль#1 в ROBOKASSA";
 
// номер заказа
// number of order
$inv_id = $db->f("order_id");
 
// описание заказа
// order description
$inv_desc = "ROBOKASSA Advanced User Guide";
 
// сумма заказа
// sum of order
$out_summ = $db->f("order_total");
 
// тип товара
// code of goods
$shp_item = 1;
 
// предлагаемая валюта платежа
// default payment e-currency
$in_curr = "PCR";
 
// язык
// language
$culture = "ru";
 
// кодировка
// encoding
$encoding = "utf-8";
 
// формирование подписи
// generate signature
$crc = md5("$mrh_login:$out_summ:$inv_id:$mrh_pass1:Shp_item=$shp_item");
 
// HTML-страница с кассой
// ROBOKASSA HTML-page
print "";

?>
 

После этого сохраняем  внесенные настройки. Все. Модуль оплаты через 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

 

После настройки аккаунта 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
( CLASSPATH. 'payment/ps_rk_out.php' );?>

На этом настройка закончена. Остается только все проверить и протестировать оплату. Все будет работать корректно только после активации аккаунта в ROBOKASSA.

Модуль оплаты ROBOKASSA

оригинал статьи

 

Комментарии

0Set30.01.2012 11:42#1
Спасибо большое за статью, вопрос такой - нужно ли править ps_robokassa.cfg.php ?
0Set30.01.2012 12:50#2
Автоматический метод что то не совсем корректно работает, при оформлении покупки - на почту клиенту приходит письмо об оформлении заказа, а выбора с помощью чего оплатить не выскакивает. Так же и на робокассе нет никаких операций. В чем может быть дело? Никаких ошибок не выскакивает. В какую сторону тут копать? Был бы очень признателен за совет. В робокассе статус - активен, правда документы еще не подписаны.
0mari05.07.2012 08:53#3
Хочу поправить,
Дополнительная информация по платежу:
0evgeniy8825.07.2012 17:04#4
Здравствуйте!
Я так понимаю, что в этом модуле нельзя использовать тестовый режим или же куда-то нужно прописать ссылку тестового сервера Робокассы?
0vereteno-nsk03.08.2012 06:58#5
подскажите куда нужно именно вставить код: ( CLASSPATH. 'payment/ps_rk_out.php' );?>

если можно конечный вариант для «Дополнительная информация по платежу» скиньте пожалуйста на почту в текстовом файле!
0Гена24.08.2012 12:58#6
А зачем там вот это:
// Set up the appropriate CMS framework
if( class_exists( 'jconfig' ) ) {

// Load the framework
require_once ( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once ( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );

Подскажите пожалуйста?
-4Dimas-L17.10.2012 15:13#7
Цитирую vereteno-nsk:
подскажите куда нужно именно вставить код: ( CLASSPATH. 'payment/ps_rk_out.php' );?>

если можно конечный вариант для «Дополнительная информация по платежу» скиньте пожалуйста на почту в текстовом файле!

Здесь ошибка, код не полностью напечата, об этом можно судить по незакрытой скобке ?>, слева её нет!
Полный код должен быть такой:

Литература

8 видеоуроков по…

На днях популярная и известная студия по разработке шаблонов и…

Joomla!…

Если вы часто создаете сайты на CMS Joomla! 1.6, 1.7 или 2.5 то вы…

10 легких шагов к…

Прочитав книгу Хагена Графа «10 легких шагов к освоению Joomla! 3.0»…

Joomla! 2.5 -…

Книга «Joomla! 2.5 - Руководство для начинающего пользователя»…

Инструменты

Akeeba SiteDiff

При создании сайта, всегда есть вероятность того что он будет взломан…

Morph Framework

Последняя обновленная и уже совершенно бесплатная версия фреймворка…

CodeLobster PHP…

Очень мощный и многофункциональный редактор РНР, HTML, CSS,…

JB Zen Grid Framework…

Последняя обновленная версия фреймворка Zen Grid от студии…