Logicky BLOG

Logickyの開発ブログです

  • Javascript
  • Python
  • PHP
  • Go
  • OS・サーバ
  • 機械学習
  • つくったもの
  • 数学
  • アルゴリズム
  • Logicky

Stripeのサブスクリプション

課金の有効性チェック

Stripeでサブスクリプション使うときに、支払いが有効で、現在サービス利用可能かというのを判断するときのやり方が書いてあった。

stripe.com

  • 最初の支払いが成功したら、current_period_endに、有効期日を保存。月額課金だったら、課金日+1ヶ月(+α)を保存しておく。
  • ログイン時は、毎回current_period_endをチェックして、有効期日が過ぎていなければ、サービス利用可能とする。
  • 定期的な支払いは、Webhookで、invoice.payment_succeededイベントを受け取る。これを受け取ったら、current_period_endを更新する。

無料お試し期間

商品の料金プランに「トライアル期間」というのが設定できるようになっているので、これを設定するだけなんだけど、サブスクリプション作成時に trial_from_plan: true を入れないと、無料お試し期間が設定されていても、サブスクリプション作成時に即決済されてしまうみたい。

return await stripe.subscriptions.create({
  customer: customer.id,
  tax_percent: 0,
  trial_from_plan: true,
  items: [{plan: stripeConfig.normalPlan}]
})

サブスクリプションのテスト

stripe.com

  • Javascript
  • Python
  • PHP
  • Go
  • OS・サーバ
  • 機械学習
  • つくったもの
  • 数学
  • アルゴリズム
  • Logicky