One thing to be aware of, though. It is nigh impossible to get a USD American Express merchant account in Canada. If you plan to charge exclusively in USD, this can be a real problem, as you won't be able to take AmEx. We're soon going to go through the hassle of setting up an account at authorize.net or Braintree so we can take AmEx -- too many of our customers insist on paying either by AmEx or cheque.
For more info about the USD-AmEx-in-Canada problem, see: http://www.freshbooks.com/blog/2008/09/25/freshbooks-now-acc...
Note that it is possible to use a US payment processor for a Canadian company. The two things you need to do are:
a) Get an EIN (we haven't yet done this, but apparently it isn't too difficult, even for foreign corporations)
b) Open a chequing account at a US bank. We've done this using Harris Bank (http://harrisbank.com). Since they are a subsidiary of BMO, they are used to opening accounts for Canadian businesses.
Actually we can. The do however require that you open an account with Global Payments Inc and these guys have seriously sleazy sales tactics. They break down their fees into a multitude of categories and groups, and it is fairly unobvious what combination of these fees you are going to hit most frequently. It took me literally a week of back and forth emails with them to get an idea of what the average transaction fee would look like. It was really like pulling a tooth.
I have also dealt with Moneris. Extremely arrogant. They are really big and they basically do not care. They are also the most expensive of all that I have talked to.
Lastly I spoke with VersaPay and they first quoted me fees that were frankly exorbitant. Only after I told them the Global Payments fee level, they brought theirs to the comparable level.
In the end I haven't gone through with any of these, but if I were to pick one now I would probably give VP a try.
YMMV, etc.
1. They do have good developer support (why we went with them)
2. They charge more than others, but we were able to negotiate it down a bit.
If no better options exist, this might be an opportunity for an entrepreneur, though figuring out and complying around the laws might take some doing.
I've used them in Australia and they aren't bad. It was for payment processing of a pre-integrated shopping cart so I can't say much beyond it works, fees are straightforward and they answer the phone and will answer questions (especially sales questions) quickly via chat.
Here's a list AM supports: http://activemerchant.rubyforge.org/
I've written an ActiveMerchant plugin for ST:
We usually use PayPal or Google Checkout, but our clients often want to use their business bank's merchant service e.g. Barclays EPDQ. This can sometimes pose a problem, as we use Ubercart and have to find/develop the necessary adapter modules.
Authorize.Net is otherwise stable, though poorly documented, and works when their datacenter isn't on fire.
The rates are very reasonable ($30/month, 2-3% + $.30 per transaction), and the only weird requirement is that you have to offer PayPal as a checkout option (and we would anyway).
We had to implement it ourselves to get the customer experience we wanted (30 day free trials, that kind of stuff).
So this may be less of a downside than you suppose.
If there's a way around this I would love to know.
payments standard only supports something similar to express, although it's a totally different beast.
https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&c...
I haven't tried it yet though.
http://spreedly.com/info/payment-gateways/
I haven't used them before, but I am looking for an excuse to try them out.
https://payments.amazon.com/sdui/sdui/business?sn=devfps/adv...
However, you have to send your users offsite to a co-branded page to get them signed up, which is a pain in the ass. They also have to have an Amazon account, which many businesses don't (if you're a B2B startup).
They're based out of Victoria, BC - my hometown! They're supposed to be good, although I can't speak from personal experience.
Back in AU (I now live in Canada) I was able to get a pretty good deal and system from my local bank. I have no idea why it was not promoted online but their merchant facilities did the trick!
Very good support and very good interface. It works very well.
That being said, it's less likely for someone to sniff the info as it passes through your server's RAM than if it was stored on disk.
We use PayPal though.
full disclosure, run by friends of mine.