安全
覆盖商户身份、密钥、上下文签名、webhook、RPC、日志和 Worker gate 的生产要求。
安全 gate 是产品协议的一部分。能够完成测试支付,不代表已经满足生产部署要求。
必需控制
- 商户注册时证明
payTo所有权。 - 只存储 API key verifier,不保存原始 API key。
- Notify HMAC secret 必须放入 KMS、secrets service 或 envelope encryption 存储。
- 配置独立
SERVER_SIGNING_KEY并发布 DID 元数据。 - 非本地环境使用至少 32 bytes 的 secret pepper。
- 在注册和发送阶段都执行 SSRF-safe HTTPS webhook 校验。
- 配置严格 CSP、
frame-ancestors 'none'、no-referrer 和 MIME sniffing 防护。 - 限制交易历史与 RPC 请求的范围和速率。
- 日志不得包含 authorization header、支付签名、私钥材料和可重放 payload。
验证完整上下文
支付校验会绑定 payTo、金额、资产、网络、chain id、resource URL、有效窗口和 payment identifier。不能只验证钱包签名,也不能只信任 receipt 文本。
Worker gate
公开 Worker 部署必须显式配置滥用防护和一致性模式。涉及原子恢复的路径需要 D1 payment claim 与 reconciliation outbox。缺少生产 gate 时,相关路由必须返回不可用,不能静默降级到内存或最终一致存储。
商户操作
Webhook 不代表终局性。应验证 receipt 和链上状态、保持凭据仅后端可用、支持密钥轮换,并对丢失的结算事件进行对账。订单模式还需要租户隔离、CAS 状态转换、随机 refund intent 和累计退款限额。