Платіжний модуль Hostcms

Модуль Fondy розроблений для HostCMS 6.+

  1. В меню «Контент» -> «Інтернет-магазини» обираємо магазин до якого необхідно підключити модуль. У верхньому горизонтальному меню переходимо у розділ «Довідники» -> «Платіжні системи». В меню «Платіжна система» обираємо пункт «Додати». У полі «Назва» вписуємо назву платіжної системи «Fondy», поле «Опис» заповнюємо довільно, тиснемо «Застосувати»

Скриншот

  1. Перебуваючи у меню «Довідник платіжних систем» навпроти пункту «Fondy» натискаємо кнопку «Редагувати» (іконка олівця). У вікні редагування інформації про платіжну систему, у вкладці «Додаткові» – запам’ятовуємо значення властивості «Ідентифікатор» (наприклад, 27).

  2. Переходимо до вікна редагування інформації про платіжну (вкладка «Основні»). Поставте галочку напроти пункту «Активність». У полs «Оброблювач» потрібно скопіювати код з файлу 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. Натискаємо кнопку «Застосувати». Вікно «Довідник платіжних систем» тепер можна закрити.
  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
	// ------------------------------------------------

Скриншот

  1. Натискаємо кнопку «Застосувати». Вікно «Список типових динамічних сторінок» тепер можна закрити, налаштування модуля завершено!

Скачати модуль можна тут 

Хочу приймати платежі з усього світу!