Skip to main content

Message Processing Hub

The Message Processing Hub (internally AfPay) is an event-driven microservices platform that ingests, validates, deduplicates, transforms, and routes SWIFT and financial messages across the bank's messaging fabric. It is built on Spring Boot 3 / Spring Cloud Stream with Apache Kafka as the inter-service backbone and IBM MQ (JMS) for mission-critical enterprise queues — including the SWIFT Alliance Access feed.

It bridges messages between core banking (CBS/Finacle), treasury (TMS), ERP/SAP, and cross-border rails including Mastercard Cross-Border Payment Services, handling both SWIFT MT and ISO 20022 (MX) standards.

Headline capabilities

  • SWIFT + financial message routing — Apache Camel routes over a Kafka + IBM MQ dual fabric (afpay-message-processor).
  • MT ↔ ISO 20022 (MX) translation — Prowide SRU2025 (MT103/202/199, pacs/pain/camt) in afpay-message-translation.
  • Cross-border payments to Mastercard — MT103 → RemittanceRequest, OAuth1-signed + encrypted, with AI-assisted address normalization (AWS Bedrock / Claude).
  • SWIFT GPI tracking — same-day/next-day inflow/outflow Conductor workflows and MT199 status (afpay-message-tracker).
  • SFTP file routing — Redis file-level idempotency, Quartz retry, S3 fallback, plus an emergency fallback handler.
  • Dead-letter handling — DynamoDB persistence + Jira ticketing (afpay-message-dlq).
  • Archival & warehousing — DynamoDB + statement/warehouse queues.
  • Three-layer idempotency — Kafka idempotent repository, Redis, and DynamoDB versioning.
  • Full distributed tracing — OpenTelemetry + Micrometer, Jaeger, Seq.

Architecture in one line

Inbound channels (IBM MQ / SWIFT Alliance Access, SFTP, Kafka, cross-border webhook → SQS) feed a Camel-based processor that screens, translates, routes, archives, tracks, and dead-letters messages — all over a Spring Cloud Stream + Kafka backbone, deployed on AWS ECS.

Where to go next

  • Architecture — the module map, message flow, SWIFT/ISO standards coverage, and the build/deploy pipeline.