Just out of curiosity, I checked US law about this. Yeah, I am that type of guy.
There are no federal laws that require any merchant accept any specific denomination of bill or coin. I doubt that any State law would be allowed to contradict.
It happens quite often in business. As bus company is legally allowed to refuse payment in large denomination bills. Under our contract laws, it would be in the best interest of the company to make their policies clear before the customer engages in the contractual action.
Of course, the business must also accept the consequences of their policies. A company can refuse to accept specific types of legal currency but must also accept that customers will refuse to do business with them.
But yeah, if this shop were in the US, their policy would be legal.