Background
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.
Solution
The Muslim Aid Australia Website takes advantage of a host of Kentico features. Much of the more complex facilities were built using custom web parts and taking advantage of the flexible data storage facilities offered by Kentico.
For example, the different campaigns that Muslim Aid offers (that donors can donate against) are stored in documents in the content tree. As new campaigns are added to the external CRM a scheduled task checks for these and dynamically creates new documents as needed.
Actual donation data is stored in custom tables as well as being sent to the CRM for storage. Custom tables are also leveraged to store data surrounding business rules pertaining to how donations are used.
Further, some in-built features were leveraged to speed development time such as the blog and newsletter facilities.
Finally, a mobile app was also developed concurrently with the website. Since the site is responsive, the mobile app actually leverages the actual website for many of its functions. For example, users who donate via the mobile app are actually leveraging the website donation page itself and thus are channelled through the same website back-end processes as anyone donating on the website.
Visit the Site