カテゴリー:
Stripe
閲覧数:349 配信日:2019-03-05 10:47
最初に結論
Stripeの「ProductオブジェクトとPlanオブジェクトの関係」
・データベースにおける正規化のようなもの
※あくまでもイメージ。実際は異なる
「1つの製品もしくはサービス」へ対して、「複数のプラン」を設定することができる
・「Productオブジェクト」と「Planオブジェクト」の関係は、「1対多」
StripeにおけるPlanオブジェクトとは?
アイテムごとのコスト、通貨、および請求サイクルを表すオブジェクト
アイテムごとにコストが異なるプラン
・販売商品「例えばドローンA」へ対して、下記のような複数プランをもつことが出来る
・1個で10000円
・2個で19000円
・3個で25000円
通貨が異なるプラン
・販売商品「例えばドローンA」へ対して、下記のような複数プランをもつことが出来る
・10000円
・89.41 アメリカ合衆国ドル
・78.89 ユーロ
請求サイクルが異なるプラン
・レンタル商品「例えばドローンA」へ対して、下記のような複数プランをもつことが出来る
・1日
・2日
・1週間
具体例(簡易)
あなた(販売者側)
・販売を行っているおもちゃ専門店
下記2商品を取り扱うものとする
・ドローンA
・車のラジコンB
※同じ商品でも色によって販売価格が異なる、ものとする
Stripeの「Productオブジェクト」
・「ドローンA」と「車のラジコンB」を登録する
・データベースで言えば、「Productテーブル」へ「ドローンA」と「車のラジコンB」レコードを追加する行為に該当
・※ここでは料金登録を行わない
Stripeの「Planオブジェクト」
・「ドローンA」と「車のラジコンB」のプランを複数登録する。関係は「1対多」
・データベースで言えば、「Planテーブル」へ「ドローンA」と「車のラジコンB」のプランレコードを追加する行為に該当。各テーブルに紐づけるためのidカラムを当然含まれる
表
・Productテーブル
id | name |
---|---|
1 | ドローンA |
2 | 車のラジコンB |
id | product_id | price |
---|---|---|
1 | 1 | 100 |
2 | 1 | 200 |
3 | 2 | 800 |
4 | 2 | 500 |