> In France for instance if you accept credit cards, it is illegal to add a fee for accepting it.
Are you sure, that it is by law, though? In most countries, it is a contractual obligation: when you make a contract with your bank or payment processor, one of those terms & conditions is not to discriminate against the card payers. The purpose is to force the processing fees on the merchant, otherwise the cards would be at a disadvantage and would not get popular. For a case study, see Southeast Asia (1. cash rules there; 2. you can pay with a card, but you will have to cover the fees too; 3. as a consequence, everyone uses cash, see also point 1).
In the case of taxis, I would understand if they voluntarily had terminals for their own protection (so they would not get mugged for few banknotes), but forcing them... that sounds wrong.
>> In France for instance if you accept credit cards, it is illegal to add a fee for accepting it.
> Are you sure, that it is by law?
It is: Article L112-12 from the Code monétaire et financier.
"Le bénéficiaire ne peut appliquer de frais pour l'utilisation d'un instrument de paiement donné." (The seller shouldn't charge any fee for the use of a given payment instrument).
You can impose a minimum purchase amount for accepting it though.
Certain professions (i.e., taxis) are even forced to accept credit cards.