【EC-CUBE4】PAY.JPの定期購入を使って全品送料無料の有料プレミアム会員(サブスクリプション)みたいなのを実装する方法

EC-CUBE4でPAY.JPの定期購入を使って全品送料無料の有料プレミアム会員(サブスクリプション)みたいなのを実装する方法です。

必要なライブラリをインストール

 

 

PAY.JPのアカウントとプランを作成

PAY.JPのアカウントを作成して、APIキーの公開鍵を取得をしてください。

プランについては、例えば月額1000円といったものを作成してください。

プランを作成してプランIDを取得してください。

そのプランに契約して毎月1000円を払い続けている場合はずっと送料無料になるといったものを作ります。

 

 

定期課金IDを保存するカラムをCustomerテーブルに追加

 

 

有料会員登録と解約するためのコントローラー作成

APIの公開キーやプランIDは開発環境の場合は.env、本番環境の場合はhttpd.conf や、 .htaccess ファイルに設定したほうが良いかと思います。

下記コントローラーは例外処理が甘いので動作チェックして必要な処理を追加してください。

 

 

マイページのどこかに有料会員登録と解約のボタンを設置してください

PAY.JPはクレジットカード情報のトークン化対応しているので、以下のようにPAY.JPが用意しているjsを設置するだけで有料会員登録ボタンが表示されます。

 

 

有料会員は送料無料にするとかの処理

有料会員は送料無料にするとかの処理はPurchaseFlowを使えば簡単にできます。

 

引き落としの失敗やカードが不正などで定期課金が停止されたユーザーを一括で無料会員に変更

引き落としの失敗やカードが不正などで定期課金が停止されたユーザーを一括で無料会員に変更するコマンドです。

以下のコマンドをcronで定期的に実行してください。

 

上記コードは停止中ユーザーを10件しか取得できませんので、すべての停止中ユーザーを取得するよう工夫する必要があります。

停止している定期課金を再開する処理なども必要かと思いますが、とりあえず以上で完成とします。

細かい処理や設定は大幅に省いていますので独自で実装してください。

 

あと今回の記事に関しては自己責任でご参考ください。

この記事を参考・利用したことによる直接的、付随的、結果的、間接的、あるいは懲罰的な損害、経費、損失、または 債務について、いかなる責任も負いかねます。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください