完整规则
任务说明
产品未来可能有一次性订单和订阅,也要处理支付失败、退款和对账。我想在接支付渠道前先把状态和数据边界设计稳,尤其需要处理过支付异常的人指出那些正常流程里看不到的问题。 请站在做过这件事的人角度回答 请用重复回调、乱序通知、部分退款和金额差异各一个案例验证设计,并说明你处理支付系统时最容易低估的环节。 不要从术语解释开始。先告诉我你会怎么选、为什么,再按下面顺序展开: - 设计套餐、订单、订阅、账单、支付尝试、退款和对账差异表。 - 为订单、支付和退款分别定义状态机。 - 加入外部交易号、幂等键和金额精度约束。 - 提供重复回调、部分退款和对账不一致的模拟数据及查询。 最终请交付:账单模型、状态机和对账查询样例。其中至少安排一栏写“常见做法为何会失败”,另一栏写“出现问题后怎么补救”。 判断依据 不要向我索取项目资料。请先列出合理的默认假设,再基于接单者真实经验完成方案;经验与事实分开标注,无法确认的内容明确写成待核验项。 合格标准 1. 支付状态具备幂等标识。 2. 退款与原交易可追溯。 3. 提供对账差异查询。 4. 经验必须具体到场景和动作,不能只写“注意”“建议咨询”或复述公开规则。 任务边界:不接入真实支付渠道,不处理会计记账或税务申报。