4

我需要对我当前的订阅系统进行更改,并且我需要添加选项,让用户根据他们想要的功能(模块)按订阅收费。这是一个例子:

BasePlan1_2015:10 美元

特色 1:5
美元 特色 2:10
美元 特色 3:5 美元

在续订账单时,具有 BasePlan1_2015 和 Feature1 和 Feature2 的用户应支付
10 美元 + (5 美元 + 10 美元) = 25 美元。

到目前为止,我有两个选择:

选项 1:监听创建的发票的 webhook,并根据所选功能应用发票行。用户第一次选择他们的功能时,我会将它们添加到发票中,然后开具发票。然后我会在每个收到所需发票行的 webhook 处添加。

选项 2:即时创建新计划。我会在我的数据库中存储每个功能的成本,当用户选择功能组合时,我会即时创建计划,将总和等于基本订阅的成本加上所选功能,然后订阅它们那个具体的计划。如果有人删除或添加新功能,我会创建一个新计划(如果尚未创建)并按比例分配。

我倾向于第二种选择,因为它更加自动化,并且很可能在更新时一切都在 Stripe 端完成。

到目前为止,这两个是我能想到的唯一选择,但我有一种感觉,可能还有别的选择。

有没有人在 Stripe 使用过或正在使用类似的东西并且有其他选择?

编辑 1
@koopajah 我知道选项 2 更复杂(已经对其进行了测试,感觉并不难管理),但到目前为止,我无法理解选项 1。我了解它应该如何工作,但我发现很难把它放在代码中。基本上,当用户开始添加或更改功能以及我可能需要按比例分配他们未使用的时间时,我的问题就出现了。我使用的是年度订阅,由于计费周期较长,我必须按比例分配。

您对我可以查看并更好地理解如何执行选项 1 的软件包或资源有任何想法吗?
此外,我不能真正测试带条纹的 webhook,但前提是我每天订阅并等待几天来看看 webhook 是如何工作的。

更新 1 遇到选项 3(从这里Stripe FAQ):
有一个 BasicPlan1_2015 1 美元。基本计划的数量为 10 => 10 美元。每个功能都会有一个分配给它们的数量编号:

Feature1:数量 5 表示 5 美元
Feature2:数量 10 表示 10 美元
Feature3:数量 5 表示 5 美元

现在,当用户添加或删除一项或多项功能时,我只需更新计划数量,我想一切都应该可以正常工作。

具有功能 1 和功能 2 的 BasicPlan1_2015 的数量应为 10 + (5 + 10) = 25,每个计费周期产​​生 25 美元的费用。

现在,比较所有三个选项,我更倾向于选项 3。只有一个计划、多个选项和相同的结果,而其他选项要求我有多个计划或使用 webhook!

4

0 回答 0