Australia just recently banned credit card surcharges. The cash price has to be the same as the card price. I believe part of the reason was that many retailers were silently added the surcharge at checkout instead of being upfront with the cost.
The surcharge is usually way less than 3%, which does suggest that the place is overcharging and pocketing the difference, which I'm not cool with.
As long as the pricing is upfront I don't really mind either way, I want to know what I am being charged, with no hidden surcharges or fees.