Case Study Ongoing

International Remittance & Payment Platform

Backend Developer · National Exchange Company S.R.L.

  • Java 17
  • Spring Boot
  • Microservices
  • Spring WebFlux
  • Project Reactor
  • R2DBC
  • gRPC
  • REST API
  • RabbitMQ
  • PostgreSQL
  • Liquibase
  • Spring Security
  • Kong API Gateway
  • Redis
  • Didit (KYC / AML)

Overview

An enterprise-scale financial platform engineered to facilitate cross-border monetary transactions with low latency and high reliability. The system manages complex multi-currency exchange rate conversions, regulatory compliance checks, anti-money laundering (AML) protocols, and seamless settlement across global banking and payout networks. It is built on the same reactive microservice stack as the hospital platform — WebFlux and Project Reactor over R2DBC, gRPC and RabbitMQ between services, behind a Kong API Gateway — with Spring Security on the authorisation path, and the integrations regulated cross-border payments add: Didit for identity and AML screening, Cerved and M.I.T. for company and credit data, Namirial for electronic signature, Worldpay and corridor-specific partner banks for payout, and Infobip for customer notification.

Problem

A cross-border transfer touches several banking and payout networks before it lands, each with its own cut-off times, limits and failure modes, while the rate quoted to the sender has to hold and every party has to be screened before any money moves. Handled by hand that does not extend past a few corridors.

My role

Backend developer on transaction processing, compliance screening and bank payout integration.

Architecture

Non-blocking Spring WebFlux on Project Reactor, R2DBC over PostgreSQL with Liquibase-versioned schemas, gRPC between services and RabbitMQ for asynchronous work, behind a Kong API Gateway with Spring Security on the authorisation path and Redis caching exchange rates. Around that sit the integrations the regulated corridors require: Didit for identity and AML screening, Cerved and M.I.T. for company and credit data, Namirial for electronic signature, Worldpay together with partner banks selected by corridor for payout, and Infobip for notifying the sender.

International remittance request, verification and settlement flow A sender request enters Kong API Gateway, and Spring Security authenticates and authorises the caller. Kong routes to Spring WebFlux services for transfers, exchange rates and compliance. The services call each other over gRPC, publish payout work to RabbitMQ and persist through R2DBC to PostgreSQL, with Redis caching rates. Compliance runs a verification chain: Didit for identity and AML screening, Cerved and M.I.T. for company and credit data, and Namirial for electronic signature. A payout worker settles through Worldpay and partner banks chosen by corridor, and notifies the sender through Infobip. Sender · Web & Mobile Kong API Gateway Spring Security Transfer WebFlux service Exchange Rates WebFlux service Compliance WebFlux service RabbitMQ PostgreSQL Didit KYC / AML Payout Worker by corridor Redis rate cache Cerved · M.I.T. company data Worldpay card & payout Infobip notifications Namirial e-signature authorises gRPC gRPC publish R2DBC screens settle cache verifies pays out notifies signs
Solid lines carry a request and wait for a reply. Dashed lines hand work off and do not.

Key challenge

A payment cannot simply be retried: a duplicated payout is real money gone, and the networks downstream fail in ways that leave a transfer neither clearly sent nor clearly refused. Every step has to be idempotent and recoverable while exchange rates move underneath it, and the AML screening has to clear before settlement without becoming the slow path that holds the whole transfer up.

Result

Multi-currency transfers settle end to end on one platform — rate capture, identity and AML screening, then payout into the banking networks — with compliance part of the transaction flow rather than a manual step running beside it.