As much as I have fought this with gas stations and restaurants, refusing to take $50 or $100 bills, the term "legal tender" on money requires it to be accepted for all "Debts," however, just because Apple "offers" an item for sale does not mean you have entered into a debt by requesting to purchase it. They can employ supreme court backed "invitation to Treat" and can refuse the sale for quite literally ANY reason.
In order to guarantee the stock availability, and limit unintended exports in a demand rich environment, lots of companies refuse sales that can not be validated to a specific individual, and strictly limit purchases. In this case, apple is insisting on a credit or debit card being used in order to validate identity, since it's illegal in most states to use a drivers license number for such, and its illegal everywhere to use a SSN for such. Multiple credit cards bound to the same address with the same printed name is an easy way to validate identity.
With things like food in a restaurant or Gas, (if you can for some reason pump before you pay), you have already been provided the goods, and have a requirement to pay the debt. (since they can't easily or possibly reclaim the goods), If so, they MUST accept the cash (though they can make you wait an indeterminate period for change if they can not provide enough). If they fail to accept the cash, reference the appropriate acts, and you can legally walk away without payment as the debt is instantly void (though calling the police may be needed so they don;t send them after you as retaliation). However, Cash CAN be refused at point of sale, or in advance of sale, including for Gas, as it is common to have a "pay before you pump" restriction, and a "we don't accept $50s" sign denying the sale before it occurred.
On a side note, as far as "minimum sale" for credit cards, or fees for using a credit card in excess of that for other payments "a "CASH" discount is allowed, but not for checks or any other payment type otherwise it is seen as a credit use charge) that's not only strictly illegal, it's against their merchant agreement, and if you see such a sign, IMMEDIATELY call your card issuer or Visa directly, and if the merchant refuses the transaction, they'll be fined by Visa, possibly by the state, and can have their card services revoked immediately. Additionally, if you fail to be ID'd for any transaction involving a credit card that did not also involve a pin number (signature transactions), you can call Visa and state such, and they can instantly refund the transaction, though telling local management usually results in the same with less trouble. I've done that a few times at Walmart when a cashier was particularly rude or unfriendly (to me or someone else).