Функция для bitrix возвращает цену с скидкой, старую цену и флаг наличия скидки

Функции getPriceAndDiscount передаём Id товара или торгового предложения. В ответ всегда получаем массив(даже если нет товара или торгового предложения с таким Id) содержащий ключи price, oldPrice, checkDiscount.

Та же функция только без проверки модключения модуля catalog внутри

Возможно есть смысл посмотреть так же эту ссулку https://dev.1c-bitrix.ru/api_help/catalog/price.php

Вы так же можете прочитать следующие статьи: