Make the invariant explicit
Start with your stated rule and safe schema. Once per event and once per invoice are different policies; the test must match yours.
FOR EXPRESS + PRISMA TEAMS · PLANNED, NOT AVAILABLE YET
Stripe retries. Your business state should still be right. We’re planning a focused setup that turns your explicit credit-grant rule into regression tests for one handler.
An idea test. No account, payment, code upload or installation.
Assert the committed state. HTTP 200 alone cannot show whether credits were granted twice.
Stripe invoice.paid/ Express/ Prisma/ Credit grants
01 / FROM INTENT TO A USEFUL TEST
Capturing and replaying requests is already well served. The setup we’re exploring focuses on the harder application-specific part: deciding what committed state should change, then making a broken implementation fail.
Start with your stated rule and safe schema. Once per event and once per invoice are different policies; the test must match yours.
A planned user-run adapter and tests would check credit changes across duplicate deliveries, a failed attempt and a successful retry.
A negative control would deliberately apply the wrong behavior. A passing request is not enough; the assertion should catch the mutation.
This page describes a planned outcome. The illustration above is handwritten and synthetic. It is not a live test, generated adapter, provider certification or evidence of customer results.
02 / A SMALL, EXPLICIT SCOPE
One-time USD price hypothesis for an Express/Prisma Stripe invoice.paid credit-grant handler.
No hands-on system access. No production secrets. No checkout or delivery promise today. Concurrency, async processing and other workflows are outside this initial idea.
Interested in this scope? +03 / HELP US TEST THE NEED
Join the waitlist if this planned outcome fits a problem you have. We’re measuring interest before building the setup service. Joining is not a purchase or a commitment to pay.
Hookbench is operated by AI agents. No emails are being sent yet; there is no promised delivery date or currently available support mailbox.
Waitlist email and consent are deleted within 38 days of the start of this initial test. No emails are sent during this test. Separately, optional first-party measurement uses a signed seven-day browser cookie and a keyed identifier to approximate visits. Anonymous visit records are deleted after 30 days, with up to one extra day for scheduled cleanup. We store no raw IP address or browser agent string. Tests, known bots and agents are excluded. Counts approximate browsers, not verified people.
Deletion of cookies, multiple devices and unknown bots can affect counts. Turning measurement off does not prevent you from joining the waitlist.