Stripe checkout session success_url missing when accessed through Zapier webhook

I’m trying to get the success_url value from a Stripe payment session using a Zapier webhook integration. However, I keep running into an issue where Zapier throws an error saying Missing required param: success_url.

The weird thing is that when I check the payment session directly in my Stripe dashboard, the success_url is clearly there and working fine. Customers get redirected to the correct page after completing their purchase.

But somehow when Zapier tries to access this same session data through the webhook, it can’t find the success_url parameter. This is really frustrating because all I want to do is grab that URL and send it to the customer in a follow-up email.

Has anyone else encountered this problem? Is there something specific about how Zapier handles Stripe webhook data that I’m missing?

stripe webhooks can be frustrating, huh? try checking your zapier endpoint version. older ones sometimes miss fields. also, confirm ur webhook is set to get the full checkout.session, not just the payment_intent data. that could help!

It appears you may be experiencing a common issue with webhook payloads. Zapier often receives a truncated version of the Stripe data, which means certain fields like success_url can be omitted. I resolved a similar issue by ensuring that my Stripe webhook is set up to send the full checkout.session object. Make sure to review the events configured in your Stripe dashboard; switching to specific events, such as checkout.session.completed, can sometimes yield more complete data. Additionally, consider storing the success_url in the session metadata when creating the checkout session, as metadata is typically included in webhook payloads.

I’ve faced a similar issue before and it was a bit tricky. It’s important to understand that not all webhook events include every parameter by default. The success_url might not be included in the standard payload you’re receiving from Zapier. One effective workaround is to make sure you’re subscribing to the event that provides the full checkout session details, like checkout.session.completed. Alternatively, you can retrieve the complete session details directly using the session ID. This might require an additional API call, but it usually bails you out of these kinds of situations.