Rails Stripe サブスクリプション決済実装 プランの登録

概要

Stripeでのサブスクリプション決済実装をRailsで行う場合、
公式で提供されているgemを使用することになると思います。

前回はAPIを使うまでの事前準備を記事にしました。

 

今回はサブスクリプションプランをStripeに登録する方法を紹介します。

管理ページからプラン追加

Stripe管理ページでSubscriptions > Plansよりプランの一覧が閲覧できます。
管理ページからプランを追加する場合はこの画面のNewより追加できます。

スクリーンショット 2017-09-30 12.49.35.png

こんな感じです。

スクリーンショット 2017-09-30 12.52.17.png

 

トライアル期間が365日あるが、その後は1日毎に100万円かかる悪魔的プランです。

Railsからプラン追加

アプリケーション側から先ほどのような悪魔的なプランを登録してみます。
プランを追加するにはモジュールはStripe::Planクラスのcreateメソッドを使用します。
前回Stripeモジュールを使用できる設定は完了させているので、単純にメソッドに適切な引数を設定するだけでプランは作成されます。

 

実装

def create_plan
    Stripe::Plan.create(
      id:                   'test_plan',
      name:                 'Test Plan',
      amount:               1000000,
      currency:             'jpy',
      interval:             'day',
      interval_count:       1,
      trial_period_days:    365,
      statement_descriptor: 'sswatanabe'
      metadata: {
        are_you_from_chicago: "No i'm from NewYork"
      }
    )
  end

各パラメータの意味は名前の通りです。
英語に馴染みのない僕にはstatement_descriptorがなんのことか分からなかったのですが、
リファレンスを読んだところ、「クレジットの明細に表示される名前」らしいです。
metadataでは、好きな情報を持たせることができます。
アプリケーション側のPlan IDを登録する時などに活用できます。

確認

API側からも確認できますが、
手っ取り早くStripe管理ページでみてみましょう。
無事追加されています。

スクリーンショット 2017-09-30 13.38.56.png

詳細も正常ですね。

スクリーンショット 2017-09-30 13.39.07.png

所感

……..アプリケーション側からプラン追加するってなかなか壮大なシステムでしか使わないよな。

参考