Почему-то в самописной платёжной системе перестали работать возвраты через панель администрирования. Метод refund у обработчика по D7 перестал вызываться. Оплата работает в прежнем режиме, а возвраты происходят как будто мимо обработчика. Обработчик написан по примерам стандартных платёжных систем (bitrix/modules/sale/handlers/paysystem), ранее работал нормально, но после обновления битрикса возвраты перестали выполняться (статус в админке меняется, но логика, описанная в refund() не выполняется).
Пробовал даже для теста делать таймаут, но оплата переходила со статуса "оплачено" в "не оплачено" моментально:
class BCCHandler extends PaySystem\ServiceHandler implements PaySystem\IRefund
{
// код по оплатам...
public function refund(Payment $payment, $refundableSum) {
sleep(10);
}
}
Подскажите, в чём может быть проблема? Или может где-то есть скрытая от всех документация по написанию кастомных платёжных систем и возможных ошибок?