There were many technical challenges for the project because the site integrates with 7 different external systems.
The most complex integration was with Microsoft Dynamics CRM. The CRM stores all of the campaigns and projects undertaken by the organisation as well as all donor information for all donations collected through any channel. The online donation process had to be completely automated – receiving campaign and project data from the CRM and sending it donor and donation data. So, for example, when the organisation has a new campaign they create this in the CRM which then automatically makes the campaign available on the website and tracks all subsequent donations for that campaign in the CRM.
So, the systems the site integrates with include:
- Microsoft Dynamics CRM for management of multiple entities including projects, campaigns, donations and donors.
- Ezidebit for online direct debit processing and automated credit card settlement processing
- Commonwealth Bank also for direct debit processing
- Poli which allows users to log into their online banking and make an immediate electronic money transfer
- PayPal for both singular and recurring processing
- An external PDF generation facility
- A custom-built mobile app which leverages the website logic to facilitate donating through the app
A particularly challenging aspect of the site revolves around the fact that it offers donors so much choice in terms of the way they choose to pay. Flavours include:
- Single payments
- Recurring payments
- Payments for sponsoring set items – such as a water well
Further, donors can donate to multiple campaigns and in multiple flavours in one transaction. So effectively, a custom shopping cart of sorts was built to manage the donor’s donations choices before they checkout. Then, upon checking out, the system has to go to one or more external gateways for processing of donations depending on the donor choice and amounts donated.
The site’s donor portal collates all donations made by the donor – even those done via other channels (and not the website). For example, donations could have been made in person, at a fundraising event, through the mobile app, etc... Thus, the site is tightly integrated with the CRM that stores all donor information allowing the site to show all data not just the data from their online transactions.
A functional challenge was dealing with the relatively complex donation process required by the charity’s religious affiliation. For example, each donor is allowed to specify how and where their donation is utilised and the combinations of their request must be checked to abide by the proper religious rules. All these rules are effectively controlled by data stored in custom tables.