eWay Recurring payment processor extension

Published
2014-01-20 23:58
Written by

eWay is an australian payment processor that provides a seamless connection with many banks and allows for recurring payments, token payments etc.

CiviCRM has had a one off payments processor for eWay for a long time, but has lacked one for recurring payments and now it is finally here!

This payment processor has had a long history and there are many people to thank in it’s evolution.

I started the process several years ago, creating a processor that scraped emails checking for sucseful recurring payments. This work was undertaken with Community Builders for Voiceless initially.

It was then refactored into using eWay’s token based recurring payments API by Henare Deegan.

Finally, to make it work for all users and not just hard coded to work for specific clients I undertook another update to the code (also making it compatible with several versions of CiviCRM) with sponsorship from RIGPA.

There is more work to be done with this extension, but it should work reasonably well, as this involves payments, you should do your own testing before using it live.

Instructions for installation are to be found on the module page and in it’s read me file.

Download here and let me know your feedback.

Comments

Chris,

I've made a number of improvements to @Henare's processor, which you should consider including. See my pull request on @Henare's repository at https://github.com/henare/CiviCRM-eWay-recurring-payment-processor/pull/15 or my repository at https://github.com/kenwest/CiviCRM-eWay-recurring-payment-processor

  • Added support for all frequencies, eg 2 weeks, 3 months, etc

  • Added support to limit the number of instalments. Now, if there is a limit to the number of instalments, it counts the number of Contributions made, and Completes the Recurring Contribution if the limit has been reached.

  • Removed hardcoding of Payment Processor Id. My implementation now supports multiple Payment Processors of type eWAY Recurring.

  • Set more data in the contribution (Net Amount and Invoice Id, etc)

  • Set more fields in the confirmation email. For instance, include the Thank You text from the Contribution Page

  • Added support for modifying and cancelling the recurring payment, including links in the confirmation email.

  • Send an email when the recurring contribution is submitted, so the donor doesn't need to wait for the batch to run before they get some sort of confirmation

  • Set 'JobDesc' to '' since 'description' prevents the eWAY Business Centre from editing the Token Customer

  • PHP bug: https://bugs.php.net/bug.php?id=49669. issue with managed customer Id values greater than 2147483647 - this fix is by @VinceMD

Ken

Wow… When did you make these? First I'd ever heard of them! I did fork from his initially.

I'll look int it when I get some time, shouldn't be too much of a problem to incorprorate.

Chris,

You've saved me a lot of work! I was considering how to integrate the processor into the Job framework, and you've done that as well as packaging it as an extension.

My version only supports 4.4 as that's all I need. I've tested my version against 4.4 and I'm ready to go live with it.

Having seen what you've done, I'll hold off implementing until i've checked out your work more closely. I want to see if it's better to go live now and upgrade to a merged version later, or wait and implement the merged version.

As my deadlines might be closer than yours, how about I take an initial look and make a comparison? (Investigating what features are easily merged, which aren't etc.) I have your LinkedIn details so might continue this conversation offline.

Thanks, and congratulations on releasing this extension!

Ken