Платежный модуль для Hostcms

Платежный модуль для Hostcms

Модуль Fondy разработан для HostCMS 6.+

Скачайте модуль здесь

Инструкция по установке:

  1. В меню «Контент» -> «Интернет-магазины» выбираем магазин к которому необходимо подключить модуль. В верхнем горизонтальном меню переходим в раздел «Справочники» -> «Платежные системы». В меню «Платежная система» выбираем пункт «Добавить». В поле «Название» вписываем название платежной системы «Fondy», поле «Описание» заполняем произвольно, жмем «Применить»

  2. Screenshot_2Находясь меню «Справочник платежных систем» напротив пункта «Fondy» нажимаем кнопку «Редактировать» (иконка карандаша). В окне редактирования информации о платежной системе, во вкладке «Дополнительные» — запоминаем значение свойства «Идентификатор» (например, 27).

  3. Переходим в окно редактирования информации о платежной (вкладка «Основные»). Поставьте галочку напротив пункта «Активность». В поле «Обработчик» нужно скопировать код из файла fondyHandler.php(https://github.com/cloudipsp/hostcms/blob/master/fondyHandler.php).Далее нужно выполнить следующее:

    а) в строке «class Shop_Payment_System_HandlerXX extends Shop_Payment_System_Handler» вместо символов XX необходимо указать идентификатор (из вкладки «Дополнительные»). В результате должна получиться строка наподобие «class Shop_Payment_System_Handler27 extends Shop_Payment_System_Handler»;

    б) указать свои данные в указанном ниже блоке кода:

// ---------------------------------------------------------------------------------------------
// Настройки модуля
// ---------------------------------------------------------------------------------------------
    protected $_fondy_merchant_id = 'ID мерчанта'; // полученный в лчином кабинете Fondy
    protected $_fondy_redirect_mode = 0; // 1 - с перенаправлением, 0 - без перенаправления
    protected $_fondy_secret_key = 'секретный ключ'; // секретный ключ
    protected $_fondy_language = 'ru'; // язык, платежной системы
    // id валюты, в которой будет производиться платеж
    protected $_fondy_currency_id = 1; // 1 - рубли (RUR), 2 - евро (EUR), 3 - доллары (USD)
// ----------------------------------------------------------------------------------------------
// конец настроек
// ----------------------------------------------------------------------------------------------

  1. Screenshot_3Нажимаем кнопку «Применить». Окно «Справочник платежных систем» теперь можно закрыть.
  2. Заходим в меню «Структура сайта» -> «Типовые динамические страницы» и открываем папку «Интернет-магазин». Далее нажимаем кнопку «Редактировать» (иконка карандаша) напротив пункта «Интернет-магазин корзина». В открывшемся окне редактирования типовой динамической страницы переходим на вкладку «Настройки страницы». В поле «Настройки типовой динамической страницы» (перед строкой «// Добавление товара в корзину») необходимо вставить следующий код обработчика Fondy (https://github.com/cloudipsp/hostcms/blob/master/cart_update.php):
    // ------------------------------------------------
    // Обработка уведомления об оплате от Fondy 
    // ------------------------------------------------
    if (isset($_GET['paymentcallback']) and $_GET['paymentcallback'] == 'fondy')
    {
        if (empty($_POST)){
            $input = json_decode(file_get_contents("php://input"));
            $_POST = array();
            foreach($input as $key=>$val)
            {
                $_POST[$key] =  $val ;
            }
        }   
        if (isset($_POST['order_status']) and $_POST['order_status'] == 'approved')
        {
            $order_id = explode('#', $_POST['order_id']); // Номер заказа
            $oShop_Order = Core_Entity::factory('Shop_Order')->find($order_id[0]);
            if (!is_null($oShop_Order->id))
            {
                // Вызов обработчика платежной системы
                Shop_Payment_System_Handler::factory($oShop_Order->Shop_Payment_System)
                ->shopOrder($oShop_Order)
                ->paymentProcessing();
            }
            exit();       
        }
    }
    // ------------------------------------------------
    // конец обработчика Fondy
    // ------------------------------------------------

Screenshot_1Нажимаем кнопку «Применить». Окно «Список типовых динамических страниц» теперь можно закрыть, настройка модуля завершена!