业务故事站
P5 Swift 已实现 PoC

结算场景:从发射服务费到在轨救援

航天行业的钱怎么流动?本主题用 4 个故事讲清已落地的结算 PoC:发射服务费 5000 万 EUR 全链路、在轨服务小额加注即时结算、联合项目日终对账、保险理赔(aero INSURANCE 扩展)。登录 admin/admin1(端口 18084),可跑 POST /api/v1/demo/run 一键复现;星座/链路为仿真数据,国密与结算为真实代码。

财务总监 结算专员 保险理赔员 项目会计 pacs.008 对账 共 4 个故事

能 / 不能速览

✅ 已实现(PoC)
  • GAC 发起 pacs.008 客户信用转账(ISO20022 真实生成/解析),经星地仿真链路回传 HCC
  • 国密全链路:SM3 摘要 + SM2 签名 + SM4-GCM 端到端加密信封,篡改报文拒绝(/security/tamper-test)
  • 结算前合规筛查(制裁名单 + KYC + LLM 辅助降级)与风控评分(0-100 三档)
  • 系统内复式记账:A 扣款 + 手续费(万二)+ B 入账,借贷平衡校验 + 日终对账报告
  • pacs.002(ACCP/RJCT)回执,GAC 支付状态机 DRAFT→SIGNED→SENT→ACKED
  • 结算/分录/支付/审计全部落库,审计哈希链防篡改
⛔ 当前做不了
  • 星座拓扑/链路延迟/丢包为仿真数据,不连真实卫星与地面站
  • 跨行结算经 CIPS 是内存仿真(MockCIPS),不连真实 CIPS/SWIFT 网络
  • 多币种兑换是规划项:账户为单币种(演示全 EUR),跨币种支付会被一致性校验拒绝
  • 不接 RTGS;HLI 紧急支付无真实星间链路,秒级指内部结算引擎本身
  • AML/KYC 名单与 KYC 记录为虚构仿真数据,结论不构成真实合规依据

适用角色

本主题面向四类财务与结算角色:

  • 商业航天 / 卫星运营商财务总监:发起发射服务费、卫星采购等大额跨境结算。
  • 结算专员:操作 GAC 发起支付、跟踪支付状态机与回执、处理异常。
  • 保险理赔员:航天保险理赔款结算(aero INSURANCE 扩展字段)。
  • 项目会计:联合项目多方资金的对账与日终报告核对。

能力速览(已实现)

报文引擎(pacs.008 优先)

pacs.008 / pacs.002 真实生成与解析(encoding/xml 零新依赖),MT103 五块结构,aero.* 航天扩展块(8 种服务类型)。

国密全链路

SM3 摘要 + SM2 签名 + SM4-GCM 加密信封;篡改密文/签名/载荷全部拒绝并返回明确错误(M5.5 收口)。

合规 + 风控双防线

结算前 CheckPayment(名单精确/模糊 + KYC + LLM 辅助降级)→ PASS/HIT/FLAG;RiskEngine 评分 0-100 三档决策。

复式记账 + 手续费

PostDouble 借贷相等原子记账(借减贷加),万二基点手续费 + Min/Max 夹取,MsgID 幂等防重复入账。

对账与审计

借贷平衡实时校验 + 账户日终汇总(期初/入/出/期末);结算/分录/支付落库,审计哈希链防篡改。

一键端到端演示

POST /api/v1/demo/run 十步流水:生成→签名→加密→链路→解密→合规→风控→结算→对账→回执,独立引擎不污染正式数据。

调整指南(怎么调整)

  • 调整演示金额:/demo/run 传 amount_cents 可改金额——金额越大风控评分越高,可观察 LOW 自动通过 / MEDIUM 人工复核的差异。
  • 调整航天服务类型:svc_type 传 LAUNCH / IN_ORBIT_SVC / INSURANCE 等,LAUNCH 与 SAT_PROCUREMENT 触发风控加分。
  • 调整链路仿真:POST /network/config 调丢包率 / 延迟,观察网关缓存补发;POST /network/link/:area/offline 模拟断链恢复。
  • 调整账户:POST /admin/accounts 开户(币种限 ISO 4217),跨币种支付会被一致性校验拒绝。
  • 演示命中拦截:把收付款方改成制裁名单里的虚构实体名,观察合规 HIT 阻断流水中断。

