STILLWORKS
☕ Support

Invariant

Checks that Stripe/Razorpay webhook handlers leave your database in a correct state

Visit product ↗
Listed Aug 21, 2026

Invariant is an open-source test engine that checks whether your Stripe or Razorpay webhook handlers actually leave the database correct, not just whether the HTTP request went through. It ships 8+ built-in scenarios — duplicate delivery, tampered signatures, out-of-order events, server crashes mid-write, concurrent races, refund bounds — and runs them against async queue workers like BullMQ, Temporal, Celery, or Sidekiq in under 10 seconds. To use it, your app exposes a small /api/db-state probe endpoint that Invariant queries to verify business post-conditions were met. It's explicitly not a replacement for stripe trigger or error monitoring like Datadog/Sentry — those check delivery and exceptions, not database correctness.

What holds up

  • +8+ built-in scenarios cover real payment bugs: duplicate delivery, tampered signatures, race conditions
  • +Checks async queue workers too — BullMQ, Temporal, Celery, and Sidekiq — not just synchronous handlers
  • +Open source and runs in under 10 seconds, so it fits into a normal test or CI loop

Mind the limits

  • Requires adding a /api/db-state probe endpoint to your app, and remembering to block it in production
  • Only covers Stripe and Razorpay — other payment providers aren't in the built-in scenario library

Featured here? Take the badge

Put it on your site — it links back to this review. Free for every listed product, always.

Picked by StillWorks
<a href="https://stillworks.dev/products/p/invariant/"><img src="https://stillworks.dev/badge/invariant.svg" alt="Picked by StillWorks" width="250" height="54"></a>