タイトル通りで、WordPressプラグインのSimple Membershipを利用した、Stripeでサブスク有料会員実装方法。
本番環境ではスムーズに行きそうな設定も、ローカル環境だといろいろややこしい部分があったので備忘録。
#Simple Membership側の設定
管理画面 > WP Membership > 支払い > Create New Button
で有料会員になるための支払いボタンを作る。
基本的にはこの設定方法はいろんな記事があるので、そちらを参考に。
参考:https://hanami-web.tokyo.jp/blog/member/create-stripe-subscription/
##上記記事記載以外の注意点(ローカル・テスト環境)
ローカル環境でテスト決済をしようと思っても、上記記事の通り設定してもエラーが出る。
諸々の解決方法は下記です。
###①「Live Publishable Key」と「Live Secret Key」もテスト用のキーを入れる
APIキーの入力には
・Test Publishable Key
・Test Secret Key
・Live Publishable Key
・Live Secret Key
の4つの入力欄がある。ここで素直に「Live Publishable Key」と「Live Secret Key」に本番用のキーを入れると、テスト商品と紐付けられない。
###②Webhook エンドポイントの設定
ローカル環境のURLはstripeにエンドポイントとして設定できないので、stripe CLIを使ってWebhook エンドポイントを設定する必要がある。
ちなみにエンドポイントを設定しなくても、ボタンの表示→決済成功まではいけるが、該当の決済した会員が有料会員に変更されない(そりゃそう)
これはまず、ターミナルでstripe CLIをインストールする必要がある。
この方法は下記参考。
参考:https://stripe.com/docs/webhooks/test
ステップ3の「イベントをお客様のサーバに転送する」で、
stripe listen --forward-to 管理画面でのサブスクボタン作成時に表示されたエンドポイント
とするとターミナル上でイベントをリッスンできる。
リッスンしながら、ブラウザで決済をすると無事に該当の会員が有料会員に変更されているかと思います。