
Stripe HandleEvent
CertifiedValidate and parse Stripe webhooks
Stripe HandleEvent
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.
type: io.kestra.plugin.stripe.webhook.HandleEventExamples
Receive a Stripe webhook
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
apiKey *string
Stripe API Key
Secret key for authenticating with Stripe. Starts with 'sk_' for live/test keys.
endpointSecret *string
Webhook endpoint secret
Signing secret configured on the Stripe webhook endpoint; required for signature validation
payload *string
Webhook payload body
Raw JSON request body from Stripe; must be unmodified for signature verification
signatureHeader *string
Stripe-Signature header value
Exact Stripe-Signature header from the incoming request
assets
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.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset 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.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150Outputs
data object
Event data payload
Deserialized object map from event.data.object
id string
Stripe event ID
raw string
Raw webhook payload
Original payload body returned for downstream auditing