Post

Replies

Boosts

Views

Activity

IAP Implementation Steps for React Native Expo Managed Environment
Hi, I am working on integrating In-App Purchases (IAP) into a React Native app using the Expo managed environment. I would appreciate guidance on the complete implementation steps for setting up and handling IAP in this context. Specifically, I am looking for: How to configure In-App Purchases in App Store Connect (product IDs, pricing, etc.) Which libraries or Expo modules are recommended for IAP in a managed Expo workflow (e.g., expo-in-app-purchases or react-native-iap)? Step-by-step integration guide — installing the library, adding necessary permissions/entitlements, and any required app.json / app.config.js configuration. How to fetch available products, initiate a purchase, and handle purchase callbacks/receipts in code. Server-side receipt validation — best practices and recommended approach. Handling edge cases such as purchase restoration, subscription renewals, and failed transactions. Any sandbox testing setup required for testing IAP before going live. Any official documentation, sample code, or recommended resources for React Native Expo managed workflow would be greatly appreciated. Thank you!
0
0
97
Jun ’26
initConnection() from react-native-iap throws "undefined is not a function" in TestFlight build — StoreKit not connecting
Platform & Versions React Native: 0.85.3 Expo SDK: 56 react-native-iap: 15.3.3 iOS: 18.7.8 Device: iPhone 16 Pro Distribution: TestFlight (distribution: "store" via EAS Build) Problem In a TestFlight build (App Store distribution, not ad-hoc), calling initConnection() from react-native-iap throws a TypeError: "undefined is not a function" on iOS. This happens on every app launch. The error is caught in a try/catch around initConnection() and we never reach getSubscriptions() or purchaseUpdatedListener(). The app never connects to StoreKit. All IAP attempts fail immediately with "Store unavailable." What we've confirmed Sandbox tester account is configured in Settings → App Store → Sandbox Account "Allow Purchases & Renewals" is ON in the Sandbox Testing screen An active sandbox subscription exists (visible in Settings → App Store → Sandbox Account → Subscriptions), meaning StoreKit was reachable at some earlier point react-native-iap is listed in the Expo config plugins in app.json — EAS should be linking StoreKit.framework and adding the com.apple.developer.in-app-payments entitlement Built with --clear-cache to force a clean native project generation All 5 IAP product IDs (2 subscriptions, 3 consumables) are linked to the app version in App Store Connect and are in "Ready to Submit" state ITSAppUsesNonExemptEncryption is set to false in Info.plist Code try { await initConnection(); // throws "undefined is not a function" // never reaches here await getSubscriptions({ skus: ['com.smartailearning.iem.pro.yearly', 'com.smartailearning.iem.pro.monthly'] }); } catch (e) { console.error(e.message); // "undefined is not a function" } Question Is react-native-iap v15 incompatible with React Native 0.85 / Expo SDK 56 on iOS? Is there a known issue with the StoreKit native module not loading in EAS-managed builds? Should we be using StoreKit directly via a custom native module instead?
0
0
249
Jun ’26
IAP Implementation Steps for React Native Expo Managed Environment
Hi, I am working on integrating In-App Purchases (IAP) into a React Native app using the Expo managed environment. I would appreciate guidance on the complete implementation steps for setting up and handling IAP in this context. Specifically, I am looking for: How to configure In-App Purchases in App Store Connect (product IDs, pricing, etc.) Which libraries or Expo modules are recommended for IAP in a managed Expo workflow (e.g., expo-in-app-purchases or react-native-iap)? Step-by-step integration guide — installing the library, adding necessary permissions/entitlements, and any required app.json / app.config.js configuration. How to fetch available products, initiate a purchase, and handle purchase callbacks/receipts in code. Server-side receipt validation — best practices and recommended approach. Handling edge cases such as purchase restoration, subscription renewals, and failed transactions. Any sandbox testing setup required for testing IAP before going live. Any official documentation, sample code, or recommended resources for React Native Expo managed workflow would be greatly appreciated. Thank you!
Replies
0
Boosts
0
Views
97
Activity
Jun ’26
initConnection() from react-native-iap throws "undefined is not a function" in TestFlight build — StoreKit not connecting
Platform & Versions React Native: 0.85.3 Expo SDK: 56 react-native-iap: 15.3.3 iOS: 18.7.8 Device: iPhone 16 Pro Distribution: TestFlight (distribution: "store" via EAS Build) Problem In a TestFlight build (App Store distribution, not ad-hoc), calling initConnection() from react-native-iap throws a TypeError: "undefined is not a function" on iOS. This happens on every app launch. The error is caught in a try/catch around initConnection() and we never reach getSubscriptions() or purchaseUpdatedListener(). The app never connects to StoreKit. All IAP attempts fail immediately with "Store unavailable." What we've confirmed Sandbox tester account is configured in Settings → App Store → Sandbox Account "Allow Purchases & Renewals" is ON in the Sandbox Testing screen An active sandbox subscription exists (visible in Settings → App Store → Sandbox Account → Subscriptions), meaning StoreKit was reachable at some earlier point react-native-iap is listed in the Expo config plugins in app.json — EAS should be linking StoreKit.framework and adding the com.apple.developer.in-app-payments entitlement Built with --clear-cache to force a clean native project generation All 5 IAP product IDs (2 subscriptions, 3 consumables) are linked to the app version in App Store Connect and are in "Ready to Submit" state ITSAppUsesNonExemptEncryption is set to false in Info.plist Code try { await initConnection(); // throws "undefined is not a function" // never reaches here await getSubscriptions({ skus: ['com.smartailearning.iem.pro.yearly', 'com.smartailearning.iem.pro.monthly'] }); } catch (e) { console.error(e.message); // "undefined is not a function" } Question Is react-native-iap v15 incompatible with React Native 0.85 / Expo SDK 56 on iOS? Is there a known issue with the StoreKit native module not loading in EAS-managed builds? Should we be using StoreKit directly via a custom native module instead?
Replies
0
Boosts
0
Views
249
Activity
Jun ’26