Could somebody please explain why some banks charge a fee for card transactions made in a foreign currency? For example, for a debit card transaction, as far as I know, the exchange from the foreign currency to the local currency is done by the card operator using an exchange rate of its own, so the bank only has to debit the account in the local currency. So, as far as I can see, there is no extra cost for the bank when transactions are made in local or in foreign currencies.
Banks and card networks aren't the only players in card transactions.
When you swipe the card, the transaction follows a chain to your card issuer to see if you have the credit or funds available to cover it.
NOTE: This is a general transaction flow, and some acquirers / countries may differ in how their transactions are processed. The general idea is the same.
Card Swipe @ Merchant POS -> Payment Gateway -> Processor -> Card Network -> Issuing Bank
These processes below usually happen in parallel, when the issuer responds about fund availability.
-> (Auth Response) Card Network -> Processor -> Gateway -> POS (Transaction Approved) -> (Fund Queue) Card Network -> Acquirer (Can be voided before settlement)
Then, when it's time to settle...
(Settlement Notice) Merchant Batch Close Transactions -> Acquirer -> Card Network. (Funds) Acquirer -> Merchant Account. (Varies by country) (Settlement Data) Card Network -> Processor. -> Issuing Bank. (Posted Transactions) Issuing Bank -> Card holder
You'll notice that the processor takes on a large role in facilitating the transaction from start to finish, and the processor is usually where the exchange fees and markups are incurred. These are charged to the card issuer and passed on by the issuer to the cardholder.
The card networks (most commonly, Visa and MasterCard) also charge fees for transactions that take place outside of the issuing country of the card, regardless of whether the transaction takes place in a different currency or not. Visa calls theirs the International Service Assessment (ISA), and MasterCard calls theirs the cross-border fee. These are charged to the card issuer and passed on by the issuer to the cardholder.
While debit cards do not carry the FX rate change risk, they still process on the global card networks, and the same general process is used for fee assessments.
Yes, they charge what the market is willing to pay, and banks know we all shop around, but there are also costs in the FX process.
First, the bank has to run an account in each currency you use, and different currencies have different hedging requirements, so the bank's cost of hedging a foreign currency exposure is likely to be built into the transaction, and it depends on the currency. Some currencies cost less to hedge than others. Further, If the bank doesn't run an account in some currency, they have to pay for someone else to run the account, and hedge it. They pass that cost on to you.
Secondly, the bank has to fund each different currency account they run. OK, so your transaction is probably between your account, denominated in one currency, with your bank, and the account denominated in the foreign currency, with your bank. These accounts have to be funded from somewhere, and to do that your bank needs an account with the central bank for each currency they run accounts for. That is the only way they can be guaranteed real time gross settlement with counterparty banks in cross border transactions. Otherwise they take a number of risks to get your payment made for you, including settlement finality. All that has a cost as well.
Currency conversion is a valuable service, so people pay for it and others get paid to perform it. You paid your bank to change the currency, which is very common. Part of it is the simple service cost, part of it is recouping their cost for building the capacity to do so, and part of it is the risk of fluctuation in price for currencies to which the bank is exposed. If something fails, you will expect them to fix it and maybe absorb some cost as a result of that failure.
All of these things they did more easily and at lower risk than you could otherwise do yourself. So you paid for the convenience and certainty of the transaction. Even if they didn't charge you a specific fee, they would get it somewhere else, like in annual fees, other transaction fees, lower customer service expenditures, etc.
In situations where the bank itself is not undertaking many of the functions and risks involved in the conversion, they are paying other companies or vendors to do so. So the money they get from you goes to pay those people and cover those risks - whether those people and risks are resident inside the corporation or outside it.