checkTrialOrIntroductoryPriceEligibility unknown for test user

  • 23 March 2022
  • 6 replies

Badge +5

We are trying to show an alert if the user is not eligible for the trial/offer on our paywall. It’s very important we test that for new users this alert does not show, because otherwise we’re going to start blocking valid payments.


We tried testing this on Testflight using a sandbox account. Our sandbox user presses Reset Eligibility to clear out any old uses of the trials/offers.

When we carry out this test, the status comes back “Unknown”. Is this common when using a sandbox tester? Are there any obvious reasons this could be?


Is there a way of testing the new user path (i.e. one that has just signed up and has not taken out any trials) without having to repeatedly create new users or something?


We’re using react-native-purchases: 4.5.2

6 replies

Userlevel 6
Badge +8

Hey @MattFin!

Generally, in sandbox mode, there isn’t a receipt on-device after a new installation - so without a receipt available, the eligibility method will return `unknown` as there isn’t enough information to determine if the user is eligible. In those cases, you should opt for displaying the ‘normal’ subscription terms, and allow Apple to automatically apply the introductory offer during checkout. This is usually only an issue in sandbox - production installation should always have a receipt available, and return either `eligible` or `ineligible` based on the receipt data.

After a purchase is made in sandbox, a receipt is then available on-device and subsequently the eligibility method will return an eligibility status. This makes it challenging to test a new user flow, but a workaround might be to first make a test purchase of a test product not in the same subscription group, then check eligibility. If you are resetting eligibility on-device, I’d recommend deleting the app installation and re-installing to test again.

Badge +1

I get unknown status in testflight also. Its not using sandbox account. @cody 

Badge +3

same here

Badge +1

Same here, it’s crucial for my paywall as having always unknown will prevent the trial information to be displayed to the user, asides from the custom trial button title.

Badge +5

Any update? :O 


Same here. But I found that if I put back deprecated call then it works fine 🤷

.with(usesStoreKit2IfAvailable: true)