因此,我一直负责为我们现有应用程序之一重新设计数据库(以规范化和重组一些更大的表),而我正努力提出一个可靠的设计来处理向我们的服务付款。
背景信息
我们的服务提供各种计划(个人,家庭,企业等),所有计划均带有“每月和每年”订阅选项。
我们将Stripe用作个人和小型企业用户的付款网关,但也提供了针对较大客户的发票付款方式。我认为,试图将两者结合起来是很多复杂性所在。
对于每个订阅,我们都会为提供给每个附加到特定帐户的用户的许可证密钥(已为其购买了订阅)。因此,对于每个订阅,我都会为其附加一个许可证密钥。
最终目标
理想情况下,我希望能够跟踪两个付款渠道(条形和手动发票)中的所有付款和订阅,并管理重复付款(续订,取消逾期订阅,更改订阅计划,试用,折扣等)。
我到目前为止所拥有的
我的设计肯定还有很长的路要走,因为它太复杂了(可能比需要的要复杂得多)。
但所有这些背后的想法是跟踪所有已付款(“条带化”和“发票”),然后将这些付款链接到订阅(和许可证)。
任何帮助将不胜感激! :)