About our client

Our client is a global digital banking solutions provider specializing in helping financial institutions achieve digital transformation. Their products cater to various sectors like financial services, insurance, retail, and manufacturing. 

With a strong presence in over 100 countries, their innovative core banking system platform and suite of digital engagement tools empower banks to provide top-notch services while optimizing operational efficiency.

Reimagining banking operations: How High Peak developed financial data exchange and payment framework

Our team at High Peak developed numerous modules for the core banking system to simplify and enhance banking processes. 
This case study predominantly covers three aspects – 
Financial data exchange management: This module deals with message handling related to transactions, customer communications, and status updates. 
Payment processing system: This module creates payment orders upon receiving messages from the financial data exchange management system. It emphasizes payment validation and requires manual intervention to take the final call. Finally, it processes immediate orders or schedules future-dated transactions accordingly.
Transaction dispute management:  This system handles any transactional anomalies that need reconciliation and dispute management when an erroneous transfer occurs.
In short, the High Peak team developed an advanced core banking payment system as a part of the core banking activities. With these integrated modules in every step, it exchanges and validates data efficiently for payment processing and error resolution in the core banking system. 
We aim to streamline the end-to-end payment lifecycle, executing communication, validation, and reconciliation of payment orders without experiencing any downtime or delay.   

Seamless transaction journey from payment initiation to realization using the end-to-end payment processing management system

The payment processing management in the core banking system software is a crucial part of the financial system. It helps handle payment transactions correctly by processing incoming messages. Here’s a straightforward explanation of this module’s workflow:
Creating payment orders

1. Understanding incoming messages

It all starts when an original message comes in from an outside source. The message management system receives this initial message and determines its type. For instance, if the message type is ‘PAIN.001’, it indicates that a new payment order needs to be created. This is essentially a signal for action to be taken.

2. Create payment information through payment orders

Upon receiving the signal to create a new payment order, the message management system passes the information to the payment processing system. It grabs this information and creates a specific kind of message, called an ISO-formatted message. 
Think of this as a translator converting the information it has been given into a language (or message format) that everyone in the system can understand. Also, this ISO message is the official payment instruction.

3. Checking the payment order

Upon receiving the signal to create a new payment order, the message management system passes the information to the payment processing system. It grabs this information and creates a specific kind of message, called an ISO-formatted message. 
Think of this as a translator converting the information it has been given into a language (or message format) that everyone in the system can understand. Also, this ISO message is the official payment instruction.

Verifying the account numbers – This step involves validating that both the sender’s and receiver’s account numbers are correctly formatted and valid.

Assessing the transaction amount – The module checks if the transaction amount is within the permissible limits defined by the bank or regulatory body.

Checking currencies – The Payment Module confirms if the transaction currency is valid and supported by both sending and receiving banks.

Evaluating account status – This step ensures that both the sender’s and receiver’s bank accounts are active and capable of processing the transaction.

Confirming beneficiary details –A critical step that involves verifying the correctness of the receiver’s account details to ensure smooth transactions.

Technologies used

Backend:
Node.js, NodeRed, Postgres, MongoDB, ESLint, SonarLint, Loopback, Redis, Oracle and RabbitMQ

Testing:
Backend (Unit testing and component testing): Mocha
Front-end testing: WebdriverIO