Beyond the fact that I don't understand why a virtual card should be a problem, I think that this era of "we can deny you a service and tell you nothing" should stop. It's one of the biggest issues of the modern internet. I understand that laws are different around the world. In Italy, whatever is defined as a "public exercise" - anything offering its services to the anybody, be it a shop, a store, a cafè, a restaura…
There's rules about discrimination for specific reasons: you can't discriminate based on age, race, gender, etc. "Which credit card" you use isn't one of those categories, so it's legal to discriminate based on it. (And is often done, though not to this extent; many places, for example, will accept Visa and Mastercard but not Discover.)
Sure, but one thing is:
"Sorry, I cannot accept Discover, do you happen to have another means of payment?"
and another one is:
"Sorry, I cannot accept Discover, and since you presented one of those cards to me once, then you are prevented for the rest of your life to enter these premises again".