分开记录权限和通知

把下载权限与通知邮件分开保存。重复的付款事件应找到已有权限,而不是再生成一个许可证。这是一种建议的实现方式,不代表 Web3Cart 已具备该功能。

使用稳定的唯一键

用店铺、订单行和权限类型组成唯一键。按照店铺配置的付款验证规则完成核验后,才允许授予权限。唯一性应由数据库约束保证;先查询再插入本身无法避免两个进程同时操作产生的竞争。

失败后只重试必要步骤

如果权限已经创建但邮件发送失败,应使用已有权限记录重新发送通知。分别记录权限状态和通知状态。不要在普通日志中写入下载密钥;订单或付款引用冲突时转交人工检查。

上线前测试

重复发送同一个已验证事件,再同时发送两份副本,均应只产生一份权限。模拟权限创建后的邮件失败,重试时权限不得增加。未验证事件不得授予权限。记录预期结果和实际结果,再启用自动交付。