When returning Canadian rates from USPS, you may get a long error message that looks like this:
Invalid response received from USPS. An issue of a publication in which more than 5 percent of its total advertising space is primarily directed to a Canadian market and which indicates: (a) Specifically where goods or services may be obtained in Canada, or (b) Specific items or conditions relating to the sale or provision of goods or services in Canada. All alcoholic beverages including wines, etc. An issue of a publication that contains an advertisement primarily directed to a Canadian market is a prohibited import if that advertisement does not appear in identical form in all editions of the issue distributed in the country of origin. Articles so marked as to create the false impression that they were made in Canada, Great Britain or any other British country. Commercial tags of metal. Firearms, except as follows: Firearms may be mailed to Canada provided that they meet the requirements in DMM 601.11.1, 601.11.2, 601.11.3, and 601.11.6 and that the importer has the required documentation....
USPS recently updated their API and now requires the OriginZip when returning rates for Canandian addresses. You need to update two lines in cfcs/shipping/uspostal.cfc.
Replace ~line 266:
temprequest = temprequest & 'USERID="#arguments.userid#"><Revision/>';
with:
temprequest = temprequest & 'USERID="#arguments.userid#">'; if (v.CustomerAddr.Country IS NOT 'US') { temprequest = temprequest & '<Revision>2</Revision>'; } else { temprequest = temprequest & '<Revision/>';
Replace ~line 332
if (v.CustomerAddr.Country IS 'US') { temprequest = temprequest & '<Machinable>#arguments.Machinable#</Machinable>'; } temprequest = temprequest & '</Package>';
with:
if (v.CustomerAddr.Country IS 'US') { temprequest = temprequest & '<Machinable>#arguments.Machinable#</Machinable>'; } else { temprequest = temprequest & '<OriginZip>#v.MerchantAddr.Zip#</OriginZip>'; } temprequest = temprequest & '</Package>';
Be sure to click Admin > Site Design > Refresh Cache after the updates to reload the CFC in your store.