做得好的场景(已实现)

这套结算 PoC 最擅长"在地面金融网盲区发生的航天支付"完整链路演示:
  • 发射服务费全链路:5000 万 EUR 从报文生成到对账回执十步一次跑通,冒烟 16/16、前端 E2E 33/33 通过。
  • 国密安全:SM2/SM3/SM4 真实算法,篡改报文拒绝演示(链路 CRC 无法识别"篡改后重算 CRC",端到端加密才是最后防线)。
  • 内部结算确定性:复式记账 + MsgID 幂等,同一报文重复提交返回首次结果,不重复入账。
  • 对账可查:借贷平衡 + 账户日终汇总 + 余额与分录链一致性校验,账实双轨。

限制与不足

以下是明确的边界,先知道再读故事:
  • 仿真域:星座拓扑 / 链路延迟丢包 / 演示账户 / 制裁名单 / KYC 记录均为仿真数据,非真实系统。
  • 跨行不真实:MockCIPS 为内存仿真,不连真实 CIPS/SWIFT;GetStatement 对账单返回空条目。
  • 单币种:演示账户全 EUR,多币种兑换 / 汇兑损益是规划项。
  • 无真实 RTGS / 星间链路:"秒级"指内部结算引擎(内存 + 复式记账),链路往返为仿真延迟。
  • 合规非监管级:名单为虚构演示名单,结论不能作为真实合规依据。

场景故事

故事 1 蓝箭给 EuroSat 结算 5000 万 EUR 发射服务费:pacs.008 十步全链路跑通
背景
林总,星耀航天财务总监。2026 年 8 月,蓝箭航天为欧洲运营商 EuroSat 完成发射里程碑,需支付发射服务费 5000 万欧元尾款。她在 LightSwift 演示环境(端口 18084)用一键演示完整验证这笔跨境结算:从 GAC 报文生成到 HCC 结算回执,十步一次跑通。
传统做法对比
传统跨境结算走 SWIFT + 代理银行:5000 万欧元在途 2~3 天,中间行按笔收费,报文路由经过多国地面节点。PoC 用星地仿真链路(延迟 20-50ms、默认零丢包)+ 地面 HCC 结算引擎,把全链路压进一次演示。
角色
财务总监(发起演示);结算专员(跟踪状态机与回执);HCC 系统(合规/风控/结算自动执行)。
操作步骤
  1. 登录 admin/admin1,SwiftGAC 页面发起支付:默认 5000 万 EUR、LS-CN-0001-BJ → LS-FR-0003-PAR,或直接调 POST /api/v1/demo/run
  2. GAC 生成 pacs.008 XML(GeneratePacs008)+ CreatePayment 置 DRAFT
  3. 国密签名(SM3 摘要 + SM2 签名)→ SIGNED
  4. SM4-GCM 密文信封(HCC 公钥端到端加密)→ 星地链路(演示含断链缓存补发)
  5. HCC 解密验签 + 解析校验 → 合规 PASS → 风控评分(巨额+LAUNCH 触发人工复核放行)
  6. 内部结算复式记账:A 扣 5000 万 + 手续费万二 + B 入账 → SETTLED
  7. 对账 Balanced=true → pacs.002(ACCP)回执 → GAC 置 ACKED
