System Integrator (SI) ToolkitSystem Integrator (SI) Toolkit
Introduction
Management
Business Operations
Technical Integration Guide
Deployment
Technical Reference
Scheme Designs
Introduction
Management
Business Operations
Technical Integration Guide
Deployment
Technical Reference
Scheme Designs
  • Introduction

    • System Integrator (SI) Toolkit
    • DFSP Onboarding Guide and Roadmap
    • Customer Journey
  • Management
  • Business Operations
  • Technical Integration Guide

    • Technical Integration
    • Inclusive Instant Payment System (IIPS) Integration
    • Development guide for building core-connectors
    • Core Connector Testing Harness
    • Core Connector Template
    • ISO20022 and Merchant Payments.
  • Deployment

    • Overview
    • Docker Compose

      • Payment Manager Deployment Guide
      • Core Connector Guide
      • Deploying Payment Manager
      • Configuring the core connectors
      • Connecting to a Hub
      • Securing the Docker Daemon
      • Firewall Configuration in Ubuntu and AWS EC2 (t2.large)
      • Test Transfer Process
  • Technical Reference

    • API Service
    • Routing and API Specifications
    • Networking
    • Core Banking Solution (CBS) Client
    • Mojaloop Connector Client (SDK Client)
    • Configuration.
    • Core Connector Aggregate (Business Logic)
    • Error Handling
    • Integration Accounts
    • Request Handling Lifecycle
  • Scheme Designs

    • Foreign Exchange - Currency Conversion
    • Interscheme

Core Connector Guide

Understanding the Core Connector Role

The Core Connector acts as middleware between the DFSP (Digital Financial Services Provider) Core Banking System and Mojaloop, ensuring smooth transaction processing, security, and compliance.

Key Roles:

1. Transaction Processing & Routing

  • Outbound Transactions (DFSP → Mojaloop)

    • Receives send money requests from the Core Banking API.
    • Validates the request and ensures compliance with Mojaloop API standards.
    • Forwards the request to the Mojaloop Connector which forwards it to the Mojaloop Scheme for processing.
  • Inbound Transactions (Mojaloop → DFSP)

    • Listens for incoming fund transfer or account lookup requests from the Mojaloop Connector.
    • Validates the request and forwards it to the Core Banking API.
    • Receives the response and sends it back to the Mojaloop Connector.

2. API Transformation & Interoperability

  • Converts data between the DFSP's Core Banking System API format and Mojaloop’s FSPIOP/ISO20022 API format.
  • Ensures message structure, encoding, and data formatting match the required standards (ISO20021).
  • Handles currency conversion if needed for multi-currency transactions.

Summary of Core Connector’s Roles

FunctionDescription
Transaction ProcessingHandles outbound/inbound payments between the Payment Manager and DFSP Backend.
API TransformationConverts messages between Payment Manager APIs and Core Backend system API.
Security & ComplianceImplements authentication, encryption, and regulatory checks.
Error Handling & LoggingManages transaction failures, logging, and retries.
Performance OptimizationUses caching, load balancing, and monitoring tools.
Message Queue ProcessingHandles high-volume transactions asynchronously.
Reconciliation & SettlementAssists in transaction tracking and dispute resolution.

Setting Up a Development Environment for the Core Connector

Before building the Core Connector, ensure you have the required prerequisites and set up a development environment.

Prerequisites

  • TypeScript Knowledge – The Core Connector is often developed in TypeScript for maintainability.
  • Beginner Docker Knowledge – Understanding how to containerize and deploy services using Docker.
  • Git Knowledge – Version control with GitHub/GitLab.
  • Mojaloop Knowledge – Understanding ISO20022 API, Mojaloop scheme, and transaction flows.
  • Windows Subsystem for Linux (WSL) – Required for Windows users to run Ubuntu efficiently.

Step 1: Install Development Tools

For Windows Users (Using WSL)

wsl --install -d Ubuntu

Inside WSL, install dependencies:

sudo apt update && sudo apt install -y curl git docker.io docker-compose nodejs npm

Step 2: Install Node.js and TypeScript

# Install Node.js and npm
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

# Install TypeScript globally
npm install -g typescript

Verify the installation:

node -v    # Should output Node.js version
npm -v     # Should output npm version
tsc -v     # Should output TypeScript version

Step 3: Install Docker & Docker Compose

For Linux/macOS Users

sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
sudo usermod -aG docker $USER  # Allows running docker without sudo

Log out and back in for changes to take effect.

For Windows Users (Using WSL)

  • Install Docker Desktop for Windows.
  • Enable WSL 2 Backend in Docker settings.

Verify Docker installation:

docker -v         # Should output Docker version
docker-compose -v # Should output Docker Compose version

Step 4: Clone an Existing Core Connector Repository

1️⃣ Clone the Existing Repository

git clone https://github.com/YOUR-ORG/core-connector.git
cd core-connector

2️⃣ Set Up a New Branch (Optional but Recommended)

git checkout -b feature-core-connector

3️⃣ Initialize the Node.js Project (If Not Already Initialized)

Check if a package.json file exists:

ls package.json

If it doesn't exist, initialize the project:

npm init -y

4️⃣ Install Required Dependencies

npm install express dotenv axios cors
npm install --save-dev typescript ts-node nodemon @types/node @types/express

5️⃣ Verify the Setup

npm list

Next Steps After Cloning the Core Connector Repository

Step 1: Navigate to the Project Directory

cd core-connector

Step 2: Install Dependencies

Since the project is cloned, you just need to install all dependencies:

npm install

Step 3: Configure Environment Variables

Check if there's a .env.example file. If so, create a .env file:

cp .env.example .env

Then, open it and configure the necessary values (e.g., API keys, database URLs, Mojaloop connection details).

Running the Core Connector

Step 4: Build the Project

npm run build

This will compile TypeScript files into JavaScript.

Step 5: Start the Server

Development Mode:

npm run dev

Production Mode:

npm start

Testing If It's Running

Open your browser or use Postman and send a request to:

http://localhost:3000/

You should see: 🚀 "Core Connector API is running"

Last Updated:
Contributors: Paul Baker
Prev
Payment Manager Deployment Guide
Next
Deploying Payment Manager