Stripe
Receive Stripe webhook events and trigger workflows on payment success, failure, refund, and dispute activity.
charge.succeeded, payment_intent.payment_failed), this node starts a workflow run and passes the parsed event data to downstream nodes. The settings class is StripePaymentNodeSettings.
Supported Event Types
| Stripe Event | Meaning |
|---|---|
charge.succeeded | A payment was captured successfully. |
charge.failed | A payment attempt failed. |
charge.refunded | A refund was issued against a charge. |
payment_intent.succeeded | A PaymentIntent was confirmed and funds captured. |
payment_intent.payment_failed | A PaymentIntent failed — card declined or authentication failed. |
charge.dispute.created | A customer opened a dispute (chargeback) against a charge. |
charge.dispute.closed | A dispute was resolved — won, lost, or withdrawn. |
How to Configure the Stripe Webhook
After saving your Stripe node in BizFirst, register the BizFirst endpoint in your Stripe Dashboard:
- In the Stripe Dashboard, go to Developers > Webhooks > Add endpoint.
- Set the Endpoint URL to the BizFirst Stripe webhook endpoint provided in the node settings panel.
- Select the events you want to receive — choose from the 7 supported event types above.
- After saving, Stripe shows a Signing Secret (starts with
whsec_). Copy this value. - Paste the signing secret into the WebhookSecret field in your BizFirst Stripe node settings.
- BizFirst will now verify every incoming event using Stripe's HMAC signature before starting any workflow.
Filtering Events
The node settings give you multiple filters to control which events trigger a workflow run:
- AllowedEventTypes — restrict to specific event types. Supports wildcards like
charge.*orpayment_intent.*. - MinimumAmount / MaximumAmount — only process events where the charge amount is within a defined range (in cents). Set to 0 to disable the filter.
- AllowedCurrencies — restrict to specific ISO currency codes (e.g.
usd,gbp,eur). - RequireKnownCustomer — only process events that have a Stripe customer ID attached.
- EnableIdempotencyCheck — deduplicate retried Stripe deliveries using the event signature.
What This Node Does Not Do
The Stripe node does not create payment intents, customers, subscriptions, refunds, or invoices. It does not call the Stripe API at all. It only receives and parses events that Stripe sends to it. If you need to call the Stripe API from a workflow, use an HTTP Request node with your Stripe secret key.
Business Use Cases
Payment Success — Provision Service
When charge.succeeded or payment_intent.succeeded fires, extract the customer ID and metadata, update the order status in your database, send a receipt email, and provision access to the purchased service — all in a single automated workflow.
Payment Failure — Retry and Notify
When payment_intent.payment_failed fires, check the failure reason, send a personalised recovery email with a payment update link, and schedule a follow-up reminder if no update is received within 3 days.
Refund — Update Order Status
When charge.refunded fires, update the order record to refunded, reverse any access grants or fulfilment steps, and send a refund confirmation to the customer.
Dispute — Pause Account and Alert
When charge.dispute.created fires, immediately pause the customer account, alert the billing team in Slack, and open a case in your CRM with the dispute amount and reason.
All Charge Events via Wildcard
Configure AllowedEventTypes to charge.* to receive all charge lifecycle events in a single workflow and route them using a Switch node on event_type.
In This Guide
Configuration
All StripePaymentNodeSettings fields — webhook secret, event filters, amount range, currency, and idempotency.
Input & Output
Output field schemas per event type — charge, payment_intent, and dispute events.
Examples
Five examples: payment success provisioning, failure retry, refund order update, dispute response, and wildcard charge filter.