I made a donation online to a Canadian charitable organization, entering a donation amount in dollars, assuming it to be Canadian currency. It turns out that their donations were being handled by their US-based affiliate, which treated the amount I entered as US$, meaning that the value as billed to my credit card was about 35% more than I had intended to donate. There was no indication on the website as to which currency was being charged.
Since the recipient is a charity whose work I respect, and my budget was not so tightly constrained, I'm not going to make a big deal of it with the organization. I did send them a polite e-mail explaining my concern. They replied that it was a result of a recent website update that included a link to the US donation site rather than the Canadian one, and they are correcting the link now to point to their own (Canadian) donation page.
How can I tell, when making an online payment, what currency is being charged when the dollar sign ($) is used? What if, instead of Canadian or US dollars, a seller charges in Caymanian dollars, the highest-valued dollar unit in the world? This would seem to be a great opportunity for online fraud. How is it prevented?