Setting up payments on a NSW Government website
The NSW Customer Payment Platform (CPP) is the NSW Government's preferred and recommended whole of government payment platform. It provides a suite of services for Government Departments requiring credit card processing such as EFTPOS or POS.
The benefits of this system includes:
- A secure gateway for online payments
- Supports many payment processors including the major banks, Paypal and Apple pay
- Reduced cost of payment processing / transactional merchant
- No up front set up fees
- Single cart checkout for multiple items
The business use
If you are a Government Agency located in NSW; and you want to accept payments online from your client base - then this product may be suitable for you.
Morpht has recently implemented such a system for a NSW Government agency that required integration with the NSW CPP. The challenge included the integration of MS Dynamics CRM to feed payment information through to the Drupal website; and then to implement a module for the CPP functionality. The module that Morpht developed allows customers to make the payments online in a secure session and report back to the CRM on the payment outcome.
This service provides a new level of convenience for customers who can now hop online to pay for government services. At the same time it has alleviated staffing pressures, providing a high level of automation for repetitive and time consuming tasks.
Fig 1.1 The payment process
Integrating with the CRM
When implementing a payment system it is important to produce a solution that fits with the current systems. In this case the Government agency we were working with was using Microsoft Dynamics CRM. They had extended their CRM to capture the initial engagement with their clients, including the raising of an invoice that was being emailed out.
One of the first tasks that Morpht needed to do was to ascertain the required fields from the CRM and then map them to fields within Drupal. This meant that as invoices were raised, Drupal was able to capture the information. On the outside this seems like quite a simple requirement but there were several things to consider.
Not only did the Drupal website need to perform the connection between the CRM and the payment gateway; it also needed to collect information that would be useful for the customer and the CRM. Information that needed to be collected included:
- Customer invoice ID, Amount paid & payment date
- Payment outcome such as success or failure
- Collection and reporting of the payment ID reference
- Further payment information such as balance amount for partial payments
Complexities of GST
Handling of GST charges can be incredibly complex. For Government Agencies some charges are GST ex; while others are GST inc; and in some cases Government Departments may elect to absorb the GST charge.
The system that Morpht developed had to factor all of these scenarios in so that it could report back to the CRM in an accurate manner.
Calculating the Payment Gateway charge
All payment gateways charge for the service; as a consumer you generally never see this cost as the vendor generally absorbs this cost. However, as a Government Agency reconciling your accounts you will need to know what that charge is.
The charge is normally a percentage of the transaction fee. When integrating with payment gateways this charge is generally between 2 to 4% of the transaction fee. Unlike a store, charges can differ depending on the client - it may differ due to the client having a pension card, or requiring additional services, or the charge being valued based on another consideration such as land tax (Note: One of the advantages of using the NSW CPP is that the transaction fee is lower than general market rates.)
When developing the solution Morpht provided a field to help calculate what the payment processing fee is for each order; this was reported back to the CRM so that the Government Agency could easily reconcile its accounts.
Fig 1.2 Calculating the payment gateway charge
Checking the payment outcomes
Other considerations included the tracking of customer actions. For example:
- What happens if a customer clicks on the email link again, forgetting that they had already paid the account.
- What happens if a client has made a progress payment via other means such as over the counter or via phone.
The payment system on the website needed to be smart enough to know about these scenarios.
It needed to know if a customer had already paid - and in this case it should know not to provide a payment page, but a ‘thank you; you have paid already’ page.
Likewise, if a partial payment has already been made, the Drupal website needs to know the balance owing, and use this amount to populate the payment amount for CPP to charge - making it easy for the client to finalise their payment.
Security, Security, Security
All important to this project was security.
It was vital that personal information was not stored on a publicly accessible website. The information stored on the website is the bare minimum required to complete the required task; as such information like names, phone numbers and addresses are not included in the order information. Each order is tracked via a unique ID that is only relevant to the website and the CRM and their communications.
Likewise, the use of the NSW Customer Payment Platform (CPP) means that all of the financial part of the transactions actually occur within CPP. CPP controls the processing of the payment between the customer and the nominated payment mechanism whether that is a bank payment (credit card), a wallet such as Apple Pay or a third party service such as PayPal. This system meets the stringent requirements including the mandatory PCI compliance associated with the collection of online payments.
The solution requires a lot of thought and planning, once integrated however it provides a great additional payment offering for Government Department clients. It is highly flexible and provides what is becoming an expected service offering as we increasingly embrace the digital economy.
The outcome for the agency we implemented this for saw a fantastic result. Previous to implementation, the agency had received 10 phone orders for payments in the prior year. The payment system went live in June 2021 (7 months ago) and has already completed over 1,400 payments.