"is_trial_period" discrepancy in Sandbox receipt

Hello - Below is an excerpt from a new Sandbox receipt for a auto-renewing subscription product with a Free 7-Day Trial period. The data is basically presented twice: first right in the "in_app" section, and then again under "latest_receipt_info". Everything in the two sections (transaction IDs and start/end dates) is identical - so clearly it's one new order that has not yet had any renewals - EXCEPT the "is_trial_period" field. Is there an explanation for why the first group of data incorrectly says False, while the "latest" correctly says True? Thanks.


{"quantity":"1", "product_id":"***", "transaction_id":"1000000278937967", "original_transaction_id":"1000000278937967", "purchase_date":"2017-03-03 22:02:04 Etc/GMT", "purchase_date_ms":"1488578524000", "purchase_date_pst":"2017-03-03 14:02:04 America/Los_Angeles", "original_purchase_date":"2017-03-03 22:02:05 Etc/GMT", "original_purchase_date_ms":"1488578525000", "original_purchase_date_pst":"2017-03-03 14:02:05 America/Los_Angeles", "expires_date":"2017-03-03 22:05:04 Etc/GMT", "expires_date_ms":"1488578704000", "expires_date_pst":"2017-03-03 14:05:04 America/Los_Angeles", "web_order_line_item_id":"1000000034497792", "is_trial_period":"false"}]}, "latest_receipt_info":[ {"quantity":"1", "product_id":"***", "transaction_id":"1000000278937967", "original_transaction_id":"1000000278937967", "purchase_date":"2017-03-03 22:02:04 Etc/GMT", "purchase_date_ms":"1488578524000", "purchase_date_pst":"2017-03-03 14:02:04 America/Los_Angeles", "original_purchase_date":"2017-03-03 22:02:05 Etc/GMT", "original_purchase_date_ms":"1488578525000", "original_purchase_date_pst":"2017-03-03 14:02:05 America/Los_Angeles", "expires_date":"2017-03-03 22:05:04 Etc/GMT", "expires_date_ms":"1488578704000", "expires_date_pst":"2017-03-03 14:05:04 America/Los_Angeles", "web_order_line_item_id":"1000000034497792", "is_trial_period":"true"}],

Replies

"Is_Trial_period" is undocumented so relying on it as actually true or false is risky. The "expires_date" should incorporate only the trial period and there should be a renewal automatically generated before that expires_date indicating the subscription continues (i.e. was renewed) past the trial period. If you must check your revenue from Apple against your receipts you will need to ignore the first receipt for any product_id that included a free trial period.


Going further - even that "latest_receipt_info" field is undocumented so be careful how you rely on it. Others disagree and believe that it is, or will become, permanent. Perhaps it is or will.

I'm getting this discrepancy as well, which doesn't make sense. I'm about to roll out a free trial so wanted to know if this happens for Production receipts as well?