Non-renew subscription and receipt?

I am perplexed.


According to Apple's documenation here:


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


Receipts for in-app purchases of non-renewing subscriptions are retained in the receipt permanently. It says so in the above link as:


In-App Purchase Receipt

The receipt for an in-app purchase.

ASN.1 Field Type 17

ASN.1 Field Value SET of in-app purchase receipt attributes

JSON Field Name in_app

JSON Field Value array of in-app purchase receipts

In the JSON file, the value of this key is an array containing all in-app purchase receipts. In the ASN.1 file, there are multiple fields that all have type 17, each of which contains a single in-app purchase receipt.

The in-app purchase receipt for a consumable product is added to the receipt when the purchase is made. It is kept in the receipt until your app finishes that transaction. After that point, it is removed from the receipt the next time the receipt is updated—for example, when the user makes another purchase or if your app explicitly refreshes the receipt.

The in-app purchase receipt for a non-consumable product, auto-renewable subscription, non-renewing subscription, or free subscription remains in the receipt indefinitely.


Over the past few months of testing my app, this has indeed been the case. But now, the Sandbox environment is providing a the receipt only in the receipt resulting from the purchase transaction. Refreshing the app receipt no longer shows the in-app purchases.


What gives? Has there been a reversal of this policy or else what am I doing wrong?


The purchase process works fine; I finish the transaction and check the receipt. The recepit has the in-app purchase. However, if I issue a StoreKit request to refresh the receipt, the refreshed receipt doesn't show ANY of the non-renewable subscription purchases.


Any clues?

Thanks

Stu

Why do I have deja vu all over again? I'm in a maze of twisty little passages all alike...


Argh!


Ok, I believe the only way that a corporate account can be created is via the Volume Purchase Program ) see http://www.apple.com/business/vpp/and one of the pages I found in searching (http://www.apple.com/ipad/business/it/deployment.html suggest that each deployed device has to be activated with the users personal Apple ID.


I couldn't find a way to create a shared iCloud account for a business - that's not to say it can't be done, simply that I haven't found it.


Given that the "Find my iPad" function is tied to the iCloud login, I suspect that the problem of sharing an id across a large number of devices is pretty unlikely.


There is no perfect security model as far as I can see. A truly (motivated and unscrupulous) user could **** break their device and then hack my app. Given that my app requires a (not inexpensive) piece of hardware to be operational, I guess that will help limit theivery.


Stu

We do need Apple to include purchase history of non-renewable subscriptions in App Store receipt, to handle the case where user requests App Store for refund. Currently there is no API or StoreKit notifications to allow us to be informed when a purchase is canceled. If I'm not wrong, there is a cancellation field in the App Store receipt. So if you care about purchase cancellation, the only way is to rely on the history of non-renewable subscription purchases embedded inside the receipt.

Rich,

Do you mean that changes has been reverted back and now non-renewing receipts are getting purchase history?

My users started facing this issue since yesterday (Nov 19th 2015). Receipts do not contain purchase history, even in sandbox as well.

I just checked in the sandbox and I got a receipt for all past purchases (many) for a non-renewing subscription after making a single new purchase.

Could you please check this thread Non-renewable in-app purchase in Hybrid app(Ionic)
Non-renew subscription and receipt?
 
 
Q