Setting Up Stripe Webhooks

Would you like to integrate Stripe webhooks with your website’s forms? With the integration of Stripe webhooks into WPForms, your WordPress site will instantly know about any refunds or subscription changes made in Stripe.

This guide will show you how to easily connect Stripe webhooks with WPForms, ensuring your website stays in sync with your Stripe activities.


Before you get started, be sure to install WPForms on your WordPress site. After that, connect your site to your Stripe account.

Understanding Webhooks

Webhooks act as automated messages sent between applications when certain events take place. By integrating Stripe’s webhooks with WPForms, your WordPress site becomes seamlessly synchronized with Stripe, allowing payment statuses to update in real time.

Once webhooks are integrated, your WordPress site not only stays informed of Stripe activities but also lets you manage refunds and subscription renewals directly, without needing to visit the Stripe dashboard.

Enabling Webhooks in WPForms

Note: Webhooks are automatically configured for WPForms version 1.8.4 or higher when you connect your Stripe account.

After you’ve connected your site to Stripe, the webhooks should configure automatically. If they don’t, you’ll need to create an endpoint in the Stripe dashboard and transfer the configuration keys to your WPForms settings manually.

To do so, go to WPForms » Settings in the left menu of your WordPress site. From there, click on the Payments tab.

Open Payments tab of WPForms settings

Next, scroll down to the Stripe section. Here, toggle on the Enable Webhooks option.

Enable Webhooks option

Next, click the Save Settings button at the bottom of the page.

After saving your settings, the page will refresh. You should now see additional fields for further webhooks configuration.

Webhooks fields

To generate the information you need for these fields, you’ll need to use your Stripe account to create a new endpoint. This process doesn’t require any coding, and we’ll show you exactly what to do in the next step.

You’ll be coming back to WPForms’ settings page later, so for the next step, open a new tab or window in your browser.

Note: Live and Test modes need individual configurations. For Test Mode, use the Webhooks Test ID and Webhooks Test Secret fields. For Live Mode, use the Webhooks Live ID and Webhooks Live Secret fields. Ensure you match your site’s mode with Stripe’s settings.

Creating a Webhook Endpoint in Stripe

In the new tab or window you’ve opened, log in to your Stripe account and open your Stripe dashboard.

When you log in to your Stripe account, you’ll find a Test mode toggle button in the top-right corner of the page. Ensure this toggle aligns with your site’s mode: if your site is in Test Mode, set the toggle to ON, and if your site is in Live Mode, make sure it’s switched OFF.

Test mode toggle button in Stripe

Next, click on the Developers option located at the top-right corner of the page.

Developers option in Stripe

Once the Developers page has opened, click on the Webhooks tab next.

Click on Webhooks tab

In the Webhooks tab, click on the Add an endpoint button to create a new webhook endpoint.

Click on Add an endpoint button

This opens a Listen to Stripe events page where you’ll need to enter details to configure your webhook.

Listen To Stripe events page

First, navigate back to the WPForms settings in your WordPress site. Once there, you’ll need to copy the Webhooks Endpoint by clicking the copy icon.

Copy Webhooks Endpoint from WPForms

Once you’ve copied the Webhooks Endpoint, switch over to your Stripe account and paste the Webhooks Endpoint into the Endpoint URL field.

Endpoint URL field

Next, while the Description field is optional, we recommend entering WPForms to easily identify the webhook’s purpose.

Then, you’ll come across the Listen to and Version options. Leave them as is and click on the + Select events button.

Select events button

In the overlay that opens, check the Select all events checkbox to ensure your Stripe account sends all events.

Select all events checkbox

After checking the Select all events checkbox, click the Add events button to finalize your event selection.

Add events button

Once done, click the Add endpoint button after scrolling down to the bottom of the page.

Add endpoint button

Once you’ve set up the webhook, Stripe will navigate you to its dedicated page. Here, you’ll be able to copy both the webhook’s ID and the Signing secret.

Webhook created in Stripe

Find the webhook’s ID displayed on the top-right of the page. Simply click on it to copy.

Copy webhooks ID

After copying the webhook ID, return to your WPForms settings and paste it into the Webhooks Live ID field.

Webhooks Live ID field

Next, head back to your Stripe account and, under the Signing secret heading, click on Reveal.

Click Reveal under Signing secret

After revealing the Signing secret, copy its value and paste it into the Webhooks Live Secret field within your WPForms settings.

Webhooks Live Secret field

Once your keys are in place, click on the Save Settings button.

After setting up Stripe webhooks with WPForms, your payment statuses will sync in real time between WPForms and Stripe. This also allows you to manage refunds and renew subscriptions directly from WPForms, without frequently accessing the Stripe dashboard. If you wish to view specific events triggered by the webhook, visit the webhooks page in your Stripe dashboard.

For more details on refunds, renewals, and understanding payment statuses, refer to our guide on viewing and managing form payments.

That’s it! Now you know how to set up Stripe webhooks with WPForms.

Next, would you like to learn more about managing payments in WPForms? Check out our tutorial on creating payment forms in WPForms for further information.