Есть задача обработать ответ от платежной системы.
Указал ссылку для обработчика - /bitrix/tools/sale_ps_result.php
Создал свой обработчик, но ответ на метод processRequest моего обработчика не приходит.
Начал выяснять, оказалось, что система вызывает метод processRequest в файле /bitrix/module/sale/lib/paysystem/service.php
, собстевнно вызов из твоего кастомного класса, до него несколько условий с ретурнами, в какой-то из них ты попадаешь (только не понятно почему в табличку лога не пишется))
Нет, лог пишется)) Я выше говорил что системмный обработчик пишет лог "Sale\Handlers\PaySystem\raiffeisenHandler. ProcessRequest: Не указана частичная оплата".
Нашел строку, которую вы указали.
Дело в том, что выше для проверки берутся данные из Request $request, а данные приходят только в php://input.
Можно ли как-то отменить проверки в системном методе processRequest и сразу перейти в метод моего обработчика? Я сделал это для метода isMyResponse - там тоже были похожие проверки, я прописал этот метод в своем классе и верну true, и теперь он работает ок.
Раз ты унаследовался от ServiceHandler то должен реализовать метод getPaymentIdFromRequest(Request $request), здесь уже разбирай свой request и возвращай $paymentId
Если у тебя json посмотри как реализован этот метод в обработчике /bitrix/modules/sale/handlers/paysystem/uapay/handler.php