支付订单状态设计与异常处理

支付订单状态应尽量清晰且不可随意回退。常见状态包括待支付、支付处理中、支付成功、支付失败、已关闭和已退款。业务状态与支付状态可以分开保存。

订单创建后处于待支付状态。收到可信的成功通知后进入支付成功状态;超时未支付的订单可以关闭。已经成功的订单不能因为后续重复通知而改回待支付。

更新订单时建议使用数据库条件更新,例如只允许待支付订单变为支付成功。对重复通知返回接口要求的成功响应,避免支付平台持续重试。