Дорабатываю сайт интернет-магазина, на CMS 1C-Битрикс, редакция Малый Бизнес. На основе платежной системы "Квитанция Сбербанка" я хочу свой обработчик платежной системы, в документации Битрикс не понятно как правильно разместить кастомный обработчик платежной системы.
ссылка на документацию
ссылка на дополнительную статью
Согласно инструкции разместил в папке local/php_interface/include/sale_payment/ свою платежную систему.
Сейчас я сделал следующее:
- я скопировал содержимое папки bitrix/modules/sale/ru/payment/sberbank (здесь находится платежная система Квитанция Сбербанка) в директорию local/php_interface/include/sale_payment/test
- изменил немного файл .description.php
Моя кастомная платежная система появилась в списке.
Но не понятно где нужно разместить файл handler.php - файл в котором будет мой кастомный класс обработчик для платежной системы, который я унаследую от PaySystem\BaseServiceHandler?
Подскажите как в директории local/php_interface/include/sale_payment/ разместить файл handler.php
Сейчас после совершения заказа при выборе кастомной платежной системы у меня отображается ошибка:
[Bitrix\Main\SystemException]
Ключ "SELLER_PARAMS" не найден в массиве GLOBALS[SALE_CORRESPONDENCE] и значение по умолчанию не определено. Идентификатор заказа: "144", идентификатор платежной системы: "16" (CAllSalePaySystemAction::GetParamValue) (1)
C:\OpenServer\domains\ovsinka\bitrix\modules\sale\general\pay_system_action.php:127
#0: CAllSalePaySystemAction::GetParamValue(string)
C:\OpenServer\domains\ovsinka\local\php_interface\include\sale_payment\test\payment.php:19
#1: require(string)
C:\OpenServer\domains\ovsinka\bitrix\modules\sale\lib\paysystem\compatibilityhandler.php:209
#2: Bitrix\Sale\PaySystem\CompatibilityHandler->includeFile(string)
C:\OpenServer\domains\ovsinka\bitrix\modules\sale\lib\paysystem\compatibilityhandler.php:65
#3: Bitrix\Sale\PaySystem\CompatibilityHandler->initiatePay(object, NULL)
C:\OpenServer\domains\ovsinka\bitrix\modules\sale\lib\paysystem\service.php:75
#4: Bitrix\Sale\PaySystem\Service->initiatePay(object, NULL, integer)
C:\OpenServer\domains\ovsinka\local\components\alex\sale.order.ajax\class.php:6129
#5: SaleOrderAjax->showOrderAction()
C:\OpenServer\domains\ovsinka\local\components\alex\sale.order.ajax\class.php:6019
#6: SaleOrderAjax->doAction(string)
C:\OpenServer\domains\ovsinka\local\components\alex\sale.order.ajax\class.php:6282
#7: SaleOrderAjax->executeComponent()
C:\OpenServer\domains\ovsinka\bitrix\modules\main\classes\general\component.php:649
#8: CBitrixComponent->includeComponent(string, array, NULL)
C:\OpenServer\domains\ovsinka\bitrix\modules\main\classes\general\main.php:1039
#9: CAllMain->IncludeComponent(string, string, array)
C:\OpenServer\domains\ovsinka\personal\order\make\index.php:125
Как я предполагаю это из-за того что нет обработчика.