Why is there a difference between cash and credit purchases?

Cash is an acceptable form of compensation to pay all debts, public or private, "legal tender". Credit is only an equivalent. Merchants charge higher prices for credit in order to defray some of the costs associated with accepting credit cards. A merchant decides independently if he will accept credit cards as a form of payment for goods and services rendered. Once a merchant makes this decision, he must then pay a series of other businesses (the equipment lessor who provides the credit-card machine; the payment processor who coordinates the actual account debits and credits, etc.) a small amount for every transaction paid by credit card. Many merchants do not charge more to accept credit, as they consider it just another cost of doing business. Many merchants also do not charge more for credit card purchases because it is prohibited in their Merchant Agreements, and they could lose the ability to accept credit cards if they are caught doing it. Visa, however, does allow its merchants to offer "cash discounts" off the marked prices, but not a credit premium, so a customer is never charged more than the marked price.