Users open the apps, shows they must subscribe even though they’re already within a paid subscription period. They tap subscribe and it says they’ve subscribed. Tap restore and it says they’re subscription isn’t currently active. Apple isn’t returning proper subscription data. I see on another forum someone else has asked the same question but has anyone reached Apple about this and gotten a response? It’s been over 24hrs and this can be detrimental to business.
I reviewed your receipt validation code - the issue is that the for loop is such that the assumption occurs that the last item in the latest_receipt_info array is the most current item. The issue for some of the developer postings here is the following
It appears that some app receipt validation code makes the assumption that when analyzing the contents of the latest_receipt_info section, that the last item in the latest_receipt_info section is for the current active subscription. When the expiration date for this item is earlier than the current date, the app process thinks that the subscription is now inactive.
This is an incorrect assumption. This is an issue that isn’t easily checked in the sandbox as it is more likely to occur when there are multiple subscription transaction records for the user. When searching the latest_receipt_info section for an active subscription, the app should check each item in the latest_receipt_info - if there are multiple item in the array. The array item showing the subscription is still active could be the first or second item in the latest_receipt_info array. However, the most current element of the array is not guaranteed to the the most recent.
DTS advises that if the app process is only interested in active subscription info, the app process should pass in the
"exclude-old-transactions": true key
In the JSON payload sent to the verifyReceipt server.
When the validated response is received, the app process need only look at each item in the latest_receipt_info section to know which items are active. For a user with only one active subscription, there will only be one item in the latest_receipt_info.
rich kubota - rkubota@apple.com
developer technical support CoreOS/Hardware/MFI