Issue with 3-Day Free Trial Not Triggering in TestFlight Sandbox — Urgent Assistance Needed

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

I have resolved this issue :

  1. Configuration Issue: We had incorrectly set up our free trial as a Promotional Offer (AdhocOffer with ID "3jours") rather than as an Introductory Offer. We have now reconfigured this in App Store Connect as a proper Introductory Offer with the "FreeTrial" payment mode for 3 days.
  2. Implementation Flow Issue: Our app's onboarding completion was improperly delayed until after social authentication, which interfered with the immediate activation of the free trial. We've adjusted our code to properly finalize the onboarding process immediately after a successful subscription purchase.

The code now correctly detects the introductory offer using:

product.subscription?.introductoryOffer?.paymentMode == .freeTrial

And we ensure the subscription is activated immediately with:

func completeOnboardingAfterSubscription() { // Properly finalize onboarding with the user profile appState.completeOnboarding(with: profile) }

These changes have restored the intended functionality, allowing new users to immediately access our app with the 3-day free trial before being charged for the yearly subscription.

Issue with 3-Day Free Trial Not Triggering in TestFlight Sandbox — Urgent Assistance Needed
 
 
Q