If I buy something either in a shop or online, I expect to pay the same advertised amount, no matter what method I use. I shouldn't have to wait until the transaction is over before the merchant informs me that because I used method X - whether it's cash, credit card, laser card, or cheque - that I have to pay a subcharge.
If they wish to offer me a discount in order pay by their preferred method, that's another thing entirely. Some merchants are happy enough to avail of the benefits of credit cards (more impulse purchases, for example), but fob off all the costs on their customers.
And in this case, we're talking about a company with a monopoly, so there's no way for the customer to take their business elsewhere.