To answer your question, first you should note, that the applicationReceipt provides no direct information as to the prices paid by the user, for the application and for in app purchases. The app can only detect that the user account was charged appropriately for the in app purchase item associated with the in app purchase identifier.
With regards to how the auto-renewing subscription purchase is handled, when there is a free trial, the iTunes Store will update the applicationReceipt to include an in_app array where the expiration period matches that of the free trial. Then when the free trial is over and the Store sees that the auto-renewing subscription is still in effect, the user account is charged for the auto-renewing subscription rate and the Store creates an incompleteTransaction record. This happens on the date when the subscription item is set to expire. The only way to detect that the user is in the free trial period is to determine the length of the subscription period and compare the length to the subscription length associated with the in app purchase identifier associated with the in_app array receipt item.
What this means is that suppose the application offers a one_month subscription - the identifier is com.mycompany.app1.one_mo_auto_renew_sub. When the iTunesConnect record is set up, the developer selects the option to allow a free trial period for the iAP identifier - com.mycompany.app1.one_mo_auto_renew_sub. When the user purchases this in app purchase for the first time, and iTunes sees that the user is eligible for the free trial, the applicationReceipt will be updated to include an in_app array item with the iAP identifier - com.mycompany.app1.one_mo_auto_renew_sub and the expiration period will be 7 days (I think this is the free trial period for a one month auto-renewing subscription - but I could be wrong). The app when it validates the receipt - either statically or via the iTunes Receipt validation server will detect that the expiration date is greater than the current date - to know that the subscription item is active, and calculate the length of the subscription to know that it's seven days. In this way, the app will know the subscription is in the free trial period. If the duration of the period matches that for the iAP identifier, then the app is past the free trial period. Note that a free trial is only offered once per user account. IF the user cancels the free trial and purchases the auto-renewing subscription a second time, they will no longer be eligible for the free trial.
Some additiona l comments on this matter. The app needs to all items in the in_app array to identify the one with the active subscription. Don't make an assumption that the most current item is the last item in the in_app array. Also, if you find that the cancellation_date field is set, that means for that one subscription, the user contacted Apple Care and recieved a refund for that purchase only. If the user purchases the auto-renewing subscription again later on, then there will be a new receipt with more recent dates.
rich kubota - rkubota@apple.com
developer technical support CoreOS/Hardware/MFI