It used to be that you had to punch in your ZIP code when filling up right at the pump. Of course, Canadians have postal codes, so you always had to go inside and ask for pre-authorization.
Well, during my last trip to Portland (where I had an awesome trackday, btw) the above mentioned inconvenience did not happen once during four stops at various gas stations. Three accepted the Canadian credit card without asking for a ZIP code. The fourth one asked for it, but I learned that it will likely go through if you enter the three numbers of your Canadian postal code and add two zeros.
Example: If your postal code is V3B 5J8, then enter 35800.
Just thought I'd share.