Florida has long had a silly distinction that you could offer a cash discount, but you couldn't charge a surcharge for Credit Cards. The court ruled that the distinction between the 2 is a left pocket, right pocket affair, where it's just a matter of semantics and really no different.
Everyone knows how much it costs to accept credit cards, and most credit card companies are virtual thieves; charging murky surcharges themselves, and now forcing every business in the US to purchase expensive EMV chip processing equipment to save THEM from fraud costs while they're making BILLIONS of dollars in profits. Why the government allows them to bully businesses like this is all about corruption. These companies can easily absorb the fraud; what happened to it being "the cost of doing business"? Visa makes $6 Billion a year with the old Mag Stripe CC system, so what's the big problem? So they lose a few million to fraud. It's WHY they charge such high fees. So they get to charge the fees and make businesses buy more secure hardware too? Or are CC fees going to go down to 1%? Seems unlikely.
The role of government should be to protect consumers and small businesses; not to be in bed with the lobbyists of the Credit Card companies. Of course the government wants you to use credit cards, because it makes it easier to determine how much a business actually makes, and it also provides a lot of data on how people spend their money.
Like a service charge, if you do institute a service charge you should let your customers know in advance; the big argument against surcharges were that companies were just adding it on at the register.
Disclaimer: I'm not a lawyer so check with yours before instituting a CC surcharge, And realize that customers aren't going to like it. My understanding of the law is that if a law is struck down as unconstitutional, the law does not apply until some higher court re-instates it.