1

我正在使用 Laravel 和 Stripe。我的应用中有 5 种不同的订阅计划。每个计划都有自己的一组选项,例如

基本计划 - 最多广告系列 - 20 - 最多电子邮件 - 100

专业计划 - 最多活动 - 40 - 最多电子邮件 - 200

等等

我如何在我的数据库中表示这些选项?

我使用 Laravel 的收银员,它很好地处理订阅表,其中存储订阅名称、条带计划 ID 等。

但是我想稍后当用户即将创建一个活动时检查他是否可以这样做,即他没有根据他的计划达到活动限制。

听起来我需要另一张桌子,就像plan_options我存储所有这些的地方一样。我关心的是如何将它连接到这个订阅表?手动?用户订阅后,我是否必须找到他选择的订阅名称,在 plan_options 表中找到它并使用 id 连接它们?这是正确的方法吗?

4

1 回答 1

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 中有字符串而不是数字/整数。

于 2016-01-18T13:44:08.360 回答