One click, two charges
AI-built forms rarely stop a double click, so a slow Pay or Create account button can mean two charges or two accounts. Two small fixes and a quick test.
AI-built forms rarely stop a double click. On a slow connection, a user taps "Pay" or "Create account," nothing seems to happen, so they tap again. Now there are two Stripe charges, two accounts, or a "this email is already taken" error on a signup that actually worked.
Two small fixes cover most of it. First, disable the button and show a spinner the moment it's clicked, and only re-enable it if the request fails. Second, make the server safe to call twice: send an idempotency key with Stripe requests, and treat "user already exists" right after signup as a success, not an error.
Test it right now: throttle your browser to "Slow 3G" in dev tools and double-click every submit button you have.
Want your signup and login flows watched for you? Start with a free check at FunnelSitter.