系统响应
真实返回(POST /api/v1/demo/run):
{"demo_id":"DEMO-...","success":true,"steps":[
 {"step":6,"name":"合规筛查","status":"success",
  "data":{"status":"PASS","level":"NONE","kyc":"KYC_OK"}},
 {"step":7,"name":"风控评估","status":"success",
  "detail":"风控决策=MEDIUM(评分 65),HCC 人工复核后放行",
  "data":{"score":65,"level":"MEDIUM","approved":false}},
 {"step":8,"name":"结算","status":"success",
  "data":{"settlement_id":"STL-...","status":"SETTLED",
          "amount":"50000000.00","fee":"10000.00"}},
 {"step":10,"name":"结算回执","status":"success",
  "data":{"payment_status":"ACKED"}}]}
手续费 5000 万 × 万二 = 1 万元整。
结果洞察
一次演示十步全绿:报文生成、国密签名加密、星地链路(含断链恢复)、合规风控、复式记账、对账、回执全部真实执行;审计事件 swift.demo.run 落库可查。对财务而言,"钱怎么从 A 到 B"每一步都有状态、有分录、有审计。
调整建议
改 amount_cents 演示不同金额的风控分档;改 svc_type=LAUNCH 观察风险加分;支付成功后到 SwiftHCC「交易」「对账」「风控」标签分别核对结算、分录、审计。
动手试一试
登录 admin/admin1 → 打开 /swift/hcc「风控」标签点"一键演示"按钮(等价 POST /api/v1/demo/run),逐条看 10 步结果与审计;再到 /swift/gac 发起一笔真实支付并回执,看支付状态机走完 DRAFT→SIGNED→SENT→ACKED。
限制提示
仿真域:星座/链路/账户为演示数据,链路延迟丢包为参数化仿真;不连真实 SWIFT/CIPS,无 RTGS。演示使用独立内存引擎,不污染正式账户与结算。
故事 2 在轨服务加注费即时结算:200 万 EUR 内部结算自动通过
背景
佐藤,日本在轨服务商"轨道前线"运营总监。2026 年 8 月,一颗 GEO 卫星燃料告急,加注服务费 200 万欧元需要尽快到账才能开工。双方都在 LightSwift 系统内开户,走系统内结算:报文经星地仿真链路到达 HCC,结算引擎即时完成。
传统做法对比
传统跨境电汇要 1~5 个工作日,等款到账卫星早就凉了;传统路径也没有"双方在同一系统内开户"的通道,信息流与资金流要拆两套流程。PoC 中内部结算由内存账户存储 + 复式记账即时完成,链路往返为仿真延迟。
角色
在轨服务商运营总监(调度);客户(卫星运营商)财务(付款方);结算专员(跟踪回执)。
操作步骤
  1. 客户财务在 SwiftGAC 发起 200 万 EUR 加注服务费(amount_cents=200000000),svc_type 填 IN_ORBIT_SVC
  2. 报文带 aero.* 扩展块:任务编号、服务类型、合同编号,随 pacs.008 XML 生成
  3. 国密签名 + SM4-GCM 端到端加密 → 星地仿真链路送达 HCC
  4. 合规筛查:付款方 KYC_OK → PASS
  5. 风控评估:金额 2 亿分超大额阈值(+30)、IN_ORBIT_SVC 不加分 → 评分 30,LOW 自动通过
  6. 内部结算复式记账 → SETTLED,pacs.002(ACCP)回执 → ACKED
系统响应
真实返回的风控与结算:
{"step":7,"name":"风控评估",
 "detail":"风控自动通过(评分 < 40)",
 "data":{"score":30,"level":"LOW","approved":true,
         "reasons":["大额交易:2000000.00 > 1 亿分(+30)","评分 < 40:自动通过"]}}
