Cash is not free for a store to handle. Stores pay transaction fees on credit cards, sure, but they save on all the costs of cash. A hypothetical store that takes credit cards only would not have any of these costs and their vulnerability to robbery/theft would be limited to merchandise and capital only, saving the cost of insurance against theft of cash. For some types of businesses (services rather than retailers), this makes their office a pretty unattractive target for burglars and eliminates employee theft of cash.
Stores generally try to give extra charges for using credit cards, not the other way around.
It seems like the fair thing to do, should be to allow a store to do whatever it wants, and make these credit card requirements illegal.
So, it would be allowed for stored to charge extra for either cash or credit, whatever they choose, and the credit card companies would be forbidden from stopping this.
It's common for online stores to charge a few percent extra for credit card payment (the base price usually applies for the most common form of online payment, iDEAL, which is cheaper, I guess because the banks cut out Visa/MC).
On the other end of the spectrum, there are some physical stores and restaurants (usually chains) that don't accept cash. They're allowed to do that, given that they state so very clearly upfront.
that's like saying opening the doors everyday to customers is not free. it's true, but misses the point. handling cash, like paying for utilities, is a fundamental cost of doing business, and so it should be, because the right to anonymity and privacy is woven into cash. not so much with electronic transactions, which are optional, alternative costs.
(Especially when the cost between different payment mechanisms differ a lot.)
It just happens that they dont want to do that, because dealing with cash is cheaper