Overview
The payout gateway microservice for MEXAR international remittance system. Handles outbound disbursement to recipients by integrating with 3rd party payout providers (EasyLink, TransfeZ), processing their webhook callbacks, and emitting structured inter-service events via Webhook and Kafka to notify payout status changes. Due to compliance requirements, only TransfeZ is active in production.
Tech Stack
- Backend â Python/FastAPI
- Database â PostgreSQL
- Message Queue â Kafka, RabbitMQ
- Inter-service Communication â Webhook, Kafka
Key Capabilities
- Multi-provider Integration â Abstract gateway layer supporting EasyLink and TransfeZ; provider-agnostic design enables rapid switching as compliance requirements change
- Webhook Processing â Inbound 3rd party callback handling with structured event emission to core backend via Kafka
- Payout Status Lifecycle â End-to-end status tracking from disbursement initiation through provider confirmation
Security
- IP Whitelist â Restricted webhook callback endpoints to trusted provider IPs
- Signature Verification â Request signature validation on all inbound provider callbacks
- SSL/TLS â Enforced encrypted communication with all 3rd party providers
Design Principles
- Idempotency â Idempotent disbursement processing preventing duplicate payouts across asynchronous provider callbacks
- Extensibility â Provider-agnostic gateway abstraction enabling rapid payout partner changes driven by regulatory constraints
- Scalability â Event-driven architecture via Kafka for reliable cross-border payout processing
