Sierra receipt in app purchases not in sync with restored transactions

Greetings,


On Sierra, I am encountering the following behavior:


An autorenewing subscription is purchased in the app [Sandbox].


Receipt is not updated to contain new subscription purchase.


Calling restoreCompletedTransactions returns X number of transactions, 75 for example. These transactions do include the purchase above and are correct.


Parsing my app store receipt at this time returns the 74 transactions that existed prior to the purchase. But this purchse is not in the receipt, hence my app does not recognize it.


I repeat the purchase multiple times, and after each purchase, check restoreCompletedTransactions to see that each new purchase is returned, yet my receipt is stuck at 74 transactions. In theory, after each purchase, restoreCompletedTransactions should return the same number of transactions that are available in my bundle's receipt.


Basically, on Sierra, making a purchase does not update the bundle's app store receipt. I rely on the receipt being the truth about what has been purchased. The receipt is not truthful in this case.


SKReceiptRefreshRequest apparently does not work on Sierra, it fails with a nil error in every instance (it only ever succeeds if _MASReceipt/receipt does not exist in the bundle).


restoreCompletedTransactions does return the correct transactions but unfortunately not all of these transactions are in my receipt, which I parse to find current active subscriptions.


I never had any issue with testing this on El Capitan (most of my testing was under El Capitan until I ugpraded this week).


Does anyone have any advice?


Thanks!

We have the same problem.

Lots of our users started sending receipts with empty in_app fields since the release macOS Sierra.

We are using SKReceiptRefreshRequest as it's said in the docs, but it doesnt help.

Sierra receipt in app purchases not in sync with restored transactions
 
 
Q