SHIPGRADE
USE CASE · ADDING PAYMENTS SAFELY

Customers are ready to pay and you are not ready to take their money.

The situation

Charging money is the point where a prototype stops being forgiving. Most bugs cost somebody a bad session. A billing bug costs somebody their money, and it arrives as a support thread, a chargeback, or an account that stayed active for three months without paying. The logic is not difficult; it is unusually unforgiving about the cases nobody thinks to test.

What breaks

Webhooks accepted without verifying the signature, so anyone who finds the URL can mark an invoice paid. No idempotency key on charge creation, so a double click bills twice. Subscription state kept in the app instead of reconciled with the provider, so the two quietly drift apart. Nothing written for a failed card, a refund, or a plan change halfway through a period.

PRODUCTION READINESS REPORT
AUDIT NO. 0147 · AUG 2026
NOT SHIPGRADE · YETD+AUG 2026
Anon key with write access in the clientCRITICAL
Auth checked in the UI, not in the APICRITICAL
No rate limiting on any endpointCRITICAL
Schema edited live, no migrationsNEEDS ATTENTION
Logging is console.log onlyNEEDS ATTENTION
An illustrative finding set for an AI-built export. All fixable in 4 weeks.
ILLUSTRATIVE · NOT A CUSTOMER REPORT
totally normal for AI-built apps — fixable, here's the plan →

What we do about it

STEP 01 · FREEAudit the repoRead-only access, and 48 hours later you have a graded report: everything standing between the prototype and production, ordered by risk and priced.STEP 02 · FIXED PRICEProductionize itWe keep the UI and the flows your users already validated, and make everything underneath them production-grade.STEP 03 · OPTIONALKeep it healthyMonitoring, patches, and a steady lane of improvements each month until you have your own team. Cancel any month.

What safe billing has to include

  • 01Signed webhooks, verified, and safe to replay when they arrive twice
  • 02Idempotent charge creation, so a retry never bills twice
  • 03Subscription state reconciled against the provider as the source of truth
  • 04Dunning for failed cards, plus refunds and proration you are not doing by hand
MORE USE CASES
Prototype to productionPassing security reviewStabilizing a live app