猫でもわかるWeb開発・プログラミング

本業エンジニアリングマネージャー。副業Webエンジニア。Web開発のヒントや、副業、日常生活のことを書きます。

Stripe のサブスクリプションの料金体系について

概要

Stripe でサブスクリプションを実装する時に、様々な料金体系を実装したくなることがあります。

例えば、企業向けのサービスで「ユーザー1人あたり500円」といった設定をしたり、「10人までは一人あたり500円で、10人〜50人は一人あたり300円」という設定をしたい場合です。

Stripe の料金体系

Stripe には、4つの料金体系が用意されています。

  • 標準の料金体系
  • パッケージ料金体系
  • 段階的な料金体系
  • 数量ベースの料金体系

Stripeの料金体系モデル
Stripeの料金体系モデル

しかし、この言葉だったり、説明を読んでもいまいちピンと来ませんので、それぞれについて詳細に説明します。

標準の料金体系

標準の料金体系」の設定画面
標準の料金体系の

これが一番シンプルで、よく使われる料金体系です。

購入個数(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個買うほうが値段が安くなります。