How anurag171/payment-platform works
This is a Temporal-based payment orchestration platform split into workflow and activity worker services, with a gateway for REST/MQ/Kafka ingress and asynchronous response delivery. The principal journey is inbound payment normalization and translation, qualification/enrichment, value-date warehousing, MOP and clearing-rail derivation, partner and clearing processing, and audit/state persistence; repair and reversal are additional branches. The README documents the task-queue model and service responsibilities; sampled source also confirms gateway status/repair behavior and Redis correlation. Unsampled workflow wiring is shown only where the README supports it.
Main entry points: orchestration Payment gateway · PaymentProcessingWorkflowImpl.java Processing workflow · messaging Response listeners · InboundNormalizationWorkflowImpl.java Normalize workflow
Components 30
Gateway and simulation
- Payment gateway
services/payment-gateway-service/src/main/java/com/bank/payment/orchestration - Inbound listener
services/payment-gateway-service/src/main/java/com/bank/payment/orchestration/messaging/InboundMqListener.java - Response listeners
services/payment-gateway-service/src/main/java/com/bank/payment/orchestration/messaging - Payment simulator
services/payment-simulator-service/src/main/java/com/bank/payment/orchestration
Payment workflows
- Normalize workflow
services/inbound-normalization-workflow-service/src/main/java/com/bank/payment/orchestration/workflow/impl/InboundNormalizationWorkflowImpl.java - Qualification workflow
services/qualification-workflow-service/src/main/java/com/bank/payment/orchestration/workflow/impl/QualificationWorkflowImpl.java - Warehouse workflow
services/warehouse-workflow-service/src/main/java/com/bank/payment/orchestration/workflow/impl/WarehouseWorkflowImpl.java - MOP workflow
services/mop-derivation-workflow-service/src/main/java/com/bank/payment/orchestration/workflow/impl/MopDerivationWorkflowImpl.java - Processing workflow
services/payment-processing-workflow-service/src/main/java/com/bank/payment/orchestration/workflow/impl/PaymentProcessingWorkflowImpl.java - Repair workflow
services/repair-workflow-service/src/main/java/com/bank/payment/orchestration/workflow/impl/RepairWorkflowImpl.java
Activity workers
- Translation worker
services/translation-activity-service/src/main/java/com/bank/payment/orchestration/activities/TranslationActivitiesImpl.java - Enrichment worker
services/enrichment-activity-service/src/main/java/com/bank/payment/orchestration/activities/EnrichmentActivitiesImpl.java - Value-date worker
services/value-date-activity-service/src/main/java/com/bank/payment/orchestration/activities/ValueDateActivitiesImpl.java - MOP worker
services/mop-activity-service/src/main/java/com/bank/payment/orchestration/activities/MopActivitiesImpl.java - Partner worker
services/partner-activity-service/src/main/java/com/bank/payment/orchestration/activities/PartnerActivitiesImpl.java - Clearing worker
services/clearing-activity-service/src/main/java/com/bank/payment/orchestration/activities/ClearingActivitiesImpl.java - Audit worker
services/audit-activity-service/src/main/java/com/bank/payment/orchestration/activities/AuditActivitiesImpl.java - Repair worker
services/repair-activity-service/src/main/java/com/bank/payment/orchestration/activities/RepairActivitiesImpl.java - Reversal worker
services/reversal-activity-service/src/main/java/com/bank/payment/orchestration/activities/ReversalActivitiesImpl.java
State and correlation
- Payment repository
payment-common/src/main/java/com/bank/payment/orchestration/repository/PaymentRepository.java - Audit repository
payment-common/src/main/java/com/bank/payment/orchestration/repository/WorkflowAuditRepository.java - Correlation registry
payment-common/src/main/java/com/bank/payment/orchestration/correlation/PartnerCorrelationService.java
External systems
- Temporal service
- Inbound MQ
- Kafka topics
- Redis
- MongoDB
- Customer/account services
Other components
- Payment source
- Repair operator
Connections 48
- Payment source → Inbound MQ: sends payment
- Inbound MQ → Inbound listener: delivers message
- Inbound listener → Temporal service: starts workflow
- Payment gateway → Temporal service: starts workflows
- Repair operator → Payment gateway: submits correction
- Payment gateway → Temporal service: signals repair
- Temporal service → Normalize workflow: dispatches task
- Normalize workflow → Temporal service: schedules qualification
- Temporal service → Qualification workflow: dispatches task
- Qualification workflow → Temporal service: schedules activities
- Temporal service → Enrichment worker: dispatches task
- Qualification workflow → Temporal service: schedules warehouse
- Temporal service → Warehouse workflow: dispatches task
- Warehouse workflow → Temporal service: schedules value date
- Temporal service → Value-date worker: dispatches task
- Temporal service → Translation worker: dispatches task
- Normalize workflow → Temporal service: schedules translation
- Temporal service → MOP workflow: dispatches task
- MOP workflow → Temporal service: schedules MOP activity
- Temporal service → MOP worker: dispatches task
- MOP workflow → Temporal service: schedules processing
- Temporal service → Processing workflow: dispatches task
- Processing workflow → Temporal service: schedules partner work
- Temporal service → Partner worker: dispatches task
- Processing workflow → Temporal service: schedules clearing work
- Temporal service → Clearing worker: dispatches task
- Temporal service → Repair workflow: dispatches task
- Repair workflow → Temporal service: schedules repair activity
- Temporal service → Repair worker: dispatches task
- Repair workflow → Temporal service: schedules requalification
- Processing workflow → Temporal service: schedules reversal
- Temporal service → Reversal worker: dispatches task
- Partner worker → Kafka topics: publishes requests
- Clearing worker → Kafka topics: submits clearing
- Kafka topics → Response listeners: delivers responses
- Response listeners → Temporal service: signals workflows
- Partner worker → Correlation registry: registers pending
- Response listeners → Correlation registry: checks delivery
- Correlation registry → Redis: reads/writes keys
- Audit worker → Payment repository: writes payment
- Audit worker → Audit repository: writes audit trail
- Payment repository → MongoDB: persists state
- Audit repository → MongoDB: persists records
- Payment gateway → Payment repository: reads status
- Payment gateway → Audit repository: reads audit trail
- Enrichment worker → Customer/account services: enriches data
- Payment simulator → Kafka topics: publishes simulated replies
- Payment simulator → Inbound MQ: publishes synthetic input