In the US, cash must be accepted as payment for (edit: public) debt. However, there is no requirement that all transactions must accept all legal tender. A business owner can refuse to enter into a commercial relationship with you on the basis of your method of payment.
https://www.treasury.gov/resource-center/faqs/Currency/Pages...