We started by documenting all the tables and procedures, functions, and all the data objects that are involved in the existing payment system with ER, Logical, and data flow diagrams. We also created Architectural flow diagrams using Visio to understand the java and xml based tightly coupled legacy application framework that the Insurance company used to make the payments.
Created a unified .NET and SQL DB based Payment service application where the whole business logic for ClaimsPay payment processing resides to handle. We built methods to handle both the request and feedback response of the ClaimsPay API s and handle the CRUD operations from the DB2 based Claims System. The Payment data and Claims Data are managed through this central repository whenever a payment is made, and a payment response is received.
Innovations
To tackle the performance issues arising from the sheer volume of payments and other transactions, we implemented asynchronous processing wherever possible. A classic example is the usage of Azure functions that listen to events continuously and post payment Service Bus messages with payment payloads which are processed asynchronously to make further ClaimsPay API calls. Similarly, when a response to the payment was received as feedback to update the payment status from the source payment system, it was updated synchronously without adding load to the Online Transactions.
Implemented multi-factor authentications for the payments through client email IDs and text messages with challenge questions and created a useful functionality of stored payment methods the customers were able to utilize their preferred payment method for accepting payments from the Insurance provider quicker and eliminating the need to enter their payment details all over again from scratch.
Technical Stack
The following technologies were used to implement this functionality.
- ASP.NET Core
- ASP.NET Framework
- SQL Server Database
- DB2 Database
- Microsoft Azure Function Apps, APIM, Configuration Manage.
- Azure DevOps, Octopus Deploy.
- SPLUNK logging and Dashboards.
- Unit Test Frameworks
Several automated tests, automated Unit tests, and deep ping health check mechanisms were put in place for continuous monitoring of the system’s health and core functionalities.