Sales break when checkout becomes an assumption
When paid traffic is running, every payment screen must answer two questions: can the customer pay now, and is the product released only after real confirmation? In fast AI-built SaaS, the mistake often sits between those two edges.
Cards, Pix, boleto, Google Pay, and Apple Pay do not behave the same way. Cards may confirm immediately. Pix and boleto can be asynchronous. Wallets depend on browser, country, domain, account configuration, and wallet policy. If the page promises a method that is not active yet, trust drops. If the success URL unlocks access before the webhook, risk rises.
What needs to be locked down
- Price from the server, never from the button.
- Hosted Checkout so card data never touches the app.
- Webhook signature verification over the raw request body.
- Fulfillment tied to
checkout.session.completedor the equivalent paid event. - Idempotency so Stripe retries do not duplicate access.
- Product-specific email: Promptbook delivers files; Risk Review starts onboarding.
- Clear fallback when Pix, boleto, or wallets do not appear in Checkout.
Pix, boleto, and GPay are not just code
The code can request automatic payment methods, but Stripe decides what appears based on account configuration, method eligibility, currency, country, device, and wallet rules. The public page should not promise "Pix is available" if the account still only shows boleto. The safer copy is clear: secure payment through Stripe; available methods appear at Checkout.
If Pix is pending on the account, the button can still sell by card or boleto. If Pix is active, it appears without changing the frontend. The application should not force a method that the processor has not enabled.
The critical part: after payment
Promptbook is a digital product. The email must deliver a personal temporary link. Risk Review is a service. The email must request evidence, scope, review window, and secure contact path. Mixing both creates support load, wrong expectations, and broken delivery.
Production checklist
- Buy with a card in a real production session.
- Test boleto until paid status or controlled expiration.
- Confirm whether Pix appears when active in Stripe.
- Verify GPay in Chrome with an eligible wallet and compatible domain.
- Simulate webhook retries without duplicated delivery.
- Check received email, subject, body, links, and return page.
- Block Checkout if webhook, email, or allowlisted price is missing.
Good checkout does not depend on redirect luck. It sells with available methods, confirms on the server, and sends the right next step for each product.