200 万 EUR 属于"大额"但未到"巨额",也不涉高风险服务类型,评分 30 直接放行。
结果洞察
系统内开户双方即时结算,200 万 EUR 自动通过无需人工复核;每笔有签名、有密文、有分录、有审计。对"以分钟计的生命线支付"而言,内部结算引擎 + 国密全链路给出了可复现的演示路径。
调整建议
把金额调到 500 万 EUR 以上(>5 亿分)可观察"巨额 +50";把 svc_type 改为 LAUNCH 可观察高风险服务加分;多笔加注可建模板减少手工录入。
动手试一试
SwiftGAC 发起一笔 200 万 EUR、svc_type=IN_ORBIT_SVC 的支付 → 观察状态机 SENT;回执 ACCP 后 ACKED;到 SwiftHCC「交易」看结算、到「对账」看分录与借贷平衡。
限制提示
仿真域:"秒级"指内部结算引擎(内存 + 复式记账),链路往返为仿真延迟;URGENT 优先级在路由模型定义但 HTTP 流程未强制使用;跨行依赖 MockCIPS(不连真实网络)。
故事 3 国际联合项目对账:多账户研发费日终汇总一键对平
背景
刘会计,月球科研站国际联合项目的财务协调人。项目由中、欧、日多方参与,每月各参与方要向总承包商支付研发费。以前月底她要手工汇总各家到账流水,加班 3 天勉强对平;现在她在演示环境为各方开立系统内账户,每笔支付自动入账,月末一键生成日终对账报告。
传统做法对比
传统手工对账要逐笔核对银行回单、拆汇率、对时间差,每月 3~5 天,错一笔来回发邮件确认。PoC 的对账(hcc.Reconcile)自动校验借贷平衡 + 各账户期初/期内入/期内出/期末,还校验"余额与分录链一致"——手工改余额会被当场标为异常。
角色
项目财务协调人(开户 + 对账);各参与方财务(发起支付);审计人员(查看分录与审计)。
操作步骤
  1. 在 SwiftHCC「账户」标签为中方 / 欧方 / 日方各开一个 EUR 系统内账户
  2. 各方通过 SwiftGAC 各自发起研发费支付,每笔走合规 + 风控 + 内部结算
  3. 月末调 GET /api/v1/admin/reconciliation 生成对账报告
  4. 核对 balanced、matched_count、各账户期初/期内入/期内出/期末
系统响应
真实返回(对账报告):
{"code":0,"data":{
 "balanced":true,"total_debit":"500000.00","total_credit":"500000.00",
 "matched_count":4,"mismatch_count":0,"diff_list":[],
 "accounts":[{"account_id":"LS-CN-0001-BJ","opening":"1000000.00",
   "in":"300000.00","out":"200000.00","closing":"1100000.00","matched":true}]}}
// 报告文本含中文表格:借贷平衡 / 差异清单 / 账户日终汇总(期初/入/出/期末/一致|异常)
借贷平衡且无差异时,报告状态为一致。
结果洞察
对账从每月 3~5 天手工核对变成一次接口调用:借贷平衡校验 + 账户日终汇总 + 防手工改余额的一致性校验三合一。各参与方"谁付了多少、账户还剩多少"一目了然,财务不再月底熬夜。
调整建议
可演示"篡改检测":直接改账户余额后重新对账,报告会把该账户标为异常(余额与分录链不一致);参与方账户可多开几个模拟多方对账。
动手试一试
发两笔方向相反的支付(A→B、B→A)后调 GET /api/v1/admin/reconciliation,或到 SwiftHCC「对账」标签查看借贷平衡与日终报告;再用前端改一笔账户余额,重新对账看异常标记。
限制提示
仿真域:演示账户全 EUR 单币种,多币种分账/自动归集规则/汇兑损益是规划项;对账基于内存 ledger 聚合,日终"期初"按首笔分录推算;CIPS 对账单(camt.053)返回空条目。
故事 4 航天保险理赔结算:aero INSURANCE 扩展字段快速到账
背景
老赵,中国航天保险的理赔经理。2026 年 8 月,一颗小卫星在轨故障触发保险赔付,赔款 500 万欧元。LightSwift 的 aero.* 扩展块支持 INSURANCE 服务类型,理赔款通过 GAC 发起、经星地链路结算到客户账户,业务语义随报文一并留痕。
传统做法对比
传统理赔 = 事故调查(数周~数月)+ 线下核赔确认 + SWIFT 电汇(2~5 天),全程 3~6 个月。PoC 中核赔确认后即可发起:报文带 aero 扩展(SvcType=INSURANCE、合同编号),合规通过后内部结算即时到账,审计留痕完整。
角色
保险理赔经理 + 核赔人(损失认定);客户财务(收款);GAC 操作员(保险商侧)。
操作步骤
  1. 核赔人完成损失认定,保险商财务在 SwiftGAC 发起 500 万 EUR 理赔支付
  2. 报文 aero 扩展块填 SvcType=INSURANCE、合同编号、任务编号
  3. 国密签名 + 加密 + 星地仿真链路送达 HCC
  4. 合规筛查(付款方 KYC_OK)→ PASS;风控评估:金额 5 亿分正好贴"巨额"阈值以下 → +30,评分 30 LOW 自动通过
  5. 内部结算 → SETTLED,pacs.002(ACCP)回执 → ACKED
