Update: purchasing and restoring full access now work in my TestFlight build.
What worked in my testing:
Cleared the Sandbox tester’s purchase history in App Store Connect.
Signed out of Media & Purchases on the iPhone, while keeping iCloud signed in.
Signed in with the Sandbox tester under Settings → Developer → Sandbox Apple Account.
Completed a new Sandbox purchase, then tested Restore Purchases.
The restore diagnostics now report:
AppStore.sync=success
full=1; unverified=0
environment=Sandbox
Clearing the purchase history removes previous test purchases, so a new purchase was needed before testing restoration.
I cannot isolate which step resolved the original error, but this sequence worked on my device. The separate pricing discrepancy remains: the Canadian purchase sheet shows CAD, while Product.products returns USD.
Thank you for your help!
Topic:
App & System Services
SubTopic:
StoreKit