从二清合规看交易系统架构:以良久团购“资金/信息流分离”为例 📅 2026/8/9 10:09:12 本文仅从支付系统设计与合规架构角度进行技术拆解不涉及任何商业价值判断。做电商中台或私域 SaaS 的架构师大多都在支付模块踩过一个坑——二清。很多业务方会提这样一个需求“用户付款后进我们公司账户然后系统自动把佣金算好隔天打给下游团长。” 从产品角度看这是分账从央行 217 号文来看这叫“无证机构从事支付结算业务”。最近拆解了良久团购的交易链路很有意思。作为一个百亿规模的私域体系它选择了一条在技术人看来非常“退化”、但在合规上极度保守的路完全阉割平台的资金收付能力用“人工录单 链式转账”替代支付接口。本文从支付系统架构师的视角聊聊这种设计的实现逻辑与技术代价。一、先界定什么是系统层面的“二清”红线抛开法务条文看代码。典型的违规私域系统支付回调长这样// 伪代码典型的二清风险实现 PostMapping(/pay/callback) public void payCallback(PayNotify notify) { // 1. 用户钱进了平台商户号 Order order orderService.get(notify.orderId); // 2. 平台账户余额增加资金沉淀 platformAccount.balance notify.amount; // 3. 系统记录待分账明细 ListSubMerchant sellers commissionRule.calc(order); for (SubMerchant s : sellers) { subAccountService.addPending(s.id, s.shareAmount); // 钱还在平台账上只是改了数据库字段 } }技术判定二清的核心要素有两个资金滞留平台在央行许可之外实际占有了用户资金哪怕是毫秒级挂账对外结算平台代替银行向不特定的二级商户团长做资金划转。只要你的系统里有platformAccount这个虚拟总账并且向下游做withdraw打款在监管眼里你就是一家“影子银行”。二、正统解法资金存管 vs 官方分账合规架构一般只有两条路方案 A银行存管/持牌机构清分用户 → 银行备付金账户银行根据平台上传的《分账指令》→ 直接打给子商户平台碰不到本金只碰指令。技术特点需要对接银行存管系统API 重准入门槛高一般要求企业资质、实缴资本支付费率高结算周期 T1/T2。方案 B微信/支付宝官方分账用户 → 平台商户号微信收付通调用profit_sharing接口微信直接将钱分至二级商户账户。平台最多留一部分“待分账资金”受支付机构监管。技术特点架构清爽有标准 SDK但同样要求二级商户进件身份证、营业执照且分账层级有限通常不超过 3 级。三、良久方案主动“去支付化”良久的技术选型非常极端直接把支付模块从系统中删掉了。它的系统不是一个“交易平台”而是一个“进销存单据系统”。1. 支付层的彻底离线系统没有任何聚合支付回调入口。消费者的支付行为发生在微信私聊转账/红包这是一个纯线下行为不在系统审计范围内。2. 录单接口取代收银台团长在 App 里操作的不是“发起支付”而是“确认收货并下单”// 伪代码良久类系统的核心接口 PostMapping(/order/manual-create) public Order manualCreate( Auth User leader, // 当前团长 Long customerId, // 终端客户 ListSkuItem items) { Order order new Order(); order.setCreator(leader.getId()); order.setCustomer(customerId); order.setStatus(OrderStatus.WAIT_UPSTREAM_PAY); // 注意这里没有 paymentNo没有 amount 字段 orderRepo.save(order); return order; }系统只知道“谁卖给了谁什么货”不知道“钱在哪”。3. 层级结算下沉到人工团长扣完利润通过手机银行或微信把剩余货款转给上级。上级在自己的后台点一个按钮confirmReceived(amount)—— 这相当于确认“下级把批发款给我了”。四、链式记账没有资金流怎么记账没有银行流水会计上叫“账实不符”系统上叫“数据孤岛”。良久用了一套类似区块链轻量化的链式确认机制状态机设计终端下单 ↓ [团长] 创建录单ORDER_CREATED ↓ [团长] 向上级转账线下 ↓ [上级] 点击“确认收款” → 系统锁住上级库存UPSTREAM_PAID ↓ 库存向上逐级传导直到总代 ↓ [总代] 公对公打款给平台 → 平台仓库收到“已付款”标记 ↓ [平台] 统一发货 → 订单变为 SHIPPED关键逻辑系统不校验“钱到了没”只校验“上级有没有确认收到下级的钱”。下层订单的生效依赖于上层状态的变更。这是一种反向库存质押你不确认收款我就锁住你的提货额度。虚拟账本而非资金账本系统内部跑的是一个“头寸占用表”层级今日已录单金额上级已确认收款可用库存额度团长A12,00010,000200件一旦上级发现下级没转账却乱录单可以直接在后台冻结其录单权限。这把风控压力从“资金安全”转移到了“信用管理”。五、风控模块如何防止链式跑路去掉了担保交易最大的技术挑战是道德风险。系统必须解决一个问题下级转了钱上级赖账不确认怎么办良久这类系统的风控架构通常包括三层1. 虚拟保证金非资金池系统内设一个“积分/保证金”账户但这笔钱不是用户充值的而是平台赠送或任务奖励形成的虚拟数字不对应真实人民币规避二清。当纠纷发生时系统可扣除虚拟分但不碰现金。2. 超时熔断如果一笔录单在 24h 内上级未确认收款系统自动触发暂停该上级的发货权限推送告警给更高级别大批发商人工介入。3. 信用分系统Credit Score类似支付宝芝麻分基于历史确认率、投诉率计算。分数低于阈值强制要求“先款后货”即上级收到钱才能录单甚至降级。本质上这是用一套 ERP 的信用体系替代了第三方支付的担保能力。六、数据一致性人工录入的脏数据怎么治支付系统最爽的是银行回调是唯一信源天然幂等。录单系统最痛的是人会说谎。幂等与防重系统必须限制同一消费者同一 SKU 在短时间内的重复录单防止团长为了冲业绩造假单。if (orderRepo.existsByCustomerAndSkuToday(customerId, skuId)) { throw new BizException(请勿重复录单请联系客服核实); }对账系统差额核对每晚跑批不是对银行流水而是对层级差额上级看到的“下级应付货款” 下级系统里的“已录单总额 × 批发价”两边数字对不上标红预警。这也是为什么良久必须有强大的“中台运营团队”——系统只负责报警人负责打电话催账。七、架构师的反思这是好设计吗站在纯技术角度这绝对是一个技术倒退放弃了实时结算引入了海量人工对账成本无法做供应链金融因为没有真实资金闭环扩展性差一旦量级再涨线下转账会先崩。但站在合规架构角度这是一个极致避险设计系统里没有任何“代收代付”的代码路径没有资金池监管无法从接口层面定义你为支付机构把“资金流”交给微信支付C2C 转账和银行B2B 转账平台只做信息撮合。技术圈常说架构是权衡Trade-off。良久用工程效率换合规安全用运营成本换生存空间。八、给开发者的建议如果你正在做私域系统或 S2B2C 工具我的建议是别轻易自建资金池。哪怕老板逼你也要在代码评审里留下“合规红线注释”。能用官方分账就用官方分账。微信支付分账、银行存管虽然麻烦但能保护你和公司。小体量别学良久。没有几十人地推中台你搞人工录单一个月就会被坏账拖死。系统设计时把“资金流”和“信息流”当成两个独立域。信息流可以平台化资金流必须下沉到实体。结语良久团购的案例告诉我们有时候架构师最重要的决策不是“用什么新技术”而是“不做什么功能”。砍掉支付模块看起来很傻但在私域这片红海里活下来的往往是最懂“不碰红线”的那个。免责声明本文仅讨论支付系统架构设计文中涉及的商业模式仅供技术研究不构成任何实施建议。