Обновлено 07.12.2023
Вызывается перед обработкой нотификации подтверждения оплаты. Позволяет добавить свою логику обработки нотификации, а также отменить стандартную логику, если из события вернуть ошибочный результат.
Параметры:
\Sale\Handlers\PaySystem\rover_tinkoffHandler
— объект обработчика ПС \Bitrix\Sale\Payment
— объект оплаты Смена статуса заказа при оплате, если он находится в статусе "новый"
\Bitrix\Main\EventManager::getInstance()->addEventHandler('rover.tinkoff', 'onBeforeActionPay', function (\Bitrix\Main\Event $event){
$params = $event->getParameters();
$payment = $params[1];
$order = $payment->getOrder();
// если заказ не в статусе "новый", возвращаем свой статус и стандартная обработка не производится
// иначе после обработчика продолжится выполнение стандартной логики
if ($order->getField('STATUS_ID') != 'N')
$params[2] = \Bitrix\Sale\PaySystem\ServiceResult::MONEY_COMING;
return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $params);
});