Эти — да, лучше в моделях.
У вас наверняка есть модель корзины. Логично определить методы, определяющие скидку и общую цену.
Скидка может быть завязана на пользователя. Например, разные категории пользователей, накопительная скидка, зависящая от его истории покупок — это метод в модели пользователя. Который, в свою очередь, можно вызывать в методе модели корзины, рассчитывающем скидку.