Unsurprisingly, the article doesn't understand the finer points of credit card merchant agreements, or, perhaps, the Senate doesn't understand it either. Either way, no surprise.
There is no prohibition to a merchant offering a cash discount to a person that chooses to pay with cash instead of a credit card. It must be advertised as a cash discount. What is prohibited, on the other hand, is charging an additional fee for use of a credit card. While it is two sides of the same coin, the credit card companies see it differently.
Incidentally, there are a lot of these rules that get completely ignored. For instance, a fairly common practice among smaller merchants is to have a minimum charge for credit card use--this violates the terms of the merchant agreement and if the credit card companies found out, the merchant could lose its ability to accept credit cards.
This is correct. It violates the terms of the agreement to have either a minimum charge or a credit card fee, but often goes unreported.