Reference · Tools

Stripe Trigger

Starts workflow when a Stripe event occurs (payments, subscriptions, invoices, etc.)

Webhook trigger Finance v1

The Stripe Trigger fires on the Stripe webhook events you configure — charge.succeeded, invoice.paid, subscription changes and the rest. A typical build is provisioning access the moment a payment succeeds and revoking it when a subscription lapses.

Node type
Webhook trigger
Parameters
2
Outputs
Output
Credentials
Stripe API

Stripe Trigger

Trigger workflow on Stripe payment events

Overview

Webhook trigger that listens for Stripe events. Stripe sends POST requests to this webhook when configured events occur in your Stripe account. Supports 136+ event types covering charges, customers, invoices, subscriptions, payouts, payment intents, and more. Includes HMAC-SHA256 signature verification using the Stripe signing secret to ensure webhook authenticity. Use this trigger to automate workflows based on payment events, subscription lifecycle changes, invoice updates, and other Stripe activity.

Category: Finance
Tool Name: stripe_trigger
Version: 1

Appearance: Icon: si-stripe | Color: #635bff

Node Type

Trigger — webhook (receives incoming HTTP callbacks)

Input / Output

DirectionPort(s)
InputNone (trigger node)
OutputOutput

Credentials

This tool requires Stripe API credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
EventsmultiOptionsYes[]The Stripe events to listen for. Select * for all events.
Options: * (any event — wildcard), account.updated, account.application.authorized, account.application.deauthorized, account.external_account.created, account.external_account.deleted, account.external_account.updated, application_fee.created, application_fee.refunded, application_fee.refund.updated, balance.available, capability.updated, charge.captured, charge.expired, charge.failed, charge.pending, charge.refunded, charge.succeeded, charge.updated, charge.dispute.closed, charge.dispute.created, charge.dispute.funds_reinstated, charge.dispute.funds_withdrawn, charge.dispute.updated, charge.refund.updated, checkout.session.completed, coupon.created, coupon.deleted, coupon.updated, credit_note.created, credit_note.updated, credit_note.voided, customer.created, customer.deleted, customer.updated, customer.discount.created, customer.discount.deleted, customer.discount.updated, customer.source.created, customer.source.deleted, customer.source.expiring, customer.source.updated, customer.subscription.created, customer.subscription.deleted, customer.subscription.trial_will_end, customer.subscription.updated, customer.tax_id.created, customer.tax_id.deleted, customer.tax_id.updated, file.created, invoice.created, invoice.deleted, invoice.finalized, invoice.marked_uncollectible, invoice.paid, invoice.payment_action_required, invoice.payment_failed, invoice_payment.paid, invoice.payment_succeeded, invoice.sent, invoice.upcoming, invoice.updated, invoice.voided, invoiceitem.created, invoiceitem.deleted, invoiceitem.updated, issuing_authorization.created, issuing_authorization.request, issuing_authorization.updated, issuing_card.created, issuing_card.updated, issuing_cardholder.created, issuing_cardholder.updated, issuing_dispute.created, issuing_dispute.updated, issuing_settlement.created, issuing_settlement.updated, issuing_transaction.created, issuing_transaction.updated, order.created, order.payment_failed, order.payment_succeeded, order.updated, order_return.created, payment_intent.amount_capturable_updated, payment_intent.canceled, payment_intent.created, payment_intent.payment_failed, payment_intent.succeeded, payment_intent.requires_action, payment_method.attached, payment_method.card_automatically_updated, payment_method.detached, payment_method.updated, payout.canceled, payout.created, payout.failed, payout.paid, payout.updated, person.created, person.deleted, person.updated, plan.created, plan.deleted, plan.updated, product.created, product.deleted, product.updated, radar.early_fraud_warning.created, radar.early_fraud_warning.updated, recipient.created, recipient.deleted, recipient.updated, reporting.report_run.failed, reporting.report_run.succeeded, reporting.report_type.updated, review.closed, review.opened, setup_intent.canceled, setup_intent.created, setup_intent.setup_failed, setup_intent.succeeded, sigma.scheduled_query_run.created, sku.created, sku.deleted, sku.updated, source.canceled, source.chargeable, source.failed, source.mandate_notification, source.refund_attributes_required, source.transaction.created, source.transaction.updated, subscription_schedule.aborted, subscription_schedule.canceled, subscription_schedule.completed, subscription_schedule.created, subscription_schedule.expiring, subscription_schedule.released, subscription_schedule.updated, tax_rate.created, tax_rate.updated, topup.canceled, topup.created, topup.failed, topup.reversed, topup.succeeded, transfer.created, transfer.failed, transfer.paid, transfer.reversed, transfer.updated
API VersionstringNoThe Stripe API version to use for webhook event payloads. Controls the format and structure of incoming events. If empty, Stripe uses the default API version set in your account.

