Actually, you can pass on the fees to the customer (and believe me all businesses do), and you can even tell them if you really wanted to, but what you can't do is charge them a different price depending on how they pay for it. So even though you are paying for something with cash at say Walmart you are paying for a portion of everyone else's credit card fees because they are rolled up into the cost of the item. There are a lot of small mom and pop stores out there that offer cash discounts, but I believe technically they are violating their agreement with their merchant bank when they do.