Webhooks: HTTP ステータスコードが 4 (4xx) または 5 (5xx) で始まる場合はどうすればよいですか?

400 ~ 499 または 500 ~ 599 の範囲の HTTP ステータスコードがサーバーから送信され、システムでリクエストを受信したものの処理できなかったことを示す場合は、以下の方法をお試しください。

  1. ダッシュボードで、その他の情報についてサーバーからの応答を確認する: 応答にその他の情報がないこともありますが、これはエラーに応答するようサーバーがどのように設定され、コードがどのように設計されているかによって異なります

  2. サーバーログでエラーや警告をチェックする: これらのエラーは、Webhook 処理コードまたはサーバーの設定問題の可能性があるエラー応答の原因を示します

  3. 受信したイベントに、コードによって処理できる API バージョンがあることを確認する: API バージョンはイベントに含まれるオブジェクトの構造を定義します。受信イベントと処理コード間での API バージョンの不一致は、予期しないエラーを招く可能性があります

4xx および 5xx ステータスコードの原因となるいくつかの一般的なエラーとその解決策については、以下の説明をご覧ください。

エラー: ペイロードの想定される署名と一致する署名が確認できない

このエラーまたは類似するエラー (ライブラリによって表現が異なる可能性があります) は、Webhook の署名確認プロセスが失敗したことを意味します。このエラーは通常、以下のいずれかに起因します。

エラー: 許容範囲外のタイムスタンプ

このエラーまたは類似するエラー (ライブラリによって表現が異なる可能性があります) は、受信したイベントが古すぎて検証できなかったことを意味します。Webhook の署名には時間的要素があり、受信後すぐに検証される必要があります。

以下の方法をお試しください。

内部サーバーエラー

これらのエラーは通常、コードが例外、構文解析エラー、または何らかの互換性を破る変更をスローすることで起こります。

たいていの場合、このクラスのエラーは、Webhook を受け付けて処理するサーバーまたはインフラストラクチャーにおける何らかの変更が原因で発生します。新しいコードや変更されたコード、サーバーの更新、または設定の変更は、新たな故障モードや非互換性の問題を引き起こすことがあります。

このエラーが発生した際は、サーバーのエラーログで詳細をチェックしてください。エラーログの場所はサーバーによって異なり、設定、オペレーティングシステム、ウェブサーバー、使用されているプログラミング言語、その他の要素に基づくため、Stripe では具体的な手順をご案内することができません。  Webhook を受信するために使用している以下のいずれかに関して、ログとエラーログ設定の両方を確認することをお勧めします。