Hi,
I noticed something kinda odd when performing receipt validation against Apple servers.
This is a part of Apple's response when validating my receipt against the Sandbox server, regarding an auto-renewable IAP, after calling restoreCompletedTransactions() on the SKPaymentQueue (sensitive data edited out) :
{
"quantity": "1",
"product_id": "com.mycompany.myappid.myproductidentifier",
"transaction_id": "100000051***3",
"original_transaction_id": "100000043***2",
"purchase_date": "2018-08-30 19:24:10 Etc/GMT",
"purchase_date_ms": "1535657050000",
"purchase_date_pst": "2018-08-30 12:24:10 America/Los_Angeles",
"original_purchase_date": "2019-03-28 11:04:28 Etc/GMT",
"original_purchase_date_ms": "1553771068000",
"original_purchase_date_pst": "2019-03-28 04:04:28 America/Los_Angeles",
"expires_date": "2018-08-30 19:29:10 Etc/GMT",
"expires_date_ms": "1535657350000",
"expires_date_pst": "2018-08-30 12:29:10 America/Los_Angeles",
"web_order_line_item_id": "100000004***1",
"is_trial_period": "false",
"is_in_intro_offer_period": "false"
},
It was my understanding that, when talking about auto-renewable products, original_purchase_date is the date of the original subscription (should be unique for the first purchase and all the subsequent renewed purchases), and purchase_date is the date of the purchase we're currently checking (could be the same one as original_purchase_date if this is indeed the original transaction, or could be posterior to the original_purchase_date if this is a renew).
In this receipt, I notice that the purchase_date is 2018/08/30, while the original_purchase_date is 2019/03/28 ; did I get it all wrong, or is this some kind of glitch in the Sandbox receipt ?
Thanks for your help.
This is a bug report against the App Store Server. You can submit such report using the Apple Developer Bug Report web page - <http://bugreport.apple.com>
When creating the bug report, select the Product "Other".
Include the application ID in the bug report and that the issue is for the sandbox environment.
For this issue, include the base64 encoded appStoreReceipt contents as a text file enclosure or directly in the bug report description.
As this appStoreReceipt is for an auto-renewable subscription, please include the app-specific shared secret so that the appStoreReceipt can be manually validated.
You should not see this in the production environment - but if so, it's another bug report but certainly a much higher priority issue.
rich kubota - rkubota@apple.com
developer technical support CoreOS/Hardware/MFI