
You're in Prague, dinner comes to 900 koruna, and the card reader asks whether you'd rather pay in euros. Say yes and you pay between 3 % and 12 % more for exactly the same dinner. It's called dynamic currency conversion, DCC, and it works like this:
1. When you accept euros, the exchange rate isn't set by your bank: it's set by the card reader's provider, who keeps a markup over the real rate of the day.
2. The shop or the hotel take a cut of that markup. That's why the machine offers it, why the euro button is the highlighted one, and why the waiter sometimes insists.
3. If you choose koruna, Visa or Mastercard do the conversion at the wholesale rate, and on top of that your bank charges its own foreign currency fee, usually between 0 % and 3 %. It almost always works out cheaper.
4. Since 19 April 2020, European regulation 2019/518 has required that markup to be shown as a percentage over the European Central Bank rate, for payments and cash machines in Union currencies. It's on the screen, in small print, before you press.
On 900 koruna the difference is a couple of euros and not worth the argument. On 2,000 euros of spending across a trip, 6 % is 120 euros: a night in a hotel. Always press the currency of the country you are standing in, cash machines at the airport included.