Jeddy:
If it wasn't for the inability to calculate shipping based on weight of items I would just use PayPal for payment.
Use your payment provider for payments. Use you shopping cart to determine shipping. In other words, do that in Zen then pass the total to PP.
I've been struggling with "eCommerce in Canada" issues for a LONG time. in 1998 I worked for Industry Canada developing "eCom in Can" packages for small Canadian businesses... after 18 months, the program was shut down because there just weren't any ideal overall solutions available.
Compromise is around every corner, but the best solution I've personally found is PayPal. I know a lot of people hate PP, but they are the most "canadian friendly" option out there that doesn't cost an arm and a let, and their rates are lower than most merchant services will get you anyway.
Downsides? Sure there are downsides. The single biggest is the name. I know I lose sales each and every week because some percentage of my customers refuse to use PayPal. Most of the rumors are just rumors. I've been using PP for years and have never had my funds held, or ran into any problems at all really. But rumors, true or not, get in people's heads and there are people that will NOT buy from you if you accept only PayPal for credit cards. So far, I've determined that loss does not outweigh the benefits for my business.
It is VERY flexible, especially if you need to accept payments in foreign currencies. Ultimately I think it is the best option for the customer too (for security and features) even though you'll never convince some of them of that.
Biggest reason not to use PayPal: offline sales. There's no way to process a credit card (without technically committing fraud) over the phone or in person. (MODERATOR NOTE: As of Oct 2008, PayPal Website Payments Pro now allows direct processing of credit cards)
That's my 2c. Which, of course, is -$.53c after the paypal fees are applied.