Environment: Sandbox
After calling:
the purcheses are restored and the :
is called with multiple transactions having the transactionState SKPaymentTransactionState.restored
(keep in mind we do call the
)
in the end the:
is called
After this has been done every new payment that is made, calls the:
with the transactionState being SKPaymentTransactionState.restored and the data of the transaction being some old payment.
If the application is restarted we get all of the transactions being processed as purchased
(we are adding the delegate of the
in the AppDelegate) and if we try to make a payment we get an old transaction with an old receipt.
After a second restart if we do not restore purchases and just make a payment it all goes as it should.
After calling:
Code Block SKPaymentQueue.default().restoreCompletedTransactions
the purcheses are restored and the :
Code Block func (_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
is called with multiple transactions having the transactionState SKPaymentTransactionState.restored
(keep in mind we do call the
Code Block SKPaymentQueue.default().finishTransaction
)
in the end the:
Code Block paymentQueueRestoreCompletedTransactionsFinished
is called
After this has been done every new payment that is made, calls the:
Code Block func paymentQueue(_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
with the transactionState being SKPaymentTransactionState.restored and the data of the transaction being some old payment.
If the application is restarted we get all of the transactions being processed as purchased
(we are adding the delegate of the
Code Block SKPaymentQueue.default().add
in the AppDelegate) and if we try to make a payment we get an old transaction with an old receipt.
After a second restart if we do not restore purchases and just make a payment it all goes as it should.