Now, do you think it's "better" (how ever you choose to define that) for me to raise my prices to EVERYONE to cover those fees, or have them covered by the folks that want to use a credit card? Gotta be one or the other, there isn't any 3rd choice.
Here's what I'll guarantee you - 3% different in price isn't that much to most people - they don't really mind paying that much more in most cases. What will irk them, though, is when they hear *WHY*.
Realistically, everyone I know under the age of 40 uses a debit card. At any given time I can I have less than $5 cash on me and if I ever have more than that I'm on my way to the bank to get it deposited. My paycheck goes directly into my bank account (not even an option where I work - you provide an account for direct deposit or you don't get paid - we don't issue checks). Cash is just a terribly annoying liability - it can be lost, stolen, destroyed, etc. Banked money is more secure (and for all the SHTF folks - if you store up cash instead of bank deposits then if the system ever collapses all you have is a bunch of worthless paper).
So, you have whole generations of shoppers who generally WILL NOT deal in cash - and then when they go to make a purchase you're going to tell them you're charging them extra for using the defacto standard payment method? Doesn't jive well.
Basically, as a businessman, you don't ask whats fair to this customer or that - you want to ask "What is the way that my business will make the most money?". I can pretty much guarantee you that a 3% hike in overall prices will turn away less customers than a big sign saying you're going to charge 3% extra for credit card orders. This is beside the fact that Visa nor Mastercard allow such surcharges, so as soon as one of your customers gets irritated enough to file a formal complain you risk having your ability to take cards revoked altogether.
Take a lesson from the big boys and just make sure your margins are high enough to cover the fees. I can guarantee you that a significant portion of your sales will be paid using a card, and that portion percentage-wise will only increase.
I'll admit that I occasionally pay the 3% hike on online purchases if the price is really that much better, but if it's anything local, I flat out will not shop anywhere that advertises such a fee or a minimum purchase.