概要
Stripe でサブスクリプションを実装する時に、様々な料金体系を実装したくなることがあります。
例えば、企業向けのサービスで「ユーザー1人あたり500円」といった設定をしたり、「10人までは一人あたり500円で、10人〜50人は一人あたり300円」という設定をしたい場合です。
Stripe の料金体系
Stripe には、4つの料金体系が用意されています。
- 標準の料金体系
- パッケージ料金体系
- 段階的な料金体系
- 数量ベースの料金体系
しかし、この言葉だったり、説明を読んでもいまいちピンと来ませんので、それぞれについて詳細に説明します。
標準の料金体系
これが一番シンプルで、よく使われる料金体系です。
購入個数(quantity) x 金額 が毎月請求される料金体系です。
例えば「毎月固定で500円」のような、一般的なサブスクリプションの場合はこの料金体系を利用します。この場合、quantityは1固定になります。
仕事で使うツールで、「1人あたり500円」のようなシンプルな料金体系の場合も、この料金体系になります。この場合、購入リクエストのquantityパラメータには人数を指定します。
パッケージ料金体系
こちらは「標準の料金体系」と似ていますが、「価格」と「ユニット」を指定します。
例えば
- 価格: 500円
- ユニット: 5ユニットごと
と指定した場合
- quantity が 1〜5 の場合: 500円
- quantity が 6〜10 の場合: 1000円
- quantity が 11〜15 の場合: 1500円
のようになります。
(購入個数/ユニット数)の切り上げ x 金額 が毎月請求される料金体系です。
段階的な料金体系
「段階的な料金体系」と「数量ベースの料金体系」は違いが分かりづらいので気をつけてください。
「段階的な料金体系」は、標準の料金体系とは異なり、購入個数(quantity)によって、値段に差をつけたい場合に利用します。例えば、いっぱい利用してくれた場合に割引したい場合などです。
段階的な料金体系は、例えば、画像のように設定すると
- 1個〜10個までの分については、個数 * 500円
- 11個以上の部分については、個数 * 300円
になります。
例えば、quantity = 15 で購入したとすると、10人分は500円、残りの5人分は300円になり、
(10 * 500) + (5 * 300) = 6500円 が毎月請求されることになります。
なお、最初のユニットが0からになっていますが、quantity に 0 を指定することはできません。
個数あたりの料金とは別に、「定期料金」というのを設定することができ、たとえば、上記の様に設定すると、ベースとして毎月1000円が請求されます。
仮に、15個購入したとしると
1000 + (10 * 500) + (5 * 300) = 7500円 が毎月請求されることになります。
他にも、「10人までなら2000円、それ以上は一人追加ごとに300円」のような料金体系にしたい場合は、以下のように設定します。
数量ベースの料金体系
こちらは「段階的な料金体系」と似ていますが、少し違います。
上記画像のように設定した場合、
- 10個までの購入なら、購入数 * 500円 が請求されます
- 11個以上の購入の場合は、購入数 * 300円 が請求されます
例えば、購入数(quantity)が 5 の場合は、500円 * 5 = 毎月2500円、
購入数が 20 の場合は、300円 * 20 = 毎月6000円
となります。10を超えた瞬間に、全ての料金が300円になるので注意です。これゆえ、10個買うより11個買うほうが値段が安くなります。