All packsApp Store MachinerySolve
app store server api sandbox production 4040010 transactionidnotfound
TestFlight transactions 404 against the production Server API
Calling the App Store Server API's production endpoint for a sandbox (TestFlight) transaction returns an undocumented TransactionIdNotFound -- code has to retry against sandbox itself.
This is one of the things App Store Machinery already handles. Sell subscriptions and one-time unlocks in your iOS app, and get it through App Review.
Is this you?
A TestFlight or sandbox purchase's transaction id genuinely does not exist against the App Store Server API's production endpoint -- calling it there returns error code 4040010 (TransactionIdNotFound), which reads like a real error, not a routing hint. Code that treats this as a hard failure (log it, surface an error to the tester) never actually resolves a huge share of pre-release testing transactions, because nothing tells it to simply try the sandbox endpoint instead.
Why this one is easy to get wrong
There's no documentation stating plainly "if production 404s with this exact code, retry against sandbox" in a way that surfaces before someone hits it -- it's the kind of undocumented operational gap that's typically discovered by trial and error during TestFlight testing, not something derivable from reading the API reference in isolation.
What you get instead
Decision 6 hardcodes the exact routing rule: call the production Server API first, and specifically on APIException error code 4040010, retry the identical call against the sandbox endpoint. Notifications take a parallel but distinct approach -- App Store Connect lets you register both a production and a sandbox URL pointing at the same service path, which reads data.environment from the payload itself to pick the matching verifier instance, so the client side of this needs no special handling at all.
Source: ARCHITECTURE.md decision 6 — checkable in the pack you receive
How you actually use this
You don’t install a library or wire up an SDK. Your own coding agent builds the code in your project, and you keep it — no runtime dependency on us.
Step 1
Download and unzip
You get a folder: the docs that tell an agent what to build, a starting skeleton, and the test suite that decides when it's done.
Step 2
Open it in Claude Code or Cursor
Point your coding agent at the folder. Nothing to install, no account with us, no API key.
Step 3
Paste one prompt
The pack contains the exact prompt. Paste it as your first message and leave it alone — it works through the build itself, choosing a cheaper or stronger model per task.
Step 4
Run ./verify.sh
One command. It prints a pass or fail for every check. Green means the build is done — the same script we ran to produce the receipt on this page.
Typical build: about 21 minutes of your agent working, mostly unattended. Then you integrate the working module into your app the way you would any code you’d written yourself.
Why you can believe this
3 of 3 runs passedWe ran this pack from an empty folder 3 times and published exactly what happened — every check, the model, the token cost, the wall time. Not a testimonial, and not our opinion: the same verify.sh you run yourself. Read the full receipt →