A developer reports a production incident on Next.js 16 where calls to Stripe fail with a “StripeConnectionError” after 9 milliseconds, while the same code works in a preview environment. The error includes null values for fields such as code, statusCode, and requestId, suggesting the request never reaches Stripe. To isolate the cause, the developer uses a four-step “falsify before fix” approach: first reproducing the issue in preview (works), then deploying a minimal Vercel endpoint that calls stripe.balance.retrieve() (fails in production with the same 9ms error), then bypassing the Stripe SDK by calling Stripe’s API directly with fetch (succeeds and returns a successful livemode response), and finally inspecting the Stripe SDK source at the failure point. The developer concludes the Next 16 bundling process selects a conditional “worker” export from stripe^22, loading stripe.esm.worker.js intended for Cloudflare Workers. That worker-oriented variant fails when run under Vercel’s Node runtime, causing an immediate promise rejection before any network request is made. As a workaround, the developer replaces SDK usage with direct fetches to api.stripe.com for several Stripe endpoints, unblocking payment flows.