付款交易和订单表?

use*_*378 1 mysql payment database-design

处理数据库支付交易的最佳方式是什么?

这是我想出的:

订单表

  • 订单 ID(主键)**
  • 会员 ID (FK)
  • 合计订单
  • 状态(待处理,处理完成)
  • 付费 (0, 1)

付款表

  • PaymentID(主键)
  • OrderID(与订单表相关)
  • 日期
  • 交易状态

例如,如果 Payments 表中有来自 OrderID-123 的两个付款交易。

一种是衰落,一种是成功

如果有一行Sucesss,则 Orders.Paid 将变为 1

或者什么是更好的解决方案?

Den*_*rdy 5

根据我的经验,衰落和成功是不够的。在丰富多彩的用例中,您可能会遇到等待资金清算(例如电子支票)、退款(由您进行)、撤销(由客户/api 提供商进行)、部分退款/撤销(例如狗的玩具但不是他的食物,在同一订单内),撤销退款/撤销。

更不用说订阅固有的各种其他情况,例如订阅升级和降级、订阅更改、取消、取消取消、锁定等等。

不用说,如果您需要处理附属付款、无用户发票、不同的帐单/运输联系人、经销商等,问题就会变得更加棘手。

显然,确切的答案取决于您的具体要求,但我发现您几乎总是最好从满足 T-ledger 会计(即带有会计科目表的借记/贷记)的模型开始,并且然后朝着您的特定产品努力。