系统响应
真实返回的报文扩展与回执:
{"step":1,"name":"GAC 报文生成",
 "data":{"aero":{"mssn_id":"LS-2026-042","svc_type":"INSURANCE",
   "cntrct_ref":"CSIC-POL-2026-0712","pymt_mlstn":"MILESTONE-03"}}}
// 结算回执 pacs.002(ACCP)生成 + GAC MarkAcked → payment_status=ACKED
理赔语义(服务类型、合同号)随 pacs.008 XML 一起生成、一起签名加密。
结果洞察
核赔确认后理赔款走同一套合规风控结算链路,业务语义(INSURANCE)随报文留痕;金额在阈值内的理赔自动通过,审计事件全链路可查。航天保险商对时效敏感场景有了可演示的资金通道。
调整建议
理赔金额调大可演示"人工复核"(评分 40-69)甚至"额度拒绝"(>=70)路径;可把报案、核损、理赔做报文模板减少录入;理赔款直付第三方需在收款账户配置上支持。
动手试一试
SwiftGAC 发起一笔 svc_type=INSURANCE、500 万 EUR 的支付,到 SwiftMessage 查看生成的 aero 扩展 XML;回执后到 SwiftHCC「交易」与「风控」核对结算与审计。
限制提示
仿真域:理赔核损仍在线下,Swift 只负责资金结算环节;金额过高会被风控拦截或转人工复核(可配置额度);跨行依赖 MockCIPS 不连真实银行网络。

常见问题

这些结算行为是真实的还是模拟的?

代码真实、数据仿真:pacs.008 生成解析、国密签名加密、复式记账、对账、审计落库都是真实代码;星座拓扑、链路延迟丢包、演示账户、制裁名单是仿真数据。

一键演示 /demo/run 会污染正式数据吗?

不会。演示使用独立的 GAC 客户端 + 独立内存结算引擎(openDemoAccounts 全新账户),不触碰正式引擎的账户与结算;但审计事件 swift.demo.run 按真实流水写入正式审计表。

跨行结算能用吗?

PoC 只做系统内结算;对外走 CIPS 是内存仿真(MockCIPS,接口契约真实、对端仿真),不连真实 CIPS/SWIFT 网络,camt.053 对账单返回空条目。

多币种怎么办?

演示账户为单币种 EUR;账户模型支持 20 种 ISO 4217 币种开户,但结算要求收付方与报文币种一致,跨币种支付会被一致性校验拒绝。汇率换算 / 兑换引擎是规划项。

合规筛查靠谱吗?

引擎逻辑真实(名单精确/模糊匹配 + KYC + LLM 辅助降级),但名单为虚构演示名单(UN-SIM/OFAC-SIM/EU-SIM)、KYC 为内置记录,仅用于 PoC 演示,不构成真实合规依据。

主题小结

一句话:Swift 结算 PoC = pacs.008 报文引擎 + 国密全链路 + 合规风控双防线 + 复式记账 + 对账审计,十步一键演示跑通发射服务费 / 在轨服务 / 保险理赔等航天资金流。边界:链路与名单为仿真、跨行仅 mock、单币种、无 RTGS——都是演示事实,别当生产指标。