BackEnd

Stripe Connectを使って継続課金を実装

投稿日:

はじめに

前回は、Stripe Connectの導入について説明しました。今回は、一歩踏み込んで、Stripe Connectでサブスクリプションを実装する方法について紹介します。今回もダイレクト支払いのケースになります。

商品・価格の登録

Stripeには製品と価格の概念があります。製品と価格は1:多の関係にあるため、1つの製品の購入方法をユーザに複数提供することができます。
例えば、あるサービスの利用権利を製品として販売する場合、月額課金と年額課金プランを別々の価格として登録し、紐づけておくことで、ユーザに複数のプランから選んでもらえるようになります。
今回は製品と価格をあらかじめ登録しておき、月額課金を構築していきます。

マイグレーション

productsテーブルにStripeの商品ID、価格IDを持たせるため、前回のマイグレーションに追記します。

製品・価格登録処理の実装

次に、ProductControllerに商品登録用のfunctionを追加します。

store() でStripeへの製品・価格登録と、productsテーブルへのインサートを行っています。前回と同じように、第二引数でショップのStripeアカウントIDを渡すことで、ショップに紐づく製品・価格登録をします。

最後に、製品登録を行うためのviewを作成します。

これで実装は完了です。

Stripe管理画面での確認

 

実際に登録し、Stripeの画面上で登録できたことを確認します。
Stripeで商品を見てみると、登録した製品と価格が入っていることが確認できます。

サブスクリプション登録

それでは、実際にサブスクリプション登録処理を作成していきます。

事前準備

課金処理用のルーティングを通しておくため、web.phpに以下を追記します。

課金処理の実装

課金処理を実装していきます。

処理の流れとしては、

  1. ショップの顧客の存在チェック。ショップの顧客が存在しない場合は、顧客の作成
  2. 顧客に対して支払方法の登録
  3. 課金登録

という流れになります。
ダイレクト支払いの場合、Connectアカウントごとに顧客管理する必要があります。そのため、今回の場合はショップを初めて利用する顧客の場合のみ、新規作成するようにしています。

最後に、viewを作って完成です。(前回作ったものと同じです。)

Stripe管理画面での確認

Stripe Connectアカウントの定期支払を確認すると、定期支払が登録されていることを確認できます。

さいごに

このように、Stripe Connectで月額課金が出来るようになると、マーケットプレイス型の課金プラットフォームを構築することができます。参考にしてみてください。

おすすめ書籍

blog-page_footer_336




blog-page_footer_336




-BackEnd
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

laravel logo

Laravelの基礎知識

1 はじめに2 Laravelの概要2.1 学習コストが低い2.2 Symfonyがベース2.3 DIを積極的に活用している3 ディレクトリ構成3.1 app3.2 bootstrap3.3 conf ...

laravel logo

Laravelでテストコードを書くには? Featureテスト/Unitテスト

1 はじめに2 FeatureとUnitの使い分け3 テスト用データベースの準備4 Featureテスト4.1 テスト対象のコード4.2 テストコードの実装4.3 テスト結果の検証4.3.1 ステータ ...

php logo

PHP入門 〜文字列と数値の操作〜

1 はじめに2 基本ルール2.1 開始と終了のタグ2.2 ホワイトスペース2.3 大文字と小文字の区別2.4 コメント2.5 変数の定義3 文字列の操作3.1 文字列の定義3.2 無駄なスペースを削除 ...

rails

Shrineをモデルに関連付けないで使用してハマったこと

1 はじめに2 アップロード時にリサイズする3 アップロード時のバリデーション4 アップロード時に古いファイルを削除する5 さいごに はじめに ShrineはRailsでのアップロードを簡単に行えるよ ...

rails

ShrineでS3に画像をアップロードする

1 はじめに1.1 前提条件1.2 関連記事2 AWS側の準備2.1 S3バケットを作成する2.2 CORSを設定する2.3 アクセス用のユーザを作成する3 Rails側の設定3.1 Initiali ...

フォロー

blog-page_side_responsive

2021年3月
 123456
78910111213
14151617181920
21222324252627
28293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。