The problem really lies with banks and card processing companies out to get their pound of flesh. I have a brilliant card processing deal through my trade association - £15 a month plus 13p for a debit card or 1.3% for a credit card...
as long as the customer is in the shop. As soon as I put through a 'customer not present' sale the rate goes up almost to Paypal's extortionate level. Actually, 75% of my business is still cash, but that's no answer either. I'm charged for putting cash in the bank, charged for putting cheques in, and charged for getting change.
These are heavy expenses for small businesses. With card use growing all the time though, I do think it is better just to whack the costs onto prices. I don't put on a surcharge every time my other costs go up.