数据库设计:订阅/发票模型

问题描述 投票:0回答:1

因此,我的任务是为我们现有的一个应用程序重新设计数据库(以标准化和重组一些更大的表),并且我正在努力想出一个可靠的设计来处理我们服务的付款。

背景信息

我们的服务提供各种计划(个人、家庭、企业等),所有计划均提供按月和按年订阅选项。

我们使用 Stripe 作为个人和小型企业用户的支付网关,但也为我们的大客户提供按发票付款的选项。我觉得这就是尝试将两者结合起来的复杂性所在。

对于每个订阅,我们都会生成一个许可证密钥,提供给附加到特定帐户(为其购买了订阅)的每个用户。因此,对于每个订阅,我都会附加一个许可证密钥。

最终目标

我理想地希望能够跟踪两个付款渠道(条纹和手动发票)中的所有付款和订阅,并管理定期付款(续订订阅、取消逾期订阅、更改订阅计划、试用、折扣等)。

到目前为止我所拥有的

ERD Initial Design

我的设计肯定还有很长的路要走,因为它太复杂了(可能超出了它的需要)。

但这一切背后的想法是跟踪所有付款(包括 Stripe 和 Invoice),然后将这些付款链接到订阅(和许可证)。

任何帮助将不胜感激! :)

database database-design stripe-payments payment subscription
1个回答
0
投票

根据您描述的最终目标,我建议考虑以下模型:

Subscription/payments model

以下是该数据模型提供的一些功能:

  • 创建灵活的资费计划(订阅期限、参与者数量等)。
  • 更改订阅的资费计划。
  • 编辑借记帐户的付款来源。
  • 更改特定订阅的付款来源。
  • 跟踪付款历史记录(金额、时间、金额)。
  • 资费计划中的价格变化。
  • 通过根据资费计划从与订阅关联的支付源自动付款来续订订阅(如果 auto-renewable=true)。
  • 等等等等。
© www.soinside.com 2019 - 2024. All rights reserved.