I found a solution, I need to remove SKPaymentQueue in viewWillDisappear
Swift 4.2 Update
override func viewWillDisappear(_ animated: Bool) { super.viewWillDisappear(animated) SKPaymentQueue.default().remove(self) }
Swift 2.3
override func viewWillDisappear(animated: Bool) { super.viewWillDisappear(animated: animated) SKPaymentQueue.defaultQueue().removeTransactionObserver(self) }
Tal zion
source share