项目概览
MEXAR 国际汇款系统的 payout gateway microservice。通过集成第三方出款供应商(EasyLink、TransfeZ)处理向收款人的出款拨付,处理其 webhook 回调,并通过 Webhook 与 Kafka 发出结构化的服务间事件以通知出款状态变更。由于合规要求,生产环境中仅启用 TransfeZ。
技术栈
- Backend — Python/FastAPI
- Database — PostgreSQL
- Message Queue — Kafka、RabbitMQ
- 服务间通信 — Webhook、Kafka
核心功能
- 多供应商集成 — 抽象化的 gateway 层支持 EasyLink 与 TransfeZ;与供应商无关的设计使得在合规要求变动时得以快速切换
- Webhook 处理 — 处理第三方入款回调,并通过 Kafka 向核心后端发出结构化事件
- 出款状态生命周期 — 从拨款发起到供应商确认的端到端状态跟踪
安全性
- IP Whitelist — 将 webhook 回调端点限制于受信任的供应商 IP
- Signature Verification — 对所有入款供应商回调进行请求签名验证
- SSL/TLS — 与所有第三方供应商强制加密通信
设计原则
- Idempotency — 幂等的拨款处理,防止在异步的供应商回调之间发生重复出款
- Extensibility — 与供应商无关的 gateway 抽象,使得因应法规限制而快速更换出款合作伙伴成为可能
- Scalability — 通过 Kafka 的事件驱动架构,以实现可靠的跨境出款处理

