Rehearse billing changes before money moves.
Test payment flows with masked account data and a local Stripe simulator.
Check the resulting ledger entries against your expected outcomes.
Find duplicate charges, missed events, and inconsistent balances in an isolated run.
- 01twin.app.internalPOST /checkoutorigin0.4ms
- 02af-proxy:8443egress ruleinspect1.1ms
- 03stripe.pack.local412bPOST /v1/chargesmockledger
- 04api.stripe.comlive processordenyrefused
The charge is written to a clone-local ledger. api.stripe.com never resolves.
Run the payment flow inside your test environment.
The mode is set per host. block, allow, capture, mock, emulate, sandbox or synth, written against the host in antifailure.yaml.
Nothing leaves without a rule. Egress defaults to block, so a processor nobody configured is refused on its first run rather than passed through.
The ledger records the decision. Each attempt is stored with the mode that decided it, so the reason a request never left is readable afterwards.
A host with no rule is blocked on first contact.
Check the result across your services.
Ledger comparison. The oracle compares writes, events, and third-party effects against baseline.
Irreversible writes. Test whether the previous release can still read the updated schema.
Your billing workflows. Define the payment and subscription journeys that matter to your team.
Twin ledger
in-boundary- chg_184$49.00POST /v1/charges
- chg_185$49.00retry checkout
- inv_044$0.00refund path
Live processors
- api.stripe.com
- api.sendgrid.com
- hooks.slack.com
- api.prod.internal
TTL contained. Processors never resolved.
See how every gateway request was handled.
Inspect the decision. Review whether each request was blocked, captured, simulated, or allowed by policy.
Capture notifications. Read captured messages and inspect webhook payloads during the test.
Block unknown hosts. New destinations remain blocked until you configure how they should behave.
Attempted-effect ledger
LNS 04
Twin run 08f2
must never · fail closed
- 01MOCKSTRIPEPOST /v1/charges $49.00
- 02CAPTURESENDGRIDrender invoice.paid.html
- 03CAPTURESLACKwebhook preview stored
- 04DENYHOSTNAMEapi.prod.internal
3 contained · 1 denied · 0 charged
Bring your next pull request.
See how Antifailure would test your stack, what it would check, and the evidence your team would review before merging.