Posts

Post not yet marked as solved
2 Replies
All the information is detailed in Feedback #FB13190581 Here are more details about the issues we are experiencing: Environment: Sandbox environment. App using StoreKit2, running on iPad model 7.11 (iOS 16.6.1). Purchase type: Auto-Renewal subscription. Our backend uses VerifyReceipt (with exclude-old-transactions=true) to validate the receipt and check expiration. Issues we observed: Increase in the number of 21107 responses from the apple sandbox server. This are intermediate error as a retry of the call will sometime succeed. The expiry date we receive is in the past. This occurs when we initiate a subscription purchase in the app and for some reason we don't get the sandbox user password dialog. The purchase simply succeeds. We see that the expiry time in [latest_receipt_info] is 2023-09-26 11:01:54 Etc/GMT while the purchase was made on 2023-09-27 08:03:43 Etc/GMT. Another issue is that the product_id that is returned in [latest_receipt_info] is not the product Id that was used for the sub purchase. We got a VerifyReceipt response that included two items in the pending_renewal_info array. I'm aware that this is an array, however, we always got a single item in this array before. Now, we are getting two and there is no way to correlate to the actual sub as none of the product Ids we receive are correct. In addition, the receipt size is very high as it always increased when a purchase is made (I understand that with StoreKit2 the receipt represents all purchases). However, there is no way to check history. For example: Assume i made a sub purchase A and got a receipt. When I check with verifyReceipt the status during that time i get updated result for purchase A (this is the last purchase). After sub A ends, i do another purchase B and receive an updated receipt. If i now call verifyReceipt with purchase A Receipt i will get updated info for sub B.
Post not yet marked as solved
5 Replies
UPDATE: As of 11:50 Wednesday, 17 May 2023 Central Time (CT) exclude-old-transactions=true is working again on the production environment. Our code was fetching the last element in latest_receipt_info array and when the outage occurred on Apple side the transaction we used wasn't the latest one and as such had a past expiry date.
Post not yet marked as solved
28 Replies
Any update on this? We are still experiencing the issue on multiple of our Apps, also on iOS 16.2.
Post not yet marked as solved
14 Replies
Thanks for the answer PBK.I'm a little confused as our app is free, it doesn't cost anything, so i'm not sure why there is a receipt for the app purchase.In addition, why such a receipt is present in the appStoreReceiptURL? After a sucdessfull purchase against the App Store, our App retrieves the purchase token from the appStoreReceiptURL and send it to our backend for verification. This is an example of a decrypted purchase token:{"receipt":{"receipt_type":"Production", "adam_id":*****, "app_item_id":*****, "bundle_id":"*****", "application_version":"7795", "download_id":*****, "version_external_identifier":*****, "receipt_creation_date":"2020-01-14 22:32:05 Etc/GMT", "receipt_creation_date_ms":"1579041125000", "receipt_creation_date_pst":"2020-01-14 14:32:05 America/Los_Angeles", "request_date":"2020-01-15 09:51:21 Etc/GMT", "request_date_ms":"1579081881913", "request_date_pst":"2020-01-15 01:51:21 America/Los_Angeles", "original_purchase_date":"2020-01-14 22:32:05 Etc/GMT", "original_purchase_date_ms":"1579041125000", "original_purchase_date_pst":"2020-01-14 14:32:05 America/Los_Angeles", "original_application_version":"7795", "in_app":[]}, "status":0, "environment":"Production"}
Post not yet marked as solved
14 Replies
@yogkaushWe are getting a similar receipt as the last one you posted. This is on our production environment. Did you managed to find what is the cause?Unfortunately, we didn't get any clear response from Apple support on how to relate to users with those receipts, so currently we simply deny access to our subscription to those users.