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.
Where I live certain places charge more depending on certain cards because of credit card fees. I've even seen some online shops charge more for people to pay via Paypal because their fees are so steep. Bitcoin's small fee are a major advantage to retailers but it's just educating them about it.