StoreKit: this item is temporarily unavailable

My users on production complain about the purchase error for some items:

Error Domain=SSServerErrorDomain Code=2059 "This item is temporarily unavailable."


I can't realize the reason of such errors. There is no significant difference between items but some of them can't be purchased, where as other ones are purchased successfully.

It worked until 2017/11/04 in current release (there were no changes in code).

I just receive failed transaction in my transactions observer of SKPaymentQueue.

Console log filtered by itunesstored process:

14:28:26.232543 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.233306 +0300 itunesstored LoadMicroPaymentProductsOperation: Loading products for 1 identifiers with batch size 100
14:28:26.234218 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.235310 +0300 itunesstored WiFiManager: Set wifi client type: 1
14:28:26.239282 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.248854 +0300 itunesstored ISStoreURLOperation: Making GET request, with service type: 0, for URL: <private>
14:28:26.311295 +0300 itunesstored ISStoreURLOperation: Received 200 response: <private>
14:28:26.315486 +0300 itunesstored [<private>] [<private>] [<private>] [NO]
14:28:26.316245 +0300 itunesstored ISStoreURLOperation: Finished loading <private>
14:28:26.316627 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.337536 +0300 itunesstored LoadMicroPaymentProductsOperation: Loaded products for 1 identifiers
14:28:26.342722 +0300 itunesstored StoreKitClient: Adding payment: [1, <private>] for client: <private>
14:28:26.375870 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.384939 +0300 itunesstored LoadMicroPaymentProductsOperation: Loading products for 1 identifiers with batch size 100
14:28:26.401692 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.401971 +0300 itunesstored MicroPaymentQueue: Starting payment: <private>
14:28:26.402678 +0300 itunesstored StoreKitClient: Buying payment: <private>
14:28:26.402949 +0300 itunesstored CFPrefsPlistSource<0x100703bb0> (Domain: com.apple.itunesstored, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null)) is waiting for writes to complete
14:28:26.403508 +0300 itunesstored CFPrefsPlistSource<0x100703bb0> (Domain: com.apple.itunesstored, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null)) loaded: a new base plist and a diff relative to the base plist
14:28:26.403801 +0300 itunesstored ISDevice: Taking power assertion: com.apple.itunesstored.purchase
14:28:26.404319 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.409866 +0300 itunesstored PurchaseOperation: Using server auth for purchase bag key: p2-in-app-buy
14:28:26.411007 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.420661 +0300 itunesstored "The connection to ACDAccountStore was invalidated."
14:28:26.421349 +0300 itunesstored PurchaseOperation: Issuing purchase request: <private>
14:28:26.421724 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.421973 +0300 itunesstored ISStoreURLOperation: Started request at [531833306.38] for <private>
14:28:26.422558 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.436803 +0300 itunesstored ISStoreURLOperation: Making GET request, with service type: 0, for URL: <private>
14:28:26.437367 +0300 itunesstored ISStoreURLOperation: Making POST request, with service type: 0, for URL: <private>
14:28:26.460656 +0300 itunesstored ISStoreURLOperation: Received 200 response: <private>
14:28:26.464114 +0300 itunesstored [<private>] [<private>] [<private>] [NO]
14:28:26.464914 +0300 itunesstored ISStoreURLOperation: Finished loading <private>
14:28:26.465292 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.488662 +0300 itunesstored LoadMicroPaymentProductsOperation: Loaded products for 1 identifiers
14:28:26.786405 +0300 itunesstored ISStoreURLOperation: Received 200 response: [0.41s] <private>
14:28:26.788824 +0300 itunesstored [<private>] [<private>] [<private>] [NO]
14:28:26.789307 +0300 itunesstored ISStoreURLOperation: Finished loading: [531833306.79, 0.41s] <private>
14:28:26.789442 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:26.810603 +0300 itunesstored PurchaseProtocolDataProvider: Performing actions: <private>
14:28:26.810828 +0300 itunesstored PurchaseProtocolDataProvider: Error handler resolved with type: 0
14:28:26.811216 +0300 itunesstored PurchaseOperation: Purchase failed with retry dialog: <private>
14:28:26.811927 +0300 itunesstored PurchaseOperation: storeCorrelationID: <private>
14:28:26.812897 +0300 itunesstored PurchaseOperation: Retry purchase operation after dialog
14:28:26.813233 +0300 itunesstored PurchaseOperation: Prompting user with buy confirmation
14:28:26.813565 +0300 itunesstored ISDialogOperation: Disabling 1 power assertions before user interaction
14:28:26.813892 +0300 itunesstored ISDevice: Releasing power assertion: com.apple.itunesstored.purchase
14:28:30.567215 +0300 itunesstored ISDevice: Taking power assertion: com.apple.itunesstored.purchase
14:28:30.567466 +0300 itunesstored PurchaseOperation: User confirmed buy confirmation: <private>
14:28:30.567623 +0300 itunesstored PurchaseOperation: Retry purchase operation after changed buy parameters
14:28:30.567927 +0300 itunesstored PurchaseOperation: Using server auth for purchase bag key: p2-in-app-buy
14:28:30.582203 +0300 itunesstored "The connection to ACDAccountStore was invalidated."
14:28:30.619012 +0300 itunesstored PurchaseOperation: Issuing purchase request: <private>
14:28:30.619072 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:30.619136 +0300 itunesstored ISStoreURLOperation: Started request at [531833310.57] for <private>
14:28:30.620363 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:30.625718 +0300 itunesstored ISStoreURLOperation: Making POST request, with service type: 0, for URL: <private>
14:28:30.966152 +0300 itunesstored ISStoreURLOperation: Received 200 response: [0.39s] <private>
14:28:30.972435 +0300 itunesstored [<private>] [<private>] [<private>] [NO]
14:28:30.973274 +0300 itunesstored ISStoreURLOperation: Finished loading: [531833310.97, 0.40s] <private>
14:28:30.975169 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:31.103420 +0300 itunesstored PurchaseProtocolDataProvider: Performing actions: <private>
14:28:31.103726 +0300 itunesstored PurchaseProtocolDataProvider: Pinging <private>
14:28:31.174846 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:31.227507 +0300 itunesstored PurchaseProtocolDataProvider: Error handler resolved with type: 0
14:28:31.230137 +0300 itunesstored PurchaseOperation: Purchase: <private> failed with dialog and error: <private>
14:28:31.230402 +0300 itunesstored ISDialogOperation: Disabling 0 power assertions before user interaction
14:28:31.230676 +0300 itunesstored PurchaseOperation: storeCorrelationID: <private>
14:28:31.230877 +0300 itunesstored ISDevice: Releasing power assertion: com.apple.itunesstored.purchase
14:28:31.231090 +0300 itunesstored [AppReceipt] No receipt data for: <private>
14:28:31.231249 +0300 itunesstored StoreKitClient: Buy failed with error: <private> for payment: <private>
14:28:31.239833 +0300 itunesstored CFPrefsPlistSource<0x100703bb0> (Domain: com.apple.itunesstored, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null)) is waiting for writes to complete
14:28:31.240725 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:31.240774 +0300 itunesstored LoadMicroPaymentProductsOperation: Loading products for 1 identifiers with batch size 100
14:28:31.240922 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:31.241108 +0300 itunesstored CFPrefsPlistSource<0x100703bb0> (Domain: com.apple.itunesstored, User: kCFPreferencesCurrentUser, ByHost: No, Container: (null)) loaded: a new base plist and a diff relative to the base plist
14:28:31.242751 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:31.242852 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:31.243006 +0300 itunesstored StoreKitClient: Finishing for state: 5, payment: <private>
14:28:31.247515 +0300 itunesstored ISStoreURLOperation: Making GET request, with service type: 0, for URL: <private>
14:28:31.251006 +0300 itunesstored ISStoreURLOperation: Making GET request, with service type: 0, for URL: <private>
14:28:31.262885 +0300 itunesstored ISStoreURLOperation: Received 200 response: <private>
14:28:31.265244 +0300 itunesstored [<private>] [<private>] [<private>] [NO]
14:28:31.265763 +0300 itunesstored ISStoreURLOperation: Finished loading <private>
14:28:31.266202 +0300 itunesstored ISLoadURLBagOperation: Found an in-memory bag for <private>.
14:28:31.283210 +0300 itunesstored LoadMicroPaymentProductsOperation: Loaded products for 1 identifiers
14:28:31.442403 +0300 itunesstored ISStoreURLOperation: Received 200 response: <private>
14:28:31.444231 +0300 itunesstored [<private>] [<private>] [<private>] [NO]
14:28:31.444557 +0300 itunesstored ISStoreURLOperation: Finished loading <private>
14:28:32.076442 +0300 itunesstored WiFiManager: Set wifi client type: 0

Why i received "No receipt"?


14:28:31.230137 +0300 itunesstored PurchaseOperation: Purchase: <private> failed with dialog and error: <private>

14:28:31.230402 +0300 itunesstored ISDialogOperation: Disabling 0 power assertions before user interaction

14:28:31.230676 +0300 itunesstored PurchaseOperation: storeCorrelationID: <private>

14:28:31.230877 +0300 itunesstored ISDevice: Releasing power assertion: com.apple.itunesstored.purchase

14:28:31.231090 +0300 itunesstored [AppReceipt] No receipt data for: <private>

14:28:31.231249 +0300 itunesstored StoreKitClient: Buy failed with error: <private> for payment: <private>

StoreKit: this item is temporarily unavailable
 
 
Q