Sorry, I can answer a little later, but this may be related to this question . Do you test your IAP from Xcode when it does not reach state .purchased?
If yes, then you need to set the App Store identifier on the device that you created in iTunes Connect (user menu, Sandbox testers).
, , , SKPaymentQueue , . SKPaymentQueue.default().transactions.
28 , , case.
, viewDidLoad, ( , , ):
for transaction: AnyObject in SKPaymentQueue.default().transactions {
SKPaymentQueue.default().finishTransaction(transaction as! SKPaymentTransaction)
}