The Problem
My Shopify checkout extension (on thank-you page) works perfectly in development but fails silently in production:
-
No network requests in Network tab -
No console logs appear -
Works fine in dev environment
What I’ve Verified
-
Session token obtained successfully (
api.sessionToken.get()) -
Order ID extracted correctly from
orderConfirmation -
Extension enabled on order status page in Shopify admin
-
Capabilities enabled:
api_access,network_access -
CORS headers set to
https://extensions.shopifycdn.com -
Backend endpoint works when tested directly
Key Code Structure
typescript
useEffect(() => {
const timer = setTimeout(() => {
async function fetchGameDetails() {
const token = await api.sessionToken.get();
console.log({ token, orderID }); // ❌ Never logs in production
const result = await getGameDetails(appUrl, orderID, token);
// ... handle result
}
fetchGameDetails();
}, 5000);
return () => clearTimeout(timer);
}, [orderID]);
Visual Difference
Dev: <div class="Geu8c">{children}</div> ![]()
Production: Nothing ![]()
Environment
-
Shopify API:
2025-07 -
Extension:
purchase.thank-you.block.render -
Backend: Remix on Fly.io
-
Deploy:
shopify app deploy
The extension loads (visible in metadata), but JavaScript execution seems to completely stop in production. No errors, no logs, nothing.
Has anyone experienced this? Any debugging suggestions?