Пишу обработчик оплаты для кредитования. Нашел ссылки как его надо писать.
курс
документация
Так понял что старый вариант обработчиков
d7
В итоге написал такую байду
<?php
namespace Sale\Handlers\PaySystem;
use Bitrix\Main\Request;
use Bitrix\Sale\PaySystem;
use Bitrix\Sale\Payment;
use Bitrix\Sale;
use Bitrix\Sale\PaySystem\ServiceResult;
class tcreditHandler extends PaySystem\ServiceHandler
{
public function initiatePay(Payment $payment, Request $request = null)
{
AddMessage2Log('TcreditHandler initiatePay()');
$params = array('URL' => $this->getUrl($payment, 'pay'));
$this->setExtraParams($params);
return $this->showTemplate($payment, "template");
}
public static function getIndicativeFields()
{
AddMessage2Log('TcreditHandler getIndicativeFields()');
return array('BX_HANDLER' => 'CREDIT');
}
public function getCurrencyList()
{
AddMessage2Log('TcreditHandler getCurrencyList()');
}
public function processRequest(Payment $payment, Request $request)
{
AddMessage2Log('TcreditHandler processRequest()');
}
public function getPaymentIdFromRequest(Request $request)
{
AddMessage2Log('TcreditHandler getPaymentIdFromRequest()');
}
}
закинул данную структуру в bitrix/php_interface/include/sale_payment
Насколько я понял после создания заказа на странице должен отрабатывать метод initiatePay и отдавать html из шаблона template.php, однако этого почему-то не происходит. По логам отрабатывает только getCurrencyList();
Посмотрел как это сделано у модуля эквайринга от тинкоффа, там обработчик лежит в payment.php и отовсюду к нему подключаются другие файлы, однако если скопировать структуру и просто переименовать папку и классы все также не работает.
Может обработчик зарегистрировать как-то нужно?
Заранее благодарю за помощь.