There was some question over the legality of Apple refusing to accept cash for their iPhones but apparently they are able to refuse cash:
It turns out that the U.S. Treasury takes an extremely literal view of the language on every Federal Reserve Note saying it is “legal tender for all debts, public and private.” If you owe someone money, the law says they must accept greenbacks in payment. But, says the Treasury Web site: “There is, however, no Federal statute mandating that a private business, a person or an organization must accept currency or coins as for payment for goods and/or services.”
But they are on shakier ground for refusing their own gift cards (as reported by Engaget) which do not exclude iPhone in the “terms and conditions.”
Related Post:
Apple no longer accepting cash for iPhone