Why a live payment is not a release test
The riskiest way to test a SaaS checkout is to make a real payment to yourself. It feels reassuring: the live checkout opened, the card worked, the webhook fired and the refund came back. But that proof mixes engineering QA with revenue evidence.
Three different proofs
A cleaner billing release process separates three questions:
- Does billing behave correctly? Test payment, refund, webhook and subscription edge cases in a Stripe sandbox.
- Is production configured correctly? Verify the live price, currency, checkout destination, webhook configuration and deployed revision without moving money.
- Did a customer pay? Treat a genuine live transaction as customer activity and revenue evidence, not as an engineering fixture.
Stripe documents sandboxes as isolated testing environments and separates sandbox credentials from live credentials. The practical lesson is broader than Stripe: operational proof and commercial proof should not share the same transaction.
A useful boundary
Use this sequence: Sandbox QA → read-only production verification → genuine customer payment. It keeps release evidence, reconciliation and revenue numbers easier to interpret.
We recently tightened the same boundary in VendorOS. That does not prove live customer revenue; it is a workflow lesson about keeping evidence categories separate.
If your release process still requires a live self-payment, ask which part of the verification can become read-only.
Sources:
Top comments (0)