Output Data

Each accepted Stripe event produces one output item carrying the Stripe event envelope:

  • id — the Stripe event ID (evt_…)
  • type — the Stripe event type, e.g. charge.succeeded
  • object — always event
  • api_version — the API version Stripe used to render the payload
  • created — the event creation time as a Unix timestamp
  • livemodetrue for live-mode events, false in test mode
  • pending_webhooks — how many webhook deliveries Stripe still has queued for this event
  • request — the API request that caused the event, or null
  • data — the event data; the affected resource is at data.object
  • _trigger — always stripe_webhook
  • _timestamp — ISO 8601 timestamp of when the event was received
  • _webhookEvent — the matched event type

Events whose type is not in your Events selection are acknowledged to Stripe but do not start the workflow.

Reference the payload downstream by expression, e.g. {{ $json.data.object.amount }}.

Usage Examples

  • Start workflow when a payment succeeds
  • Trigger on new customer creation in Stripe
  • React to subscription cancellations
  • Process invoice payment failures automatically
  • Handle Stripe checkout session completions

Example Configuration

Start a workflow whenever a charge succeeds:

{
  "type": "stripe_trigger",
  "parameters": {
    "events": ["charge.succeeded"],
    "apiVersion": ""
  }
}

Watch the subscription lifecycle:

{
  "type": "stripe_trigger",
  "parameters": {
    "events": [
      "customer.subscription.created",
      "customer.subscription.updated",
      "customer.subscription.deleted"
    ],
    "apiVersion": ""
  }
}

Handle invoice payment failures on a pinned API version:

{
  "type": "stripe_trigger",
  "parameters": {
    "events": ["invoice.payment_failed", "invoice.paid"],
    "apiVersion": "2024-12-18.acacia"
  }
}

Receive every Stripe event and branch downstream on {{ $json.type }}:

{
  "type": "stripe_trigger",
  "parameters": {
    "events": ["*"],
    "apiVersion": ""
  }
}

Trigger Behavior

  • Activation: When the workflow is activated, a webhook endpoint is registered with the service.
  • Deactivation: The webhook is automatically unregistered when the workflow is deactivated.
  • Payload: The incoming webhook payload is parsed and output as workflow items.
  • Verification: Supports signature verification where applicable.

Tips

Listens for Stripe webhook events. Configure which events to listen for (e.g. charge.succeeded, invoice.paid). The webhook URL is automatically generated — register it in your Stripe dashboard. Optionally provide a signing secret for signature verification.

Frequently asked questions

Do I have to register the webhook?

Yes. The webhook URL is generated automatically, but you register it in your Stripe dashboard against the events you want delivered.

How do I verify payloads are genuinely from Stripe?

Provide a signing secret, which enables signature verification. Without it the trigger relies on the secrecy of the URL alone.

Which events should I subscribe to?

Only those you handle. Subscribing to everything means the workflow wakes for events it ignores, which wastes runs and muddies the logs.

Which credential does it need?

A Stripe API credential, the same one the Stripe action node uses.

Build with the Stripe Trigger node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Stripe API credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.