Обновлено 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);
});