> is there some sort of contract that stops vendors from adding a "credit card processing fee"?
In EU it is not allowed to charge the customer any kind of extra fee for using a card. Though obviously it only works well together with the 0.3% cap on the actual fees the vendor pays.
https://europa.eu/youreurope/business/finance-funding/making...
> You're not allowed to charge your customers extra for using a credit or debit card. This applies to all card purchases (in shops and online) made throughout the EU.