Integrating Stripe into a production web application
Checkout, Connect, webhooks, and the operational realities of taking payments and paying hosts in a live product.
Stripe demos are easy. Production payments are a state machine. On Find Flag Football, registration money moves through Checkout, fulfillment depends on webhooks plus a return-path status check, and hosts get paid through Connect. Each path has failure modes that users feel immediately.
I treat checkout as the source of truth for paid registration intent, then make fulfillment idempotent. “No paid limbo” is a product rule: if money succeeded, the system must converge on a clear registration state. That rule drives webhook design, retries, and support tooling more than any particular Stripe SDK call.
Connect changes the conversation from “we take payments” to “we operate a marketplace-like money flow.” Embedded onboarding, platform fees, and connected-account webhooks are product surfaces. Explaining them to a nontechnical stakeholder is a Solutions Engineering task that benefits from having implemented them.
If you evaluate Stripe for a customer, ask about refunds, partial failures, reconciliation, and who owns support when a payout is delayed. Those answers reveal whether the integration is a button or a business system.