我使用的是Laravel和Stripe。我的应用程序中有5种不同的订阅计划。每个计划都有自己的一组选项,例如
基本计划 - 最多活动 - 20 - 最多电子邮件 - 100
专业计划 - 最多活动 - 40 - 最多电子邮件 - 200
等
如何在我的数据库中表示这些选项?
我使用Laravel的收银员,很好地处理订阅表,它存储订阅名称,条带计划ID等。
但我想稍后在用户即将创建广告系列时检查他是否可以执行此操作,即根据他的计划未达到广告系列限制。
听起来我需要另一张像plan_options
这样的桌子,我会存储所有这些内容。我担心的是如何将它连接到此订阅表?手动?在用户订阅之后,我是否必须找到他选择的子信令名称,在plan_options表中找到它并使用id连接它们?这是正确的方法吗?
答案 0 :(得分:2)
您可以将订阅计划元数据中的plan_options
保存到Stripe中。这样,一切都停留在一个地方,并且不需要同步。
您可以使用API访问元数据,如下所示。
示例请求:
\Stripe\Stripe::setApiKey("sk_test_ascfadfaeadsfadsfasdfasdfV");
\Stripe\Plan::retrieve("pro");
响应示例:
Stripe\Plan JSON: {
"id": "pro",
"object": "plan",
"amount": 1000,
"created": 1453123864,
"currency": "usd",
"interval": "month",
"interval_count": 1,
"livemode": false,
"metadata": {
"campaigns_limit": "40",
"emails_limit": "200"
},
"name": "Pro Plan",
"statement_descriptor": null,
"trial_period_days": 30
}
随着许多订阅计划的实施,集中信息将消除许多复杂性。
PS:响应中包含字符串,而不是JSON中的数字/整数。