StoreKit 2 currentEntitlements persists after Sandbox Purchase History reset in TestFlight

I am testing a StoreKit 2 non-consumable IAP through TestFlight.

Product ID: com.metabolla.plus.lifetime Type: Non-Consumable Environment: TestFlight / Sandbox

Transaction.currentEntitlements keeps returning an active entitlement for this product even after:

  • configuring a Sandbox Apple Account
  • clearing Sandbox Purchase History
  • reinstalling the app
  • rebooting the device

Important detail: the first TestFlight purchase was completed before configuring the Sandbox Apple Account on the device.

If I temporarily change the Product ID in code, the entitlement disappears, so the issue seems tied to the original Product ID/account/receipt.

Question: Can a non-consumable TestFlight purchase made before Sandbox Apple Account configuration remain associated with the original TestFlight/Apple ID identity? Is there any supported way to clear this entitlement for testing?

Does signing out and back in after a clearing purchase history work?

Yes, I tried signing out and back in after clearing purchase history, but it did not help.

The entitlement is still returned by Transaction.currentEntitlements for the original Product ID. Reinstalling, rebooting, and configuring a Sandbox Apple Account did not clear it either.

Changing the Product ID makes the entitlement disappear, so it looks tied to the original TestFlight/Apple ID receipt. Is there any supported way to reset this for a non-consumable TestFlight purchase?

Yes, I tried signing out and back in after clearing purchase history, but it did not help.

The entitlement is still returned by Transaction.currentEntitlements for the original Product ID. Reinstalling, rebooting, and configuring a Sandbox Apple Account did not clear it either.

Changing the Product ID makes the entitlement disappear, so it looks tied to the original TestFlight/Apple ID receipt. Is there any supported way to reset this for a non-consumable TestFlight purchase?

Please make sure you are following instructions in https://developer.apple.com/documentation/storekit/testing-in-app-purchases-with-sandbox#Sign-in-to-your-Sandbox-Apple-Account-for-a-TestFlight-app

If you are and this is still reproducible then please file a feedback assistant with a sysdiagnose and screen recording.



How to File Feedback assistant ticket? https://feedbackassistant.apple.com/

  • Login with your developer account,
  • Choose "iOS & iPadOS”
  • Choose AppStore
  • “Incorrect & Unexpected behavior"
  • Input the issue description and title.
  • Upload attachments
  • Click “Submit”
  • Copy the Ticket ID “FBxxxxxxx” and let us know.

To capture a system diagnose log. https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios

StoreKit 2 currentEntitlements persists after Sandbox Purchase History reset in TestFlight
 
 
Q