【WordPress/WP Full Stripe】Stripeの決済サービス実装でWebhookエラー(403 ERR)が出た場合の解決方法

サーバー・WordPress

Stripeを使えば、誰でも簡単にオンライン決済を組み込む事ができます。

近年サブスクリプションというビジネスモデルが定着していますが、このサブスクもWordPressのプラグインであるWP Full Stripeを使えばStripeのサブスク決済を簡単に実装できてしまいます。
サーバーの実装にコードを書く必要はないので、このプラグインを利用している方は多いと思います。

そんなWP Full Stripeですが、Webhookエラーが出て解決に少し困ったので、解決方法のTIPS。

なお、該当Webサイトはエックスサーバーを使用しています。

WP Full Stripe

Stripeとは?

StirpeはアメリカのSaaS企業で、Eコマースやモバイルアプリにオンライン決済サービスを導入するインターフェースを提供している会社です。

冒頭に書いた通り、個人利用でも申請が通ればオンライン決済サービスが行えるようになります。

Stripeの本番環境申請が通らないという方は、過去に

という記事を書いていますので、こちらを御覧ください。お役に立てる情報があるかもしれません。

WP Full Stripe

WP Full StripeはWordPress用の有料プラグインです。

料金プランは4種類。

ウェブサイト1つで使用するのであれば、スターターの$49で使用できます。

“WP Full Stripe”で検索すると検索上位に出てくる記事中に「年間で$49かかる」と書いているものがかなり前から未だに存在していますが、これは全くのウソです
WP Full Stripeは売り切り型であり、サブスクではありません。

サポート期間が1年間というだけです。
何をどう読み間違えていて未だに誤情報のまま放置しているのか知りませんが、該当する記事を読んで混乱しないようにご注意下さい。

なお、WP Full Stripeは下記サイトから購入できます。

WordPressを使っていてStripeの導入に興味がある方であれば、プラグインの導入方法等、超初心者向けの情報は不要と思いますので割愛します。

Stripeを導入するなら、WP Full Stripeを使用するのがベストな選択肢と言える程、シンプルUIであり一切悩む事なく決済処理を組み込めます。

なお、WP Full Stripeの無料版ではサブスクリプション決済はできません。
サブスク販売を始めるなら、コストはかかりますが確実に安定した動作を得られますので、初期費用と思って購入しましょう。そのコスト以上の対価を得られるプラグインです。

WP Full Stripeで使用するWebhook

WP Full Stripe Webhook 一覧

Webhookイベント一覧

WP Full Stripeは10種類のWebhookをリッスンする必要があります。

WP Full Stripeは、決済された利用者に対してメール送信や領収書の自動通知機能を持っています。
しかし、Webhookが正常動作しないと自動通知が行えないので、必ず正常動作させる必要があります。

ここからがこの記事の本題になりますが、Webhookで403 ERRが発生する場合のトラブルシューティングを以下に記します。

Webhookエラーの解決方法

エラー原因を特定する方法

Webhookが正常動作しているかどうかは、Stripeのダッシュボード、WP Full Stripeのどちらでも確認できます。
下図はStripeダッシュボードのスクショです。

エラー原因を特定する場合は、このようにStripeダッシュボードで確認する必要があります。
エラー原因は右ペインの「Response」の下に表示されます。
今回の場合は「403 ERR」でシェイクハンドできていない事がわかります。

自分でサーバー側の処理をフルスクラッチで実装した場合は他のエラーも発生するでしょうが、WP Full Stripeのようなサーバー側のサービスが正常に組み込まれている処理であれば、よほどイレギュラーな環境でない限りWebhookの失敗原因は403 ERR以外はあり得ないはずです。

403 ERRの解決方法

以下、エックスサーバーを使用している場合の説明となります。
他のレンタルサーバーでも同様の設定があるはずなので、エックスサーバー以外を使用している方は参考にして使用しているレンタルサーバーの設定を確認して下さい。

エックスサーバーのダッシュボードを開き、「WordPress→WordPressセキュリティ設定」を選択します。

次に、WP Full Stripeを使用しているドメインを選択します。

「REST APIアクセス制限」を「OFFにする」を選択して、設定するボタンを押して反映させます。

Stripe REST API Webhook エラー

これでOKです。

上図はWordPressのWP Full Stripe設定画面です。
テスト環境ではWebhookが動作していませんが、本番環境では正常動作している事が確認できます。

上図はテスト環境での動作時はREST APIアクセス制限ONの状態でした。
その後、本番環境に変更してREST APIアクセス制限OFFとして正常動作させた為、このように本番環境のみ正常動作している状態になっています。

WordPressのREST API設定を変更した後、再びテスト環境で決済テストをしてWebhookイベントを発生させると、テスト環境の方でも「正しく動作しています」に状態が変わりますのでご安心を。

なお、WP Full StripeのAPIモードを本番環境からテスト環境に再度スイッチ変更すると、その間は本番環境動作が停止します。既に本番環境動作をしている場合、スイッチ変更すると決済処理が停止しますのでご注意下さい。

テスト環境に戻す場合は、販売サイトでメンテナンス中である事と復旧予定時期を明示してからスイッチ変更を行って下さい。

これからStripeを組み込もうと考えている方には、利用者が多くて問題発生時に情報を得られやすいエックスサーバーがオススメです。

 

ご覧頂き、ありがとうございました。

ブログ・ランキングに参加しています。ポチっと押してから去って頂く方に感謝です。ありがとうございます。
ブログランキング・にほんブログ村へにほんブログ村


人気ブログランキング

タイトルとURLをコピーしました