Oh, they do it regularly here. They even advertise the Cash Only price in big flashing letters on top, with the credit card price (10% higher) in small print below. I got scammed by that Shell station only once. Never bought another drop of gas from them since then.
In truth, is is against the member services agreement that you sign to open a CC merchant account to pass on the CC tax, but it's not against the law.
In business, large transactions are always done via check explicitly to avoid losing 3% to Visa. Retail customers are different, but so is the profit margin. Giving up 3% of a 40% markup is worth it for the convenience. Giving up 3% on a 10% markup eats a lot more of your profit. Like a third of it.