Re: Shops are required to accept cash
No they are not. Shops are free to specify how they will accept payment. They may choose to only accept American Express charge cards if they want (although they may find it limits their market).
The above is *certainly* true in England and Wales, and I am fairly sure it is true in the other jurisdictions in the UK, and in most of the more than 50 different jurisdictions in the US (states, DC, reservations). I cannot rule out the possibility that some US jurisdictions do require shops to take cash.