We instituted the 3% a few months ago when went with a new processor because they streamlined the percent we are charged by different card vendors. Amex was ridiculous in their fees, as an example. Also, we never see this charged fee in store, it goes straight to the processor and isn't a part of our revenue. So either we pay for your use of a debit/credit card or you pay for the right to use your credit/debit card. You can always pay cash and forget about any of the fees. Certainly don't want to ding cash customers to pay for your right to pay using your debit/credit cards by raising prices across the board.
At the end of the day, you can pay for it and I close it in the price or I can take my business elsewhere.
If you don't want to ding cash customers, offer a 3% cash discount. Like some businesses near me seem to have been doing for at least the five years I've lived here.
It's one of those things that smart businesses do differently. Because whether it's logical or not, sensible or not, etc...it only has the possibility to annoy people. And even if that's only 10% of people, I'd rather they be my customers too.
Edit: and by the way, if it's a new fee, were y'all not charging for credit card usage the entire existence of the business prior to a few months ago? Or did you lower all your prices 3% and THEN add in this back end fee? Because that's the underhanded part of this recent change to adding the fee on. The fee has always been there.