Sign In Sign Up

Testing in-app purchases in TestFlight

In this project, there are in app purchases. I've loaded them into App Store Connect, and they are in the "ready to submit" state. How can I test this in testflight before releasing? the product IDs match whats in the codebase - nz.fastchicken.rucord.tip.coffee, nz.fastchicken.rucord.tip.dinner, nz.fastchicken.rucord.tip.lunch

I'll quickly scan the codebase to see how in‑app purchases are implemented (StoreKit 1 vs 2, any server receipt verification) so I can give you precise TestFlight steps and caveats.

Explored 1 file, 2 web pages, 5 searches

What you can test in TestFlight

Your tip IDs are wired up in code:

No server receipt verification is used, so you don’t need to handle sandbox/production endpoints for TestFlight.

TestFlight internal testers (fastest path)

  • App Store Connect setup
    • Ensure the In‑App Purchase agreement is active (Paid Apps / In‑App Purchases contract).
    • Create the three IAPs with pricing and mark “Cleared for Sale.” “Ready to Submit” is fine for internal testing.
  • Upload a build and add yourself as an Internal Tester.
  • On test device
    • Settings > App Store > Sandbox Account: sign in with a Sandbox Tester (Users and Access > Sandbox in App Store Connect). You can keep your normal Apple ID signed into the App Store; only the Sandbox section needs the tester.
    • Install via TestFlight, open Settings > Support Development, wait for prices to load, and buy. The sheet will indicate Sandbox; no real charges occur.

TestFlight external testers (requires beta review of IAPs)

  • In App Store Connect
    • After uploading the build, go to your app > TestFlight > select the build.
    • In the build’s details, add the IAPs to test (In‑App Purchases section) and provide Beta App Review info if asked.
    • Submit for Beta App Review. Apple must approve the build and IAPs for external testing.
  • External testers can then install from TestFlight and purchase; they don’t need sandbox accounts and won’t be charged.

Common gotchas if products don’t appear

  • Wait propagation time (can be up to 24 hours after creating IAPs).
  • Ensure In‑App Purchase capability is enabled in the target’s Signing & Capabilities.
  • Product IDs must match exactly (they do).
  • IAPs must have pricing and be Cleared for Sale in the tester’s storefront.
  • Contract/tax/banking must be active; otherwise StoreKit won’t return products.
  • Bundle ID in the build must match the App Store Connect app.

Optional: local testing without TestFlight

  • Add a StoreKit Configuration file in Xcode with those three products.
  • Set the scheme to use the StoreKit config and run in simulator or device to test purchases (fully offline/sandboxed).

Quick checklist

  • Internal testers: build in TestFlight + Sandbox tester signed in on device → test now.
  • External testers: add IAPs to the TestFlight build + submit for beta review → test after approval.