Stripe HandleEvent

Stripe HandleEvent

Certified

Validate and parse Stripe webhooks

Validates Stripe webhook signatures with the endpoint secret, then returns the event id/type plus the deserialized data map. Fails fast on signature mismatch; provide the raw request body and the Stripe-Signature header as received.

yaml
type: io.kestra.plugin.stripe.webhook.HandleEvent

Receive a Stripe webhook

yaml
id: stripe_webhook
namespace: company.team

tasks:
  - id: handle_webhook
    type: io.kestra.plugin.stripe.webhook.HandleEvent
    apiKey: "{{ secret('STRIPE_API_KEY') }}"
    payload: "{{ trigger.payload }}"
    signatureHeader: "{{ trigger.headers['Stripe-Signature'] }}"
    endpointSecret: "{{ secret('STRIPE_WEBHOOK_SECRET') }}"

triggers:
  - id: webhook
    type: io.kestra.plugin.core.trigger.Webhook
    key: 4wjtkzwVGBM9yKnjm3yv8r
Properties

Stripe API Key

Secret key for authenticating with Stripe. Starts with 'sk_' for live/test keys.

Webhook endpoint secret

Signing secret configured on the Stripe webhook endpoint; required for signature validation

Webhook payload body

Raw JSON request body from Stripe; must be unmodified for signature verification

Stripe-Signature header value

Exact Stripe-Signature header from the incoming request

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Event data payload

Deserialized object map from event.data.object

Stripe event ID

Raw webhook payload

Original payload body returned for downstream auditing