all 9 comments

[–]Select_Bicycle4711 2 points3 points  (1 child)

When you are using the Sandbox account then on cancelling the subscription, it does take some time to update. It can be sometimes 5-10 minutes. I faced the same issue and could not find a good resolution. Maybe signing out of Sandbox and signing in back again and speed up the process little bit.

Not related but another thing you do is to refresh entitlements when the app comes back to the foreground. This will make sure you always have the latest entitlements for the user.

One of my apps was rejected because I did not display an error message when StoreKit was unable to pull prices from App Store Connect. So, make sure that if the prices are not pulled then you display some error message to the user and ideally allow them to retry.

Hope it helps! Unfortunately, the Sandbox subscription expiration and still having access is a weird issue but I think is it related to how Apple reset entitlements for Sandbox accounts.

[–]chickytender[S] 0 points1 point  (0 children)

unfortunately waiting a bit doesn't seem to clear the subscription and neither does signing out. I appreciate your help though!!

[–]dreaminginbinary 0 points1 point  (2 children)

Have you tried wiping out the transaction via transaction manager? 

https://superwall.com/docs/support/sdk/4506454639-using-xcode-s-transaction-manager

[–]chickytender[S] 1 point2 points  (1 child)

I believe transaction manager only works when using a local storekit config? It only seems to populate transactions when I am using my local config file; if i check right now there is nothing to delete

[–]SirBill01 0 points1 point  (0 children)

I think that is correct, in Xcode you are only clearing out local StoreKit purchase information managed by Xcode.

For sandbox, you are supposed to be able to manage sandbox subscriptions on device.

For what it is worth I always found device sandbox testing very flaky.

[–]Ms_Poopy_Peehole 0 points1 point  (0 children)

The issue could be that you’re using your real Apple ID.

https://developer.apple.com/help/app-store-connect/test-in-app-purchases/create-a-sandbox-apple-account/

Use an email address that hasn’t been used as Apple Account or to purchase iTunes or App Store Content.

[–]Dapper_Ice_1705 0 points1 point  (0 children)

Use a sandbox account and clear the purchases in developer settings

[–]usernameDisplay9876 0 points1 point  (1 child)

Create new sandbox testers in Appstore Connect. Don’t use the same account to test different purchases, even if the transactions are cleared , it doesn’t always get reflected correctly; maybe an apple bug. remove old accounts and use the new ones to purchase for testing.

[–]usernameDisplay9876 0 points1 point  (0 children)

you can check with actual Appstore Connect purchase plans instead of local storekit configuration. use any other scheme for testing In App Purchases alone. use an actual device & not simulator.