Obviously not everyone does it, but it's certainly not uncommon.
On the other hand, there are also a lot of costs associated with handling cash. The expense of tracking bills and coins and going to the bank every day is not insignificant. So it's pretty easy to argue that there's no reason for cash discounts either, because handling cash can actually be more expensive than handling cards, particularly when you're doing it for only 5 or 10 percent of customers.
The CC companies are only taking 2.5%-3.2%. If they're offering a 5% discount for cash - it's almost certainly tax evasion.
So if you buy a $2 Coke, it's not a $0.054 fee (2.7%), it's $0.354 (or a whopping 17.7%).
Maybe my dentist evades a few taxes, I dunno. But people buy cheap things at the bodega, so it probably is closer to the actual fees.
If it says debit on the front of the card, it is debit.
I’ve never seen this work in person, but some people claim their debit card worked as a credit card and whatnot. Even if that is true, all merchant systems I’ve worked with allow the merchant/cardholder to select debit or restrict transactions to only debit.
This isn't the full picture. Debit card transactions might only be a few cents. But you still have to pay a fixed cost for the machine and related bits. For some businesses, that cost might be too high to justify.
Also, India came up with RUPAY which is a great answer to VISA/MasterCard monopoly. But somehow it didn't catch up in usage I think.
No one cares about numbers like that. That's way, way below the convenience threshold for a typical consumer. Most of us, me included, would rather pay an extra 3.5% than fiddle with deciding on which card to use.
Which is to say: the market has spoken. We've settled on the duopoly not because it's a trap but because it actually maximizes utility. The uniform convenience of "credit cards just work" has quantifiable economic value. And it turns out to be somewhere around 2-5% of the transaction.
Which leads me to believe that it's generally worth it for businesses, despite the "fees".