MARKETPLACE
PLUGINS
NWD WEBHOOK SENTINEL (STRIPE)
NWD Webhook Sentinel (Stripe) logo

NWD Webhook Sentinel (Stripe)

Published June 2026
   •    Updated this week

Plugin details

NWD Webhook Sentinel (Stripe) was built to give Bubble the webhook signature verification it has no way to do natively. It verifies the authenticity of incoming Stripe webhook requests using cryptographic signature verification, ensuring that only legitimate, unmodified events from Stripe are processed by your workflows.
This plugin is maintained by GCS Studios and is part of the NWD Security family, plugins that cover the security layer Bubble leaves to you. Each one targets a specific risk, verifying what your app receives and protecting what it keeps, and is tested in real applications before release. See more plugins on the GCS Studios contributor page.






Key Features

Stripe - Verify Webhook Signature
✅ Cryptographic HMAC-SHA256 signature verification, the same method used by Stripe's official SDKs
✅ Constant time comparison, so a rejected signature never reveals how close it came
✅ Timestamp freshness check against replay attacks, with a configurable tolerance window and a safe minimum floor
✅ Accepts every signature present in the Stripe-Signature header, so legitimate events keep passing while you rotate the signing secret in Stripe
✅ Reads the body both as it arrives and in the exact form Stripe signed, so a real event is never rejected over formatting
✅ Optional environment check that follows your app: a dynamic yes/no field instead of a fixed option, so the check moves with your deploys instead of being switched by hand
✅ Optional IP allowlist, because Stripe asks for both protections: the signature proves the event was not written by a third party, the allowlist refuses what did not come from Stripe servers
✅ Both optional checks are off by default, so updating the plugin never changes the result of a workflow that already works

Everything the verified event hands you
✅ Event id, the key to store so a redelivered event is never processed twice
✅ Event type, to route the workflow without parsing the body a second time
✅ Inner object id and inner object type, the pair you look up in the Stripe API to confirm the current state at the source instead of trusting the payload
✅ Event created and event age in seconds, for your audit trail
✅ Event environment, live or test
✅ A ready-made log line with every returned value, one per line, to store as an audit record or paste into a support ticket without rebuilding it in a workflow
✅ All of these are returned only when the signature is valid: an unverified body is never handed back as data

Built for conditions, not for string matching
✅ Rejection reason as a stable text code for logs and audit records, one for each of the eight failure causes
✅ One yes/no per cause for workflow conditions, because a typo in a text comparison never matches and never warns
✅ Exactly one of them is true whenever verification fails, with no exception to remember

Verify only
✅ Runs on the server, before any business logic in your workflow
✅ The action never stores data, creates records, or produces side effects

Reliable & Production-Ready
✅ Built with lightweight CSS and JavaScript for fast, reliable performance
✅ Designed around practical use cases and real Bubble development needs
✅ Tested in real-world applications before being released publicly
✅ Created to extend Bubble with functionality and customization beyond what native Bubble elements typically offer



How to test this plugin almost for free?
Subscribe and test it for a few days to see if the plugin meets your needs. Subscriptions are billed prorated, so if you cancel after a short period, you'll only pay for the days used.

Explore Our Other Plugins
Check out our complete collection of plugins, including elements, inputs, client-side actions, server-side actions, and APIs. Built to extend native capabilities or introduce new features, based on real-world applications.



Get in Touch
We'd love to hear from you! If you need help, have any questions about our plugins, want to provide feedback, or suggest a feature, please contact us directly.

$30

One time  •  Or  $10/mo

stars   •   0 ratings
10 installs  
This plugin does not collect or track your personal data.

Platform

Web & Native mobile

Contributor details

GCS Studios logo
GCS Studios
Joined 2021   •   20 Plugins
View contributor profile

Instructions

All action fields have a detailed description within the plugin editor itself. But in short, follow the steps below and check the documentation for more information.

1️⃣ 𝗔𝗱𝗱 𝘁𝗵𝗲 𝗮𝗰𝘁𝗶𝗼𝗻 𝘁𝗼 𝘆𝗼𝘂𝗿 𝗕𝗮𝗰𝗸𝗲𝗻𝗱 𝗪𝗼𝗿𝗸𝗳𝗹𝗼𝘄
Create the endpoint, register its address in your Stripe dashboard, and place Stripe - Verify Webhook Signature as the first step of that workflow, before any business logic.

2️⃣ 𝗙𝗶𝗹𝗹 𝘁𝗵𝗲 𝗶𝗻𝗽𝘂𝘁𝘀 𝗲𝘅𝗮𝗰𝘁𝗹𝘆 𝗮𝘀 𝗿𝗲𝗰𝗲𝗶𝘃𝗲𝗱
The signing secret, the full Stripe-Signature header and the raw body text.

❗Note: Do not modify, parse or re-serialize the body before passing it. The signature is calculated over the exact bytes Stripe sent, so any change invalidates it.

❗Note: The optional IP check needs "Detect request data" enabled with header detection in the Backend Workflow settings. Without it, [Request IP] has nothing to read.

3️⃣ 𝗕𝗿𝗮𝗻𝗰𝗵 𝗼𝗻 𝘁𝗵𝗲 𝗿𝗲𝘀𝘂𝗹𝘁
Continue only when [is valid] is true. When it is false, terminate the workflow and use the boolean of each cause to route the failure, or [rejection reason] to log it.

❗Note: Branch on the booleans, never on the text of [rejection reason]. A typo in a text comparison never matches and never warns: the branch silently never runs, and the failure looks like nothing happened.

Types

This plugin can be found under the following types:

Categories

This plugin can be found under the following categories:
Technical   •   Payment   •   Ecommerce   •   Small Business   •   Compliance

Resources

Support contact
Documentation

Rating and reviews

No reviews yet

This plugin has not received any reviews.
Bubble