Stripe Webhookエラー(TLSおよび配信イベント)を修正する方法

公開: 2021-05-13

PayPalとともにStripeを使用して、WordPressプラグインビジネスの支払いを受け付けます。 Stripeが大好きです。 使いやすく、開発者として必要なものがすべて揃っています。 PayPalには多くの問題がありましたが、Stripeはかなり完璧でした。 ただし、他のサービスと同様に、問題が発生することがあります。

今日は、TLSと配信イベントの両方でStripeWebhookエラーをトラブルシューティングする方法について説明します。

  • ストライプWebhook配信問題の電子メール
  • Webhookエンドポイントイベントの確認
  • WebhookTLSエラーを修正する方法
  • ブロックされているWebhookを修正する方法

ストライプWebhook配信問題の電子メール

ほとんどの人は、Webhookに関してStripeのイベントログを定期的にチェックしていない可能性があります。 私は知らないことを知っています。 したがって、私のように、Stripeからの電子メールでStripeWebhookエラーについて最初に耳にするでしょう。 次に、実行していることをすべて削除し、Webhookで問題が発生している理由のトラブルシューティングを行います。 もちろん、私のものは金曜日の午後にやって来ました。

Stripeからの電子メールは、おそらく以下のようなものを読むでしょう。 例として、要約されたTLSエラーを使用しています。

アカウントに関連付けられているWebhookエンドポイントにライブモードでリクエストを送信する際に問題が発生しました…

失敗したWebhookエンドポイントのURLは次のとおりです:https://domain.com/index.php?edd-listener = strippe

日付/時刻の最初の失敗以降、このエンドポイントにイベント通知をx回送信しようとしました。 このエンドポイントがアプリケーションにとって重要である場合は、問題を修正してみてください。 日付/時刻までに、このWebhookエンドポイントへのイベント通知の送信を停止します。」

