It is pretty important to check your charges on an exchange. Anything less than the exchange rate is a fee charged from your bank or from your credit card. For example, 2.5% exchange fee should have cost around $16 fee total for 650 Can $, giving you around $797 Canadian dollars, if there is no exchange fee, you should have got $813 can $ as per the rate today. Be carrefull with the rate from your bank, they could be tricking you with hidden fee, check the rate on a currency website.
On my last trip to USA this winter, I took some samples to see the differences with the current day rate and what the actual charge was on my credit card statement. You can check previous rate on this site:
http://www.xe.com/currencytables/
There was an average difference of .025 cents with Master Card and Visa. On every $1000 Can$, I loose $25 dollars in fee on the day rate. This confirms that my credit cards actually charged 2.5% exchange fee as stated. If a bank takes more than 2.5% over the day rate, I sure will take just enough money to make it in case I need cash and pay with credit card.
On your credit account, the rate will vary fractions of pennies from what is charge as it allways depend on the time of the day you did the purchase and when it was actually charged, exhange rate varies all day. So if you take note and make an average, it will tell you the average charges.
BTW, when I go to USA I pay with my credit card for fuel, but I allways have to go inside first to pay in advance because it almost allways ask for a ZIP code which we do not have, not a big problem.