The distinction in one paragraph
Under a cash discount program you post one price that already reflects the cost of accepting cards, and you offer a discount to customers paying cash. The card customer is not charged extra — the cash customer pays less.
Under a surcharge program you post the cash price and add a disclosed fee to card transactions. That is a genuine surcharge, and it sits under card-brand rules including a cap tied to your actual cost of acceptance and an outright prohibition on surcharging debit cards.
Same commercial outcome, different legal footing. Programs get fined because a merchant was told they were on cash discount while the terminal was actually adding a line-item surcharge to card sales, including debit.
The rules you have to get right
- Disclosure at the entrance and at the point of sale, before the customer commits to the transaction
- The discount or fee must appear as its own line on the receipt
- Debit cards can never be surcharged, regardless of program name
- A surcharge cannot exceed your actual cost of acceptance for that card type, up to the brand ceiling
- Surcharging is restricted or conditioned in several states and has been litigated repeatedly — check your state and check it again this year
- Offering a discount for cash is broadly permitted nationwide and was specifically protected by federal law
What near-zero cost actually means
Under either program, the cost of acceptance is carried by the transaction rather than by your margin, so your effective processing cost approaches zero. What does not disappear is the monthly service fee for the account and the gateway. Those stay on your statement and should be quoted to you plainly.
It also changes nothing about chargebacks, PCI obligations or interchange handling. It changes who absorbs the cost of acceptance. That is the entire mechanism.
Who it fits
It works well where cash is already common and margins are thin: convenience stores, quick service, smoke shops, auto repair, trades. Customers in those categories largely expect it now.
It works poorly where you compete on experience, where your competitors do not do it, or in online checkout where a visible fee measurably hurts conversion. In B2B, Level 3 interchange optimization plus ACH usually gets you further without touching the customer relationship.
Implementation details that decide whether it works
The program lives or dies at the counter. Your staff need two sentences they can say without apologizing, and your signage needs to be visible before the customer is standing at the register with a card in their hand. Surprise is what generates complaints, not the fee itself.
The terminal also has to be programmed correctly: apply the amount as its own line, exclude debit where required, and print the required language. A badly configured program is the version that fails an audit.