xリクエストにTLSエラーがあり、Stripeがサーバーとの安全な接続を確立できなかったことを示しています。 ホストのTLS構成(https://ssllabs.com/ssltest/)に関する詳細な分析を生成して、一般的なエラーを特定できます。

Stripeがwebhookイベントが正常に配信されたと見なすには、HTTP200から299までのステータスコードを返す必要があります。

ダッシュボードでイベントとリクエストログの完全なセットを見つけることができます。

あなたの、
ストライプチーム

重要なのはパニックにならないことです。 以下では、問題をトラブルシューティングするためのいくつかの簡単な方法と、Stripeの実装で修正しなければならなかったいくつかのことについて説明します。

Webhookエンドポイントイベントの確認

最初に行うことは、StripeWebhookエンドポイントについてログに記録されたイベントを確認することです。 Stripeダッシュボードに移動し、左側の[開発者]メニューの下にある[Webhook]をクリックします。

この画面では、すべてのStripeエンドポイントと、最も重要な部分である過去7日間のエラー率を確認できます。 Stripeからエンドポイントに到達するためにx回試行したという電子メールを受け取った場合は、おそらくかなり高いエラー率が表示されます。

ストライプエンドポイントのエラー率
ストライプエンドポイントのエラー率

Webhookの試行を「失敗」で並べ替えると、すべての試行と失敗の理由を簡単に確認できます。 一般的なStripeWebhookエラーには、TLSエラー、タイムアウト、500(内部サーバーエラー)などがあります。

ストライプWebhookの試行
ストライプWebhookの試行

WebhookTLSエラーを修正する方法

個人的にStripewebhookTLSエラーが発生しました。 これがあなたがすべきことです。

  1. QualysのSSLサーバーテストツールを使用してサイトをスキャンし、SSL証明書を確認します。 最初に確認することは、証明書が有効であり、中間証明書が欠落していないことです。 その場合は、ホスティングプロバイダーにSSL証明書を再度追加してみてください。 これはおそらく、TLSエラーが発生する最も一般的な理由の1つです。
  2. ホスティングプロバイダーがサポートしているTLSのバージョンを確認します。 Stripeは、これを書いている時点で最大TLS1.2をサポートしています。
  3. Webサイトの前にプロキシまたはWAFがある場合は、StripeのWebhookが最初にプロキシ/ WAFにヒットするため、手順1と2を再度実行する必要があります。

TLSエラーが発生したとき、問題は実際にはCloudflareに移行したことが原因でした。 私たちのCloudflareドメインでは、TLSの最小バージョンがTLS1.3に設定されていました。 (1.0がデフォルトです)。 Stripeは現時点ではバージョン1.2までしかサポートしていないため、Webhookエラーが発生し始めました。 これを追跡するのにしばらく時間がかかりました。

Cloudflareの最小TLSバージョン
Cloudflareの最小TLSバージョン

ブロックされているWebhookを修正する方法

Stripeは、すべてが正しく機能するためにサーバーと通信できる必要があります。 したがって、タイムアウトまたは500エラーが発生した場合は、StripeのWebhookを誤ってブロックしている可能性があります。 これがあなたがすべきことです。

  1. WordPressとセキュリティプラグインを実行している場合は、Stripeからの接続がブロックされていないことを確認してください。
  2. ホスティングプロバイダーに問い合わせて、Stripeを許可し、IPをブロックしていないことを確認してください。
  3. CloudflareのようなWAFを実行している場合は、StripeのIPを使用してファイアウォールに許可ルールを追加する必要がある場合があります。 Cloudflareのファイアウォールはホスト名を使用しないため、それらのIPを使用する必要があります。 api.stripe.comのIPとそのWebhook通知の両方を追加することをお勧めします。 アクティビティログを確認し、StripeのIPリストと比較して、Cloudflareの問題であることを確認できます。
StripeIPのCloudflareファイアウォールルール
StripeIPのCloudflareファイアウォールルール

これは、2021年現在のIPを使用したCloudflareファイアウォールルールの完全な表現です。

 (13.112.224.240 13.115.13.148 13.210.129.177 13.210.176.167 13.228.126.182 13.228.224.121 13.230.11.13 13.230.90.110 13.55.153.188 13.55.5.15 13.56.126.253 13.56.173.200 13.56.173.23213.57.1​​08.13413.57.1​​55.157のip.src 13.57.1​​56.206 13.57.1​​57.116 13.57.90.254 13.57.98.27 18.194.147.12 18.195.120.229 18.195.125.165 34.200.27.109 34.200.47.89 34.202.153.183 34.204.109.15 34.213.149.138 34.214.229.69 34.223.201.215 34.237.201.68 187.115 34.239.14.72 34.240.123.193 34.241.202.139 34.241.54.72 34.241.59.225 34.250.29.31 34.250.89.120 35.156.131.6 35.156.194.238 35.157.227.67 35.158.254.198 35.163.82.19 35.164.105.206 35.164.124 .212.223 50.18.219.232 52.1.23.197 52.196.53.105 52.196.95.231 52.204.6.233 52.205.132.193 52.211.198.11 52.212.99.37 52.213.35.125 52.22.83.139 52.220.44.249 52.25.214.31 52.26.11.205 52.26.132.102 52.53.133.6 52.54.150.82 52.57.221.37 52.59.173.230 52.62.14.35 52.62.203.73 52.63.1 06.9 52.63.119.77 52.65.161.237 52.73.161.98 52.74.114.251 52.74.98.83 52.76.14.176 52.76.156.251 52.76.174.156 52.77.80.43 52.8.19.58 52.8.8.189 54.149.153.72 54.152.36.104 54.183.95.195 54.187.182 .208.163 54.238.140.239 54.65.115.204 54.65.97.98 54.67.48.128 54.67.52.245 54.68.165.206 54.68.183.151 107.23.48.182 107.23.48.232 3.18.12.63 3.130.192.231 13.235.14.237 13.235.122.149 35.154.171.200 52.15.183.38 54 54.187.205.235 54.187.216.72 54.241.31.99 54.241.31.102 54.241.34.107)

概要

うまくいけば、これらのヒントのいくつかがStripeWebhookエラーのトラブルシューティングに役立つことを願っています。 ご不明な点やその他の手順がありましたら、ぜひお聞かせください。 以下にコメントをドロップしてください。