use*_*378 1 mysql payment database-design
处理数据库支付交易的最佳方式是什么?
这是我想出的:
订单表
付款表
例如,如果 Payments 表中有来自 OrderID-123 的两个付款交易。
一种是衰落,一种是成功
如果有一行Sucesss,则 Orders.Paid 将变为 1
或者什么是更好的解决方案?
根据我的经验,衰落和成功是不够的。在丰富多彩的用例中,您可能会遇到等待资金清算(例如电子支票)、退款(由您进行)、撤销(由客户/api 提供商进行)、部分退款/撤销(例如狗的玩具但不是他的食物,在同一订单内),撤销退款/撤销。
更不用说订阅固有的各种其他情况,例如订阅升级和降级、订阅更改、取消、取消取消、锁定等等。
不用说,如果您需要处理附属付款、无用户发票、不同的帐单/运输联系人、经销商等,问题就会变得更加棘手。
显然,确切的答案取决于您的具体要求,但我发现您几乎总是最好从满足 T-ledger 会计(即带有会计科目表的借记/贷记)的模型开始,并且然后朝着您的特定产品努力。