Question

IOS: checkTrialOrIntroductoryPriceEligibility returns "Unknow Status"

  • 1 April 2023
  • 2 replies
  • 409 views

Hi. 

I created a new iOS project on AppStore Connect 2-3 weeks ago.
I was almost finished with my app, but I realized a bug. I’m using the Flutter platform to develop my new app.
The checkTrialOrIntroductoryPriceEligibility method returns introEligibilityStatusUnknown when I added an Introductory offer to my subscription.
(If I have not added an Introductory Offer to my subscription, in this case the checkTrialOrIntroductoryPriceEligibility returns introEligibilityStatusNoIntroOfferExists. So it is working correctly in this case.)

The checkTrialOrIntroductoryPriceEligibility method and code has worked in my previous projects.

Has anything changed on the iOS side? Or is it a bug on the Revenuecat side?

Revenucat package (Flutter): purchases_flutter: ^4.11.1
I tested it on Testflight version, and debug mode also. 

Thanks for your help.


2 replies

Userlevel 3
Badge +7

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.

The way to get around this for new user testing purposes (for a trial in subscription group_a) is to:

  1. Have the user first make a purchase in the app of another product in a different subscription group (group_b). This will guarantee there is a receipt on the device, but will not make them ineligible for a trial you'd like to test (in group_a).
  2. Test the paywall for eligibility of a subscription from group_a.
Userlevel 1

@Yousef are there any plans to fix this in the future and make testing trial eligibility easier in the sandbox environment?

Reply