Hey @Dmitry!
The checkTrialOrIntroductoryPriceEligibility
method takes the existing receipt on your device and checks the transactions to determine if the user is eligible or not for the product ID in question. If there’s no receipt available, this method will return ‘unknown’. If there’s an error parsing the local receipt, we’ll ask the backend for eligibility information, which will do its best to return a value based on the information in the user’s receipt. Debug logs will help to provide any relevant information about this method and potential errors.
If the method is returning ‘ineligible’, the method has likely found previous transactions from the user’s receipt either on-device or from the backend that indicate the user is ineligible for the introductory price. If you’re testing this method in sandbox, I’d recommend creating a new sandbox user and/or trying a fresh installation.
Generally, you should handle each of these cases, and inform your users based on the information you have available. Even if our method returns unknown or ineligible, Apple’s payment sheet will ultimately display the introductory price if the user is eligible for it and the user will confirm the terms of the purchase during the checkout.