Redirect does not work but no error returned

What are you trying to achieve?

I’ve built a scenario that processses a Stripe payment and updates an Airtable. At the end of the process I want to redirect to a URL.

From my Stripe Sandbox, I make a test purchase via a payment link. My scenario runs fine, all working nicely, no errors. Except, it just won’t redirect.

Steps taken so far

  1. I’ve tried changing the status from 302 to 301, 303, even 200 to see if I get anything - nothing works.
  2. I’ve tried loading my webhook URL manually in my browser - it just displays “Accepted”.
  3. I’ve tried a basic redirect to https://google.com to rule out any problem with my site. No redirect happens.
  4. I’ve tried just using some basic HTML in the webhook response body to see if it outputs anything. Nothing.

Screenshots: scenario setup, module configuration, errors


Hi @AverageGatsby,

Instead of the default Stripe Webhook module, use the Custom Webhook module. You can register the webhook URL in Stripe via the Developers Dashboard.

Built-in webhooks have a hard-coded response to incoming webhooks. If you use a custom webhook module, you can set up the response as you did above.

Cheers,
Henk

Hello Henk, thank you for your reply.

So you think this may be an issue with the Stripe module and not the Webhook response module?

Not an issue, no. This is meant to work like this.

Watch modules within Apps are coded to work with webhooks of the application the App is built for. The handling of responses is hardcoded and you cannot change this. You receive the webhook > Make responds to the external service > Your scenario executes like you built it.

With a Custom Webhook, you decide the logic. You receive the webhook > do logic, calculations, handstands > use Webhook Response > Make sends your response to the external service.

Cheers,
Henk

btw, I almost exclusively uses Custom Webhooks because it makes it easy to build and maintain scenario’s. I use the Webhook URL in Postman to send test-payloads while developing, which saves me manually generating the trigger for the webhook every time.

Although you can grab the Webhook URL from Watch Events modules too, some applications have security requirements which prevent you from using Postman in a test-setup.

Thanks. Unfortunately, I could not get my scenario to work, even with a Custom Webhook.

I’m very much a novice in Make but I think a webhook response is trying to send data back to the source that triggered the webhook, in my case, a Stripe transaction.

The webhook response is trying to send an acknowledgment or data back to the source (in this case, Stripe), confirming that the webhook event was processed successfully.

Since Stripe is expecting a webhook response for its server-to-server communication, it will not execute or honor client-side actions like a 302 HTTP redirect. The 302 status is for redirecting users’ browsers, but Stripe’s webhook system doesn’t have a browser to follow that redirect—it’s a background process.

Just thinking aloud.

I think this may be why my redirect is not working but other, simpler redirect scenarios do work for me.

Which Stripe event are you using? And what part of the Stripe documentation are you using to setup this workflow?

I’m just working with the charge.succeeded event.

As for what Stripe documentation I’m using… I’m not! :sweat_smile: I’m just working from within the Make interface, seeing what the output bundle returns and working with that.

I am not sure if the charge.succeeded event even accepts a redirect. (server or not). Does the charge happen after a checkout in the browser? If so, Stripe works with checkout sessions in which you have to supply return_url to redirect the customer. (Create a Session | Stripe API Reference)

Are you expecting the customer who is checking out to be redirected somewhere? If so it won’t work. This all happens between servers and the customer will not get a redirect because stripe sent the webhook not the customers browser.

1 Like

Thank you for confirming this!