I've been recommending the services of iATS for most of my clients' payment processing since way back in 2007, when I wrote a CiviCRM payment plugin processor for it: http://homeofficekernel.blogspot.ca/2007/12/iats-and-civicrm.html
That was a long time ago (CiviCRM version 1.8), and I've been promising myself and others that it's high time to rewrite it, because:
1. CiviCRM now has an excellent extensions architecture.
2. iATS has a new richer SOAP-based API to interact with it.
With some help from my colleague Karin and iATS themselves who helped fund it, I'm happy to report that it's now ready for public testing, at
The two things that make this more than a technical rewrite, and worth upgrading to when it's ready, are:
1. Better recurring contribution support. The old api was a "throw it over the fence and cross your fingers" kind of interface, like most of them out there today. In iATS' case, there was no reporting back of any recurring transactions, so only the first transaction got recorded in CiviCRM, and languished there in a pending state unless you manually edited it and imported any recurring transactions. The new method now captures a client token during the initial transaction, and then CiviCRM makes the recurring contribution requests using that token, as a system job. This means the subsequent transactions are better controlled and logged (e.g. changing the frequency and amount can be managed directly from CiviCRM without any access to the payment processor's interface).
2. ACH/EFT. Credit card transactions will typically cost 2-4% to the mechant in transaction processing just to the credit card company, not withstanding any additional costs of the payment processor. This can add up to quite a lot, especially for recurring transactions, so many of my clients use direct bank transfers. The challenge with these has been that they've been a manual labour-intensive process, and depend on the bank you use. But now iATS offers a service that works similarly to the credit card processing, but doesn't include that credit card company cost.
iATS services Canada, US and the UK, so testers are encouraged from all those regions. The UK does not work in the 1.1-beta1, but it looks relatively straightforward to implement - please contact me if you're interested in either testing or in sharing development and maintenance of that part of the code.