Table of Contents

Платежная система Uniteller

Платежный обработчик Uniteller для HostCMS.

Купить в маркете: http://kad.systems/shop/online-store/basket/uniteller/

Установка

Внимание! Если вы установили модуль из "Магазина приложений", то пропустите первые 8 пунктов и переходите сразу к редактированию параметров платежного обработчика.

  1. Добавьте новый способ оплаты
  2. В разделе администрирования HostCMS перейдите в раздел «Интернет-магазины» выберите ваш магазин и в появившемся окне выберите вкладку «Справочники» — «Платежные системы».
  3. Наведите курсор на заголовок «Платежная система» и нажмите кнопку «Добавить».
  4. Укажите название «Uniteller» и выберите валюту «руб.», затем нажмите кнопку «Применить»
  5. Запомните Код платежной системы
  6. Выберите «Яндекс Деньги» и нажмите кнопку «Редактировать» (пиктограмма «карандаш»).
  7. В поле «Обработчик» вставьте код из файла handlerXX.php
  8. Во вставленном коде замените значение XX в названии класса Shop_Payment_System_HandlerXX на код платежной системы (см. п. 5)
  9. Установите значение $_shop_idp. В Личном кабинете «боевой» среды этот параметр называется UnitellerPointID и его значение доступно на странице «Точки продажи компании» (пункт меню «Точки продажи») в столбце UnitellerPointID. В Личном кабинете «тестовой» среды этот параметр называется Shop_ID и его значение доступно на странице «Договоры» в столбце «Договор».
  10. Установите значение $_password — пароль из раздела «Параметры Авторизации» Личного кабинета системы Uniteller.
  11. Установите флаг тестового режима $_sandbox = true; для тестирования оплаты.
  12. В разделе администрирования HostCMS перейдите в раздел «Типовые динамические страницы», в группе "Интернет-магазин" выберите "Интернет-магазин корзина".
  13. В настройки страницы после кода $oShop = Core_Entity::factory('Shop', Core_Array::get(Core_Page::instance()→libParams, 'shopId')); вставляем
    // ------------------------------------------------
    // Обработка уведомления об оплате от Uniteller
    // ------------------------------------------------
    if (Core_Array::getPost('Order_ID') && Core_Array::getPost('Status') && Core_Array::getPost('Signature'))
    {
    	// Получаем ID заказа
    	$order_id = intval(Core_Array::getRequest('Order_ID'));
     
    	$oShop_Order = Core_Entity::factory('Shop_Order')->find($order_id);
     
    	if (!is_null($oShop_Order->id))
    	{
    		// Вызов обработчика платежной системы
    		Shop_Payment_System_Handler::factory($oShop_Order->Shop_Payment_System)
    			->shopOrder($oShop_Order)
    			->paymentProcessing();
    	}
    }
  14. В код страницы перед строкой с комментарием "Вывод информации о статусе платежа после его совершения и перенаправления с платежной системы" вставляем код
    // ------------------------------------------------
    // Обработка Uniteller
    // ------------------------------------------------
    if (Core_Array::getRequest('Order_ID') && Core_Array::getRequest('status'))
    {
    	$_REQUEST['payment'] = Core_Array::getRequest('status');
    	$_REQUEST['order_id'] = Core_Array::getRequest('Order_ID');
    }

Тестирование

В качестве тестовых, используйте следующие данные:

Сумма заказа определяет результат оплаты следующим образом:

Внимание! Для корректного тестирования, сайт долже быть включен и доступен. Сама корзина должна быть доступна для неавторизованного в клиентской части и в Центре администрирования пользователя.