Issue with Stripe Webhook

How to fix Stripe webhook signature verification failure in ChronoForms.

Overview

The problem is that the Stripe webhook request to the listener page is missing or failing to read the HTTP_STRIPE_SIGNATURE header, often due to incorrect page setup or a typo in the configuration.
Ensure the webhook points to the form page with the Stripe Listener, which must have a different Page Group, and the Success URL points to a separate page. Verify all parameters and correct any typos in the setup to resolve the signature verification error.

Answered
ChronoForms v8
si simelas 20d ago

Hi Max,

 on payment success ( payments appears in sandbox) I get the following:

Undefined array key "HTTP_STRIPE_SIGNATURE"Webhook signature verification failed: Unable to extract timestamp and signatures from header

This happens when the webhook request from Stripe attempts to reach the events listener at return link as you showed in FAQ's........&output=ajax.Apperently all parameters are correct . I checked with service provider and no evidence that Stripe "HTTP_STRIPE_SIGNATURE" is blocked by fire walls. Any idea(s) what it could be ?Cheers

Max_admin Max_admin 19d ago

Hi simelas

The webhook is pointing to the form page which has the Stripe Listener (this page must have a different Page Group), and the Success URL is pointing to a different URL, correct ? this setup must be done right first.

Now on which page do you get that error exactly ?

Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
si simelas 19d ago

Hi max,The webhook is pointing to the form page which has theStripe Listener(this page must have a differentPage Group), and theSuccess URLis pointing to a different URL, That is correct.The error occurs on the strip listener page, although stripe records a 200 and everything expected occurs. . we will check once again .we found a way to neutralise it  with :$is_post = ($_SERVER['REQUEST_METHOD'] === 'POST') ? '1' : '0';return (string) $is_post;Cheers

si simelas 18d ago
Answer
1 Likes

Hi Max,  there was a (stupid) typo. everything fine. thanks for your contineous support.cheers

Max_admin Max_admin 13d ago

No worries

Max, ChronoForms developer
ChronoMyAdmin: Database administration within Joomla, no phpMyAdmin needed.
ChronoMails simplifies Joomla email: newsletters, logging, and custom templates.
Post a Reply