The Quiet Cost of Paying Canadian Immigration Fees With a South African Card
Every IRCC fee is quoted in Canadian dollars, and paying Canadian immigration fees from a South African account always costs more than that quoted number. The gap between the two is rarely explained anywhere, which is exactly why it’s worth walking through before you pay a single fee.
Where the markup actually comes from
Two separate costs stack on top of each other whenever a South African card pays a CAD-denominated fee. Your card issuer applies its own foreign exchange margin — a markup over the interbank rate, charged simply for converting currency, regardless of which network processed the payment. Then, separately, an international transaction fee is often charged on top, purely for the transaction being cross-border at all. Neither of these appears as a clearly labelled line on the immigration fee page. They show up only on your card statement, days later, as a total slightly higher than the CAD amount times whatever rate you assumed.
Dynamic currency conversion — the trap worth knowing by name
At the point of payment, some payment processors offer to show and charge you in rand instead of Canadian dollars, framed as a convenience — “pay in your own currency, know exactly what it costs”. This is dynamic currency conversion, and it is very rarely in your favour. The rate used is set by the merchant’s payment processor rather than by your card issuer, and it typically embeds a worse exchange rate than simply letting your own bank do the conversion. If a payment screen ever offers you a choice between paying in CAD or in ZAR, choosing CAD and letting your card issuer convert it is, as a rule, the cheaper option.
Why declined payments compound the cost
South African cards attempting large or unusual international payments — an IRCC application fee, a biometrics fee, several fees submitted together — sometimes get flagged and declined by the issuing bank’s fraud monitoring, even when nothing is actually wrong. Each declined attempt can trigger its own retry, sometimes at a marginally different exchange rate if time has passed, and occasionally an additional attempted-transaction fee. Calling your bank before a large payment session, to flag that international payments are coming, is a small step that avoids a real amount of wasted time and occasionally wasted money.
A practical way to decide, fee by fee
- Check whether your specific card charges a separate international transaction fee on top of an FX margin — some cards charge both, some only one
- Always choose to be billed in the fee’s original currency (CAD, USD, GBP, whichever applies), never in rand, when a payment screen offers the choice
- For a genuinely large payment — settlement funds transfers, larger provider fees — compare your card’s total cost against a dedicated foreign exchange service, which sometimes offers materially better rates for larger amounts than an everyday debit or credit card
- Flag upcoming international payments with your bank in advance if you’re paying several fees close together
What this doesn’t solve
None of this is a substitute for professional advice on the exchange-control side of a move — the single discretionary allowance, the foreign investment allowance, and the tax-residency questions that come with moving larger sums are a matter for a registered South African tax practitioner or financial adviser, not a blog post.
The one habit worth keeping
Before any immigration-related payment, check which currency you’re actually being billed in, and choose the original currency every time a choice is offered. It’s a small decision, made correctly, dozens of times across a move.
Our free guide, Proof of Funds & Moving Money, covers the exchange-control and paper-trail side of moving larger sums.