But having worked at a cash register at for a period in my life theres a lot of good reasons businesses do this.
Stores dealing in cash need a float at the register. Where I was that was 500 euro. That's 500 euro in coins and lower value notes that has to be at every register so that anyone that pays in cash can be given the correct change.
A large store near me has about 20 registers, that during very busy periods could all be open. So to guarantee they can accept cash on a busy day like that means having 10 grand to just park in these registers.
That's 10k that's vulnerable to theft either from employees or robbers.
Security vans have to be hired to take the days takings to a bank and bring lower denominations to the store to fill these floats.
When someone finishes a shift they have to spend time what they have, that doesn't take long but it's another cost for the company.
It also means insurance costs are higher.
The guy only accepting card payments from his horsebox converted to a coffee shop doesn't worry about any of this.
At least where i am *living cash is more expensive than electronic