Обновлено 04.12.2023

Вызывается перед перед получением объекта TinkoffMerchantAPI для работы с апи. Параметры:

  • Id терминала
  • Пароль терминала
  • \Bitrix\Sale\Payment — объект оплаты

Позволяет подменить Id и пароль терминала, либо отменить получение объекта TinkoffMerchantAPI, если вернуть ошибочный результат.

Пример

Подменяем платежный терминал для заказов стоимостью более 10 тысяч.

\Bitrix\Main\EventManager::getInstance()->addEventHandler('rover.tinkoff', 'onBeforeGetTinkoffMerchantApi', function (\Bitrix\Main\Event $event){
    $terminalKey      = $event->getParameter(0);
    $terminalPassword = $event->getParameter(1);
    // @var \Bitrix\Sale\Payment $payment
    $payment          = $event->getParameter(2);

    if ($payment->getOrder()->getPrice() > 10000) {
        $terminalKey = '12345678';
        $terminalPassword = 'qwerty';
    }
   
    return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [$terminalKey, $terminalPassword, $payment]);
});