This is my issue. I have called finishTransaction and they still show up.
extension IAPService: SKPaymentTransactionObserver {
func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction]) {
for transaction in transactions {
print (transaction.transactionState.status(), transaction.payment.productIdentifier)
switch transaction.transactionState {
case .purchasing: break
default:
print ("calling finish on \(transaction.payment.productIdentifier)")
queue.finishTransaction(transaction)
print ("finish returned on \(transaction.payment.productIdentifier)")
}
}
}
func restorePurchaces () {
print ("restoring purchases")
paymentQueue.restoreCompletedTransactions()
}
}