One of the regulations that airlines in europe are required to adhere to is that they're not allowed to advertise up-front prices that come with additional non-optional fees. So the ticket price advertised up front has to include all mandatory fees and taxes. Optional fees (hand luggage now being the latest, priority boarding, checked luggage) can be extra.
Payment processor fees cannot be extra. At least one needs to be free. So in reality, it's not necessarily the cheapest processor that's free, but it's the least popular one that's free. That way, for all the common ones, you can now charge a fee and tick the regulatory box, while still screwing your customers out of more money.
E.g. Visa Electron is free, Visa Debit/Credit, Mastercard debit/credit and Amex all come with fees to use.
If I'd start a small business, I would flat out refuse to take cash. (in Europe)
I agree with the sentiment, though. I guess realistically if it were my business, I'd need some significant evidence that I wouldn't be losing money by not accepting cash. That's the extraordinary claim, after all, with the vast majority of businesses doing it.
I think I've seen a few food trucks in my area that don't take cash.
I wonder if you could create a similar law for both.