Hello,
I'm encountering an issue with the implementation of the 3-day free trial for my nutrition app, Macro IA.
Although the introductory offer has been correctly configured in the StoreKit configuration file (ID: "3jours")
— with payment mode set to "free" and a subscription period of "P3D" for the yearly plan (com.macroia.subscription.yearly)
— users are being charged immediately, without receiving the trial period.
Here’s what’s working as expected:
The subscription service detects and verifies the introductory offer during product loading.
Our analytics confirm that the trial flag is correctly set.
Receipt validation is properly implemented for both sandbox and production environments using our App Store shared secret.
Despite this, the trial period is being skipped and users are charged up front.
Troubleshooting steps I've already taken:
Signed out of my Apple ID and used a completely new sandbox account. Ensured the sandbox account is properly set up in Settings > App Store > Sandbox Account, with the "Show Resubscription Offer" toggle enabled.
Tested on a brand-new device with a fresh TestFlight install of the app.
Verified that everything works perfectly when testing locally via Xcode and the StoreKit configuration file — the free trial is recognized and works as expected.
However, in the TestFlight sandbox environment, even with a brand-new account, the system appears to recognize a previous subscription and does not trigger the free trial, which prevents me from validating the experience for new users.
I’ve now paused all marketing efforts for the app until this issue is resolved, and I'm hoping to address it as quickly as possible.
I would truly appreciate any guidance on:
How to simulate a true first-time user in the TestFlight sandbox environment;
Or if there’s a better workflow for verifying the free trial experience during app review.
Thank you so much for your time and assistance.
Looking forward to any insights or suggestions.
Warm regards,
Lyes