How to handle webhooks
Follow these steps in Evonx to receive and process webhooks reliably from Stripe, HubSpot, or custom providers. Use this when external systems must push events into your domain model.
Step-by-step
Expose a dedicated endpoint
Create a server route per provider with no shared secret leakage into client code.
Verify signatures
Validate provider signatures and reject unsigned or replayed payloads early.
Make handlers idempotent
Store event IDs and ignore duplicates so retries never double-apply side effects.
Acknowledge quickly
Return 2xx fast; enqueue heavy work so providers do not time out and retry endlessly.
Log and dead-letter failures
Persist failed payloads with reasons and provide a safe replay path for operators.
Preview with provider test tools
Use Stripe CLI or provider sandboxes against Evonx preview URLs before production merge.
Outcome
Webhook receivers with signature checks, idempotency, and queued processing you can operate safely.
Related resources
FAQ
Why did my provider disable the endpoint?
Usually repeated non-2xx responses. Acknowledge quickly and process asynchronously.
How do I test locally?
Use provider CLIs or tunnels to forward events to preview or local servers with the same verification code.
Should one route handle all providers?
Prefer separate routes per provider so secrets, parsers, and retry policies stay isolated.
Build production software with Evonx
Start from a template or connect an existing repository. Evonx helps you ship real applications with preview, evolution threads, and pull-request delivery—not disposable demos.