← 一覧へ
データベース・ログイン出る場所:ターミナル(黒い画面)たまに出る

Stripe の通知の確認に失敗した

StripeSignatureVerificationError: No signatures found matching the expected signature for payload.

ひとことで言うと

「Stripe から届いた通知(Webhook)が本物かどうか、確かめられませんでした」という意味です。

よくある原因

  1. Webhook の秘密の値(whsec_ から始まる)が違う・入っていない
  2. 通知の中身を、確かめる前に別の形に変えてしまった(JSON に読みかえたなど)
  3. テスト用と本番用の値を取り違えた

自分で確かめること

たいていは、こうすると直ります

正しい whsec_ の値を入れ、通知の中身は「そのままの文字(raw body)」で確かめるようにします。

AIへの伝え方

下の文をコピーして、ChatGPT・Claude・Cursor などに貼り付けてください。トップで貼り付けたエラー文があれば、自動でそれに入れかわります。

次のエラーが出て困っています。プログラミング初心者にもわかるように、原因と直し方を教えてください。必要なら、直したコードも全部見せてください。

【エラー】
StripeSignatureVerificationError: No signatures found matching the expected signature for payload.

【やったこと】
(ここに、エラーが出る前にしたことを書く。例:npm run dev を実行した)

【参考】
このエラーは「Stripe の通知の確認に失敗した」というもので、よくある原因は次のとおりです。
・Webhook の秘密の値(whsec_ から始まる)が違う・入っていない
・通知の中身を、確かめる前に別の形に変えてしまった(JSON に読みかえたなど)
・テスト用と本番用の値を取り違えた

どれに当てはまるかを確かめる方法も教えてください。