Stripe delivers at-least-once — duplicates will happen. Verify the signature, drop events you have already seen (24h window on body.id), keep only successful payments, deliver with retries.
Duplicate-proof Stripe payment processing
How this workflow works
1. Stripe webhook
triggerStarts the workflow — from an inbound HTTP request or on a schedule.
2. Verify Stripe signature
webhook-verifyRejects requests whose HMAC signature does not match your secret.
3. Drop duplicate events
webhook-dedupStops the run if the same key was seen within the TTL. Providers deliver at-least-once — duplicates WILL happen.
4. Only successful payments
filterStops the run unless the payload matches your conditions.
5. POST to your fulfilment API
http-resilientHTTP request with retries, backoff, and jitter. ⚠ On success the response body replaces the payload.
Run it without writing any code
Every step above is a visual node in the Requex workflow builder. Clone this template, fill in your own credentials where a step needs them, and it runs in the cloud — no server, no cron box, no npm install. Webhook-triggered workflows get an always-on URL; scheduled ones run on your cron expression.
Open this template in the builder