开发
加密 结算 薪酬 平台
一家持牌加密支付公司

背景
一家持牌加密支付公司需要为多家客户公司、多个币种运行加密结算的薪酬发放,而这需要一套表格流程永远给不了的控制:没有任何一个人能独自动钱、每一批发放前都可验证已足额入金、每一次失败都能恢复且不会重复付款、事后每一个动作都能追溯到人。
本案例经客户同意隐去身份发布。
挑战
加密薪酬本质上是一个动钱的系统,所以硬性要求全是控制上的要求:
- 不能允许同一个人既创建、又批准、又发放一个批次 —— 职责分离必须由系统强制,而不是靠制度约束。
- 每一批在发放前都必须可验证地足额入金,多付和少付要自动发现。
- 支付失败与重试在任何情况下都不能造成重复付款,进程崩溃也不行。
- 薪资数据不能离开平台 —— 工资单必须完全在系统内生成。
- 11 种币种意味着汇率必须在付款方确认的那一刻锁定,金额运算精确到分。
我们做了什么
开发
- 显式的生命周期,而不是一个状态字段 —— 每个批次都走一套严格的状态机(草稿、总监审批、入金、发放、已付,外加显式的失败与退款分支),合法的状态流转在数据库层强制。每个角色只看到属于自己的待办队列。
- 控制下沉到应用层之下 —— 双人复核的职责分离、同时只能有一个负责人、金额运算,全部以约束和原子过程写在数据库里:用整数「分」,不用浮点,不信任应用层。每一个动钱的动作还要额外过一次 passkey(WebAuthn)二次验证。
- 能自证的入金 —— 每个批次有一个专属入金标识;确认走事件驱动,另有定时校验兜底,并在任何状态变更前独立复核余额。多入金和少入金进入结构化的处理流程,退款本身也有独立的审批闸。
- 把失败当成设计好的路径 —— 有上限的重试并防重复支付、对崩溃中断的执行做恢复扫描、重试用尽后进人工介入队列,以及每天一次的六维对账扫描,在差异变成事故之前先报出来。
- 工资单自己生成 —— 在系统内生成,链接带签名且会过期,薪资数据不经过任何第三方服务。
- 员工批量导入带逐行校验、周期性补贴与扣款按快照语义处理,界面支持三语(English、中文、Bahasa Indonesia)。
结果
- 付款批次必须经过强制审批闸,没有任何角色能绕过。
- 每一批的入金自动对账,不一致会被发现并转入处理流程。
- 失败通过有限重试、恢复扫描和升级处理解决 —— 不会出现重复付款。
- 工资单在系统内生成、链接签名且过期,薪资数据不离开平台。
- 每一个动作都能通过审计日志和按角色的看板追溯。
- 由 100 多套自动化端到端测试与分阶段验收部署验证。
- 范围
- 金融科技, 定制系统, 双人复核审批, Passkey 二次验证, 11 种币种, 三语界面
- 成果
- 一套双控制台的薪酬平台 —— 业务端加运营后台 —— 覆盖批次的完整生命周期,强制审批、资金对账、审计留痕,并由大量自动化测试和分阶段验收部署验证。
已上线