'Is trial period' in a receipt locally

Hi. I have some missunderstanding with checking an in-app purchase receipt locally. In 'Receipt Validation Programming Guide' I found only several descriptions of fields such as 'Quantity', 'Product Identifier', 'Purchase Date' and so on. I need the field 'Is trial period'. I know this field come if I verify a receipt with an apple server as 'is_trial_period'. Which does the code correspond this field if I verify a receipt locally on a device? I have the guess - 1713 🙂 Is it true?

Replies

I have some guess as yours since that lines up correctly. Odd that this field isn't documented, especially since they did add the introductory price period (1719) field.

The documentation is here:


https://developer.apple.com/library/content/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW1


There is no ASN.1 field for "is_trial_period". You need to figure that out based on the timing of the various purchases.


Subscription Trial Period

For a subscription, whether or not it is in the free trial period.

ASN.1 Field Type (none)

ASN.1 Field Value (none)

JSON Field Name is_trial_period

JSON Field Value string

This key is only present for auto-renewable subscription receipts. The value for this key is

"true"
if the customer’s subscription is currently in the free trial period, or
"false"
if not.

Note: If a previous subscription period in the receipt has the value “true” for either the

is_trial_period
or the
is_in_intro_offer_period
key, the user is not eligible for a free trial or introductory price within that subscription group.
Post not yet marked as solved Up vote reply of PBK Down vote reply of PBK

Hello! May be a bit off topic, but I don’t understand: free trial is classified as the one of introductory price types by Apple.

So, may be we don’t need this seperate free trial field for ASN.1 and free trial can be checked by 1719 ASN.1 field - “is introductory price”? (Local receipt validation case)

Does this work for you? I never seem to get the 1719 field to show as 1; it's always 0, even though the StoreKit prompts suggested that it would start the free trial.

Decoding 1719 in on-device receipt validation works for me, though I am not using free trial, only introductory pricing. Here are all the types I am decoding: 1701, 1702, 1703, 1705, 1704, 1706, 1708, 1719, 1712, 1711.

I am validating the receipt locally on a Mac App, I would have assumed that field 1719 (introductory offer period) does imply the free trial.. should it not?

I have noticed that field 1719 is never 1 in sandbox, however while testing through the local Xcode configuration (StoreKit testing), I have seen 1719 come back as 1!

Can I expect 1719 to come back as true in production or no?
What is the best way to determine if the user is eligible for a free trial otherwise when parsing the receipt locally?
I have the same question as JosephBigBoss. Though the field 1719 returns 1 using Xcode StoreKit configuration, I never see it true in the production environment (we have a event tracking on this).
Is this field ever be true in the local receipt in the production environment?
Correct me if I'm wrong, but is_trial_period does not exist when verifying receipts locally, that is a JSON field returned from apple's rececipt verification backend. For renewable subscriptions the only field available is 1719 "subscriptionIsInIntroOfferPeriod" - which always shows as 0 for FREE trials