User Tools

Site Tools


public:market:uniteller

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
public:market:uniteller [22.07.15 в 11:44]
Артем Куц [Тестирование]
public:market:uniteller [26.01.16 в 12:48]
141.24.108.49 [Тестирование]
Line 3: Line 3:
  
 ===== Установка ===== ===== Установка =====
 +Внимание! Если вы установили модуль из "​Магазина приложений",​ то пропустите первые 8 пунктов и переходите сразу к редактированию параметров платежного обработчика.
   - Добавьте новый способ оплаты   - Добавьте новый способ оплаты
   - В разделе администрирования HostCMS перейдите в раздел «Интернет-магазины» выберите ваш магазин и в появившемся окне выберите вкладку «Справочники» — «Платежные системы». ​   - В разделе администрирования HostCMS перейдите в раздел «Интернет-магазины» выберите ваш магазин и в появившемся окне выберите вкладку «Справочники» — «Платежные системы». ​
Line 14: Line 15:
   - Установите значение $_password — пароль из раздела «Параметры Авторизации» Личного кабинета системы Uniteller.   - Установите значение $_password — пароль из раздела «Параметры Авторизации» Личного кабинета системы Uniteller.
   - Установите флаг тестового режима $_sandbox = true; для тестирования оплаты.   - Установите флаг тестового режима $_sandbox = true; для тестирования оплаты.
 +  - В разделе администрирования HostCMS перейдите в раздел «Типовые динамические страницы»,​ в группе "​Интернет-магазин"​ выберите "​Интернет-магазин корзина"​.
 +  - В настройки страницы после кода ''​$oShop = Core_Entity::​factory('​Shop',​ Core_Array::​get(Core_Page::​instance()->​libParams,​ '​shopId'​));​
 +''​ вставляем <code php>// ------------------------------------------------
 +// Обработка уведомления об оплате от Uniteller
 +// ------------------------------------------------
 +if (Core_Array::​getPost('​Order_ID'​) && Core_Array::​getPost('​Status'​) && Core_Array::​getPost('​Signature'​))
 +{
 + // Получаем ID заказа
 + $order_id = intval(Core_Array::​getRequest('​Order_ID'​));​
  
-{{:​public:​market:​22-07-2015_11-34-51.png|}}+ $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();​ 
 +
 +}</​code>​ 
 +  - В код страницы перед строкой с комментарием "​Вывод информации о статусе платежа после его совершения и перенаправления с платежной системы"​ вставляем код <code php>// ------------------------------------------------ 
 +// Обработка 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'​);​ 
 +}</​code>​ 
 + 
 +{{:​public:​market:​22-07-2015_11-34-51.png|}}  
 +{{:​public:​market:​23-07-2015_10-59-16.png|}} 
 +{{:​public:​market:​23-07-2015_10-59-49.png|}}
  
 ===== Тестирование ===== ===== Тестирование =====
Line 35: Line 66:
 {{:​public:​market:​22-07-2015_11-31-28.png|}} {{:​public:​market:​22-07-2015_11-31-28.png|}}
  
-Тестовая среда имеет возможность генерации ошибки платёжной системы при проведении покупки с помощью этой ​карты. +**Сумма ​заказа** определяет результат оплаты следующим образом:​
-Сумма платежа определяет результат оплаты следующим образом:​+
   * Если сумма в пределах 0 <= сумма <= 1000.00 (исключая диапазон 370.00–380.00см. следующий пункт) или 5000.00<​сумма,​ то происходит успешная оплата.   * Если сумма в пределах 0 <= сумма <= 1000.00 (исключая диапазон 370.00–380.00см. следующий пункт) или 5000.00<​сумма,​ то происходит успешная оплата.
   * Если сумма в пределах 370.00 <= сумма < 380.00, то выдаётся ошибка «Просроченная карта»(Your payment has been declined. Expired card).   * Если сумма в пределах 370.00 <= сумма < 380.00, то выдаётся ошибка «Просроченная карта»(Your payment has been declined. Expired card).
public/market/uniteller.txt · Last modified: 26.10.16 в 13:22 by Артем Куц