Re: Shops are required to accept cash
Businesses can accept whatever form of payment they like in exchange for goods/services. Legal tender only means that a debt cannot be said to be unpaid if an item classed as legal tender was offered for the value of the debt.
https://www.bankofengland.co.uk/knowledgebank/what-is-legal-tender
In the US, I believe it is the same but there are some states that have passed laws to make cashless stores illegal (Connecticut, Massachussets and New Jersey I think).