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.