ims(cardbind-middle)绑卡中台
职责:绑卡/银行卡校验,托管页 + 通道交互。Eureka 名 ims-service(pmt 侧以 plutus-ims-service 名调它)。经 Feign 编排 pmt 的通道能力,并消费 pmt 的绑卡查询回调。
出向依赖(我依赖谁)
仓库内服务
| 目标 | 客户端/Publisher | 接口/事件 | 边类型 | 状态 |
|---|
| pmt | IPmtPayStackClient / IPmtMonnifyClient / IPmtFlutterwaveClient / IPmtFlutterwaveV3Client / IPmtInterSwitchClient / IPmtRemitaClient / IPmtSeerbitClient / IPmtZestpayClient / IPmtBudpayClient | 绑卡按通道分流(9 通道) | Feign | ✓ |
| pmt | IPmtBankServiceClient | 银行/账户服务 | Feign | ✓ |
| pmt | IPmtOrderClient | 支付订单查询 | Feign | ✓ |
| pmt | IPmtInnerService | 内部代付/代扣(IInnerPaymentService) | Feign | ✓ |
| pmt | DoBindAccountPayPublisher | 绑卡放款 | 事件 | ✓ |
| pmt | DoRepaySinglePublisher | 单笔还款 | 事件 | ✓ |
| bns | BindCardResultNotify(HttpExecutorFactory.postJson) | 绑卡结果通知 → bns /inner/bindCardCallBack | HTTP | ✓ |
| ims 自身(plutus-ims-service) | IUserInfoClient(ims-job) | ims-job 查询主服务用户信息 | Feign | ✓(自调) |
ims→bns 这条边经 HTTP 回调(类在 outgoing/bussiness/notify/),按 I*Client.java 扫 Feign 会漏。IUserInfoClient 是 ims-job 模块回查 ims 主服务(同服务自调)。
外部三方
| 目标 | 客户端/Publisher | 接口/事件 | 边类型 | 状态 |
|---|
| 支付通道 | HttpExecutor(OkHttp) | 绑卡托管页/通道交互直连补充 | HTTP | 活跃 |
| 大数据 | BigDataOutgoing(OkHttp) | 卡/用户信息查询 | HTTP | 活跃 |
| mdut | DoPushMdutPublisher | 绑卡推送触达 | 事件 | ✓ |
| Monnify 通道流 | DoBindCardSendMonnifyPublisher | 绑卡发 Monnify | 事件 | ✓ |
| 通道/外部 | DoNoticeChannelPublisher | 通道通知 | 事件 | 活跃;消费端不在仓库 |
主资金通道 HTTP 出口在 pmt,ims 以 Feign 调 pmt 为主,HttpExecutor 仅作直连补充。
入向被依赖(谁依赖我)
仓库内调用方
| 调用方 | 客户端/Publisher | 接口/事件 | 边类型 | 状态 |
|---|
| bns | IImsServiceClient | routeRedirect 绑卡跳转 | Feign | ◐ |
| bns | IImsServiceClient | bankBvnMatch | Feign | ✗ 注释 |
| fcs | IPlutusClient | (空接口) | Feign | ✗ |
| pmt | IImsCustClient | queryCardTokenByUserId、cardRepay | Feign | ✓ |
| pmt | DoBindCardQueryPublisher | 绑卡查询回调 → ims DoBindCardQueryHandler | 事件 | ✓ |
| middle-gateway | Eureka 路由 | 中台网关转发(脱敏加解密) | 路由 | ✓ |
外部 / 缺失方入口
| 入口 | 边类型 | 疑似调用方 | 出处 |
|---|
/inner/v1/paystackEnvents、/flutterwaveEnvents、/flutterwaveGetEnvents、/paystackWebPayCallback | HTTP 端点 | 支付通道 Paystack / Flutterwave(绑卡通道回调) | IInnerService / IInnerWebService |
/inner/v1/zestpayRedirect | HTTP 端点 | Zestpay 通道(跳转页) | IInnerWebService |
边界洞察
- ims 与 pmt 是双向强耦合:ims 经 Feign+事件调 pmt 做绑卡放款/还款,pmt 又经 Feign+事件回调 ims(查卡/代扣/绑卡查询回调)。绑卡-支付是一对紧耦合中台。
- 绑卡完整回路:通道回调 ims(
/inner/v1/*Envents)→ ims BindCardResultNotify 回调 bns(/inner/bindCardCallBack)。
- 通道通知事件(DoNoticeChannelPublisher)消费端在仓库内未定位,是出向悬挂点。