I've just posted a new release for the iATS payment processor extension, with improvements and bugfixes, mostly for the ACH/EFT (direct debit) function.
The details about the release are here: https://github.com/iATSPayments/com.iatspayments.civicrm/releases/tag/1.2.7
You would think that taking money over the web without the use of a credit card wouldn't be so hard in this world of international financial transactions? But it turns out that it is.
Of course, the idea is very enticing - your constituents want to support you, let's allow them to do that without having to pay so much money to the credit card companies. If we can do that on a recurring basis, we're getting to the holy grail of fundraisers everywhere.
And if you've been around for a while, you'll know that this technique is used frequently in the off-line world - you ask a donor for a void cheque and sign a card and then you can set up the direct debit (apologies for my North American bias here - the details would be different in other parts of the world).
The challenges compared to credit cards in the on-line version come from:
1. Legal framework.
When you pay by credit card, you're actually passing the risks of the transaction over to the credit card company. If things go wrong, you're legally entitled to not pay them. So that means an on-line transaction with a credit card is a different beast from a direct debit transaction, where there is no legal intermediary. Of course, that legal intermediation comes at a cost, which is why we're having this conversation.
2. Interface Localisation.
Credit cards are international, so the information you put into a form is the same all over the world. With direct debit, the format and language of how to describe your account is specific to the country. So for example, in Canada we talk about transit numbers and bank numbers, whereas in the US there's something called a routing number. Yes, and even the names and acronyms of what we are talking about are different (ACH, EFT, Direct Debit ..).
3. Financial Localisation.
As a consequence of 1., each country is responsible for the rules governing a direct debit transaction. These include rules that govern the required documentation for setting up an EFT. It also means a more complicated process of settling the transaction - it could take a week until you know whether the transaction has gone through for sure. In Europe, they have rules called SEPA, and in the UK, they have their own special direct debit process. You can see some of what this looks like here: http://en.wikipedia.org/wiki/Direct_debit
Because of all this, the direct debit code in CiviCRM and from the payment processors themselves are not as developed and the whole integration process is somewhat frontier-like.
That should give you a sense of why there aren't a lot of CiviCRM direct debit payment processors out there.