用途:面向金融科技场景的工程实践指南,强调金融缺陷会造成真实资金损失,因此正确性优先于速度。
主要能力:
- 货币处理:金额一律用最小货币单位的整数(分/便士/satoshi),禁止浮点;提供 Money 类型与格式化函数。
- 复式记账账本:accounts 与不可变 ledger_entries 表设计,借正贷负,余额由账本汇总视图计算;写入在事务中完成。
- 幂等:所有变更带幂等键,重复请求返回同一结果;Webhook 按事件 ID 去重。
- 支付集成:Stripe Payment Intent、退款、订阅生命周期、Webhook 签名校验(须用原始请求体);Plaid Link token、public token 换 access token、分页拉取交易。
- 合规与安全:PCI DSS 要求不存储卡 PAN,使用令牌化;日志脱敏;AES-256-GCM 加密 PII;KYC/AML 风险评分与可疑交易标记;追加式审计日志。
使用方式:以 TypeScript/Node 代码示例给出,需配置 STRIPE_SECRET_KEY、STRIPE_WEBHOOK_SECRET、PLAID_CLIENT_ID、PLAID_SECRET、ENCRYPTION_KEY 等环境变量;Stripe 客户端须显式固定 apiVersion。
适用场景:支付、账本、订阅计费、银行账户关联、风控与合规审计。
限制:资料未提供安装命令、价格、平台支持范围与效果数据;示例中的账户 ID、Redis、数据库等依赖需自行实现。