Not sure if they are allowed to treat credit card customer's differently, there must be some policy that says you can't charge extra if your customer is paying by credit cards.
By policy I assume you mean law, since a company policy can be changed by the company itself. I don't think there are laws (at least not generally) that would prevent a company offering a bitcoin discount. For example, don't gas stations in some places offer a different price for paying for gas with credit cards versus cash? It would be the same idea.
Just about every truckstop in the US has a discounted price for diesel when you pay cash.