I'm no lawyer.
They can insist on ID if they wish, but if I wanted to pay cash, they should take it.
Heck, only a few years ago, at my last job, when they insisted we go to direct deposit whether we wanted it or not (I did actually), there were a few people there that had to open accounts at the bank/credit union to get their money. They lived on a cash base, not even using checking.
As you pointed out, our currency is by law legal tender, so how can they refuse it? Of course, that's true for mail orders for years. It was either check or COD for a while, then became check or credit card.
Still, while perhaps it's the simplest way for Apple to try to keep a tight rein on their users, I think it's wrong. ID yes, credit card demanded, no.