Chrome extension · free

Test the payment failures your provider's sandbox can't.

Finxture runs deterministic payment scenarios — duplicates, retries, out-of-order webhooks — against your localhost. Signed like the real thing. No magic amounts. No ngrok.

Your checkout is hosted by your provider and your backend consumes webhooks? You're exactly who this is for.

A provider sandbox is built to prove your golden flow works.

That is a real job and it does it well — one clean payment, start to finish, before you ship. It is also the easy half. The other half is everything that happens once the payment stops being clean.

  • [ ]duplicate webhook delivery
  • [ ]out-of-order events
  • [ ]a webhook that never arrives
  • [ ]retry after your 500
  • [ ]a fraud decline that isn’t a magic card number

Every one of those has exactly one correct outcome in your own database, and the only way to know your code produces it is to make the thing happen on purpose and then go and look at what you stored. Magic test values work the other way round: they encode the outcome into the payload. Your test suite shouldn't depend on 4000 meaning “declined”.

So the missing piece is not another way to fire an event. It is an agreed set of the cases worth testing at all — which is what Finxture is trying to become.

Which part of a payment each tool can stage Three phases of a payment run left to right — the API call, the awkward middle where fraud and 3D Secure are decided, and the delivery of events to your endpoint — with one lane per tool underneath. A filled cell is something a test can drive on purpose; a dashed cell can only be done by hand; an empty cell means the tool does not reach that phase at all. Stripe test mode reaches all three, but stages the middle only through a browser. The Stripe CLI drives the real API and delivers one event at a time, or resends one, and stages nothing in the middle. stripe-mock answers API calls and stops there, with no middle and no deliveries. Finxture covers the delivery phase only, with a sequence you chose that repeats exactly; it has no API of its own and nothing in the middle. Both ends of a payment are well served and the middle is not.1 · The API callcreate the payment2 · The middlefraud, 3DS3 · Deliveryevents arrivingStripe test modethe real API,real objectsfraud and 3DS,through a browserarrive, but noton requestStripe CLIdrives thereal APIone event, orresend onestripe-mockanswers calls,stores nothingFinxturechosen andrepeatableFilled: a test can drive it. Dashed: only by hand.
The ends of a payment are well served. The awkward middle — where your system actually decides what to store — is where every lane thins out.

How that compares to Stripe test mode, the Stripe CLI, and stripe-mock

How it works

  1. 1Install the extension
  2. 2Point it at your localhost webhook endpoint
  3. 3Pick a scenario and run
Finxture ──signed webhook──> localhost:3000/webhooks/stripe

Everything stays on your machine. The extension talks only to the endpoint you configure.

Scenario catalog

  • [x]Payment succeeds (available)
  • [x]Duplicate payment webhook (available)
  • [ ]Declined payment (coming soon)
  • [ ]Requires customer action (coming soon)
  • [ ]Out-of-order webhook delivery (coming soon)
  • [ ]Partial capture (coming soon)
  • [ ]Multicapture (coming soon)

See every scenario and what it proves →

We tell you what should happen on your side.

  • [x]acknowledged with 2xx
  • [x]second delivery treated as no-op
  • [!]charge recorded twice

Every scenario ships with the checklist of what your application must do — and verifies what it can observe.

We can't see your data. By design.

  • Webhook bodies and secrets never leave your machine.
  • Requests go only to the localhost endpoint you configure.
  • No accounts, no payload collection.

Read the privacy policy →

What's next

Consistent API state + webhooks, no tunnels — in development.

Scenario updates will be announced here — subscription coming soon.

Frequently asked questions

How is this different from Stripe CLI?
Stripe CLI replays happy-path events officially and well. Finxture runs deterministic failure sequences — duplicates, reordering, omissions — with verdicts about your app's behavior. They complement each other.
Is it free?
The extension is free. A paid cloud sandbox with consistent API state is planned.
Which providers?
Stripe-compatible today. The canonical scenario model is provider-neutral by design.
Is it safe to use?
Synthetic test data only, localhost-only delivery, and the extension visibly discourages production endpoints.