That is only true as long as they ACCEPT CASH to begin with.
If their policy is check, money order, or credit card only, they do not have to accept cash.
The only legal concept I know of concerning cash is that if you offer to pay PART of a debt, instead of the FULL amount, they cannot REFUSE to take your payment (in whatever form that is).
Reminds me of the time when I stopped in at a gas station and bought a tankful of gas. When I offered the attendant a $50 bill he refused it saying, "We don't take any bills over $20".
I replied "This is all I have."
He asked me for a credit card and I told him "I don't have one". But I do have checks."
"We don't take checks."
"Then here's my payment" I replied, extending the $50.
"We don't take any bills over $20" he mindlessly repeated.
I smiled and repeated, "This is all I have."
Faced with this mexican standoff he looked around his one-man station for someone to magically materalize save him from his own conundrum.
"Look, I haven't got all day. Do you want payment or not?" I asked.
"But...."
I shrugged and started to turn away. He heaved a sigh and said, "OK"
I handed over the bill and took my 2 dollars in change.