Skip to end of metadata
Go to start of metadata

We plan on writing this integration in the following two parts so that it is as easy as possible for this to be extended to cater for other direct debit providers.

  1. An abstracted UK direct debit extension
  2. A smartdebit (http://www.smartdebit.com/website-direct-debits.html) specific extension

Requirements

Clients should add specific requirements here.

  • ability to integrate with auto renew membership functionality
  • report on cancelled / failed direct debits for follow up

Specification

Specification will be developed here.

Labels:
  1. Jul 05, 2011

    I'm just trying to clarify terminology here. Does direct debit integration mean a) making an immediately processed transaction on a debit card that, for example, withdraws money from a chequing account and deposits it in the organization's bank account before the thank you page is displayed to the CiviCRM user? If so, then the abstracted part is more about the difference between the fields for a credit card versus the bank account number (in Canada that's the institution or bank number, the transit or branch number, and the account number itself), and the processing will follow the same general lines as the existing code that handles credit cards through payment processors. Or does direct debit integration mean what people here sometimes talk about as pre-authorized payments? In this, there is a direct debit made from the constituent's bank account that is credited to the organization's bank account. Many non-profits here make periodic, usually monthly, uploads of files containing a batch of debits to made of various amounts from various bank accounts. Perhaps you mean both ideas or something else again?

    In Canada the API interfaces for the first are very similar to those for credit card processing. The later are very different, requiring Header and Footer records for the file, and providing results in a downloadable file or two. As the transfers may take days to clear just like a paper cheque, the results aren't known instantaneously.

    (Apologies for not wading through the site to find out which is which - they seemed to be talking about the system for collecting and storing bank account information, which according to the Payment Card Industry Data Security Standard (https://www.pcisecuritystandards.org/security_standards/ ) is information that does not need to be encrypted, in contrast to Credit Card information.)

    Put another way, is there overlap between SmartDebit support and ACH (http://en.wikipedia.org/wiki/Automated_Clearing_House ) in the US, which implements the second approach that is also common amongst Canadian non-profits? I'm interested in collaborating on an ACH implementation.

    Finally, do you have financial goal based on the estimate of work yet?

    1. Jul 07, 2011

      My understanding is that it is closer to the first in that the customer fills in a form (possibly an iform or is redirected to the smart banking) to authorise their bank account to be direct debited on a regular basis ( not necessarily with a debit card). The api from what I saw last I looked was similar to a credit card processing API,

      Here is an example of an NZ direct debit processor page

      https://secure.flo2cash.co.nz/donations/oxfam/Donate.aspx?channel=gen

      1. Jul 07, 2011

        An excellent form.

        I think we should plan on the form of the banking information varying by region in terms of the number and length of fields. I've attached an API document used by the major Canadian payment processor which also details the requirements for the American system.

        The drop-down list of the names of banks is nice. I'm not sure how that would work in places where there are too many for a drop-down, or where the list of thousands changes to frequently to be feasibly tracked. It always seems to be included in paper forms.

        Other names for fields for direct debit / direct deposit that a UK firm (Packt Publishing) asked me for are: IBANN (Europe), SWIFT Code (not used in N. Am.), Bank Routing Code / Bank ID, Sort Code (UK).

  2. Jul 07, 2011

    I'm not familiar with the various systems in use around the world.  I'll try and clarify what happens with a UK direct debit.

    a direct debit MANDATE is the permission for an organistion to take money from a client bank account.  This normally happens on a regular basis.  It can be for a fixed or variable amount.  Setting up the mandate is seperate from actually making any payments.  i.e. take X fixed/variable amount from my account every Y days/months/years starting from date Z until further notice.

    To set up the mandate, the client needs to give the organisation their bank account number and sort code (branch code).

    Then the organisation (normally on a regular basis) asks their direct debit provider to process all the PAYMENTS.  Once this has been done, the direct debit provider reports on success / failure direct for each mandate.

    1. Jul 07, 2011

      This is exactly the process for authorizing direct debits in N. Am. The organization getting the money needs to track the authorization. In the US it seems to be common for the authorization to be for a certain number of payments. In Canada, it's almost always for an on-going regular amount with no end date.

  3. Jul 07, 2011

    We'd be very happy to come in on this and meet a proportion of the costs. It would be a  useful tool for us which we have been wanting to see for some time. The best example I have seen is the one Michael showed me  - https://www.concern.net/en/donate/regular/new?amount=

    It would be very helpful if the existing CiviCRM data on an individual were automatically filled in the form (name, address etc.).

    I hope I get a chance to meet you, Eileen, when you are here.

    Simon

    1. Jul 19, 2011

      Hello Simon,

      The best way to meet a proportion of the costs is on this page: http://civicrm.org/mih#ukdd.

      You'll need a credit card to make that payment.  If you don't have one, we can invoice you on behalf of CiviCRM.

  4. Jul 07, 2011

    Is it practical for the scope of this project, to make the architecture open to plugging in country-specific gateways? Such as being able to plugin a North American ACH gateway?  It will be easier to get donations to fund this project if there is a benefit (down the road) to US and Canadian nonprofts.

    1. Jul 08, 2011

      I'm starting work on a project right now that includes an ACH Gateway with Royal Bank of Canada and would like to collaborate with others on the general aspects of this. My sense is that 1) is better understood as an abstract direct debit plugin system, given the similarity between UK and N. Am. and NZ direct debit systems.

      1. Jul 08, 2011

        If you look at that NZ form it is hosted by the payment processor. I think Michael's form may have been too. In which case CiviCRM's interaction hopefully need not be too different to the way it interacts for credit cards

        1. Jul 09, 2011

          My client is interested in the second batch system for their 3 million members. This is a first step in moving away from a client server legacy system used only by central staff.

  5. Jul 12, 2011

    Has anyone investigated the approach for ACH direct debit taken by the module at:  http://drupal.org/sandbox/johnbarclay/1215340   This works with the APIs for a comany called "IPAY" (http://www.ipay.com/ )

  6. Jul 13, 2011

    Hi All
    We have been involved in Direct Debit for over 20 years with our flagship CRM products and have created a CiviCRM module which carried out the Direct Debit process. We'd be happy to walkthrough this module if needed and can contribute back if needed also.
    Let us know!
    Thanks
    Parvez
    NFPServices
    Hi All

    We have been involved in Direct Debit for over 20 years with our flagship CRM products and have created a CiviCRM module which carried out the Direct Debit process. We'd be happy to walkthrough this module if needed and can contribute back if needed also.

    Our module will produce the relevant lodgements file to send to the relevant BACS software.

    We have also done integration with a Direct Debit bureau where the direct debit mandates are held by the third party and not within CiviCRM.

    Let us know how we can help.

    Thanks

    Parvez

    NFPServices

    1. Jul 19, 2011

      Hi Parvez,

      Can you put the code in a public repository so that we can have a look?

      Thanks,
      Michael

  7. Aug 03, 2011

    Hello, 

    the requirements for UK DD are not the same as Debit Card (which is authorised prior to settlement). UK DDs are operated through BACS and they publish very specific scheme rules for electronic submitters. There are standardised messages for signing up new customers (called AUDDIS - Direct Debit Instruction), sending payment files (both Debit and Credit are possible under the scheme), receiving lists of failed Direct Debits (ARUDDs) and receiving lists of amendments and cancellations (ADACS). All of these messages are available electronically (definitions are XML) however most submitters either operate through a bureau (there are dozens to choose from) or licence their own BACSTEL-IP software from an approved supplier. If you go this route you have to go through a (reasonably thorough) accreditation process. 

    By the way if you sign up DD customers online (so called paperless DD) you need to pass separate accreditation, and your system needs to validate sort code and account numbers for validity. There are a number of third parties (Experian is one) that you can off-load this validation to; building your own database of valid sort codes and check digit rules is probably a step too far for an open-source project although I admire your ambition if you do attempt it. 

    DD capability will be a hugely useful add-on and I can offer some time and guidance to your project if you need it. I've implemented UK DD at several clients over the years.

    David

    1. Aug 03, 2011

      Thanks for the informed comment, David.

      Michael et al, just to advise you that we will be implementing direct debit batches to support one of our clients (partial spec at http://wiki.civicrm.org/confluence/display/CRM/Direct+Debit+and+Direct+Credit+-+Monthly+Batches). Their workflow currently involves paper forms that record the authorization from the donor, though I'm not familiar with the exact specifics.


Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.