関連ページ

一度作成した Plan の価格を変更する方法

  • Stripe は一度作成した Plan の価格変更ができない
  • 途中で Plan の価格を変更したい場合は以下の手順を踏む必要がある
    1. 修正後の価格を設定した Plan を新たに作成する
    2. Subscription を修正する
  • Subscription を修正する際に proration(比例配分) の仕組みを知っておく必要がある
    • prorate: true にするときは、proration_date を一緒に指定すると、全顧客で中立な価格変更が可能になる
    • prorate: false を指定すれば、比例配分せずに Subscription を更新することが可能
      • だが、プランを値上げする場合、Subscription 変更タイミングと次回の請求タイミングが遠い人ほど得をすることになる
        • 価格変更前のプランで使える期間が長いため

proration(比例配分)の仕組み

参考文献

超簡単な仕組みの解説

  • 大前提として、Stripe の課金の仕組みは 前払い モデルになっている
    • 例: \330/月 の Plan に対して Subscription を作ると、その場ですぐに支払いが発生する
    • Subscription に関わる請求金額が変更される場合、常に次の請求タイミングで調整が入る
  • プランの価格が上がる場合(upgrade)
    • 以下の例で考える
      1. 4/1 0:00 に \330/月の Plan に対して Subscription が作成される
      2. 4/16 0:00 に 1. で作成された Subscription を \3300/月の Plan に upgrade する
    • Subscription を更新する際に prorate: true (デフォルト値) のまま更新すると、5/1 での請求は \4335 になる
      • 内訳は、5月分の新プランの月額利用料(\3300) + 4月分の調整費
      • 4月分の調整費は、新プランの半月分 \1150 - 旧プランで利用する予定だった半月分 \115 = \1035 となる
  • プランの価格が下がる場合(downgrade)
    • 以下の例を考える
      1. 4/1 0:00 に \3300/月の Plan に対して Subscription が作成される
      2. 4/16 0:00 に 1. で作成された Subscription を \330/月の Plan に downgrade する
    • Subscription を更新する際に prorate: true (デフォルト値) のまま更新すると、5/1 での請求はなしとなる
      • 内訳は、5月分の新プランの月額利用料(\330) + 4月分の調整費
      • 4月分の調整費は、新プランの半月分 \115 - 旧プランの利用する予定だった \1150 = -\1035 となる
      • 請求額が \330 - \1035 = -\705 となり、マイナス分はクレジットとして Stripe が持ち続けることになる
      • クレジットは翌月以降の請求分として使いまわされるため、このままプランが変更されないと、6/1、7/1 の請求もなくなり、8/1 に \285 請求される
        • \705 - \330 * 2 = \45 となり、8月分の請求をするときに \285 足りなくなるため