1) Сделать кастомное добавление в корзину, в котором вы будите получать цену на товар с помощью API, а потом добавлять его в корзину с флагом CUSTOM_PRICE и нужной Вам ценой
2) Реализовать
свой \Bitrix\Catalog\Product\CatalogProvider. В этом варианте можно оставить добавление в корзину стандартным, а в обработчике OnSaleBasketItemBeforeSaved подставлять в поле PRODUCT_PROVIDER_CLASS ВашCatalogProvider.
3) Можно всё таки заполнять цены во всех ТП и ни чего не надо будет выдумывать.