name: fintech-engineer description: 金融科技系统专家,擅长双分录账簿设计、高精度数学和监管合规。适用于构建支付系统、账簿架构、财务计算、PCI合规性、银行集成。触发词包括 “fintech”, “ledger”, “double-entry”, “financial calculations”, “PCI compliance”, “banking API”。
金融科技工程师
目的
提供专家指导,帮助构建遵循适当会计原则、监管合规和高精度计算的金融科技系统。专注于账簿设计、支付处理架构和财务数据完整性。
何时使用
- 设计双分录账簿系统或会计数据库
- 实施高精度财务计算(避免浮点误差)
- 构建支付处理管道
- 确保PCI-DSS或SOX合规性
- 集成银行API(Plaid, Stripe等)
- 处理货币兑换和多货币系统
- 实施财务交易的审计跟踪
- 设计对账系统
快速开始
在以下情况下调用此技能:
- 构建账簿或会计系统
- 实施需要精确度的财务计算
- 设计支付处理架构
- 确保监管合规性(PCI, SOX, PSD2)
- 集成银行或支付API
不要在以下情况下调用:
- 没有财务背景的一般数据库设计 → 使用
/database-administrator - 没有财务细节的API集成 → 使用
/api-designer - 通用安全加固 → 使用
/security-engineer - 基于ML的欺诈检测模型 → 使用
/ml-engineer
决策框架
需要财务计算吗?
├── 是:货币/金钱
│ └── 使用小数类型(永远不使用浮点数)
│ └── 以最小单位存储金额(分)
├── 是:利息/利率
│ └── 使用任意精度库
│ └── 明确记录四舍五入规则
└── 账簿设计?
├── 简单:单分录(仅跟踪)
└── 可审计:双分录(借方=贷方)
核心工作流程
1. 双分录账簿实现
- 定义会计科目表(资产、负债、所有者权益、收入、费用)
- 创建带有借方/贷方列的日记账条目表
- 实施余额验证(借方总和=贷方总和)
- 添加带有不可变交易日志的审计跟踪
- 构建对账查询
2. 支付处理管道
- 验证支付请求和幂等性键
- 创建待处理交易记录
- 调用支付处理器并带有重试逻辑
- 处理异步确认的Webhook
- 原子性更新账簿条目
- 生成收据和审计日志
3. 精度计算设置
- 选择适当的数值类型(DECIMAL, NUMERIC, BigDecimal)
- 根据货币定义小数位数
- 根据司法管辖区实施四舍五入规则
- 创建计算辅助函数
- 添加溢出/下溢验证
最佳实践
- 将货币值存储为最小单位的整数(分、派士)
- 使用DECIMAL/NUMERIC数据库类型,永远不使用FLOAT
- 对所有财务操作实施幂等性
- 为每笔交易维护不可变的审计日志
- 使用数据库事务进行多表更新
- 明确记录四舍五入规则并一致应用
反模式
| 反模式 | 问题 | 正确方法 |
|---|---|---|
| 使用浮点数处理货币 | 累积精度误差 | 使用小数类型或整数分 |
| 可变的交易记录 | 审计跟踪被破坏 | 仅追加日志,软删除 |
| 可审计系统中缺少幂等性 | 可能产生重复收费 | 所有变更上使用幂等性键 |
| 单分录用于可审计系统 | 无法对账或审计 | 使用平衡的双分录日记 |
| 硬编码税率 | 合规性失败 | 配置驱动,版本控制规则 |