In the US, $$ are NOT required to be accepted for all debt/obligations.
I owned an insurance agency for many years and by 2010 or so we realized that most of our cash payments were coming from customers of our major insurance company, but were not customers of our agency. We were making daily bank runs to deposit these funds although most of our customers were paying by credit card, debit card, and ACH.
We instituted a no cash policy after checking the legal requirements - and never had a complaint from our customers.
https://www.federalreserve.gov/faqs/currency_12772.htm