Честно или нет?

Я думаю многие сталкивались с этим, но я не могу найти нигде какой-либо официальной информации почему так.

Дела в том, что при покупке в магазине за наличные, копейки округляют до рубля в меньшую сторону, то есть за покупку 189,90 руб. попросят 189 ровно. Такое происходит во многих сетевых магазинах. А вот если платишь картой, то отдашь всю сумму.
В связи с этим вопрос к лиге юристов или осведомленным. Законно ли это или это нарушает мои права как покупатели из-за дискриминации?