Environment: Sandbox
After calling:
SKPaymentQueue.default().restoreCompletedTransactions
the purcheses are restored and the :
func (_ queue: SKPaymentQueue, updatedTransactions transactions: [SKPaymentTransaction])
is called with multiple transactions having the transactionState SKPaymentTransactionState.restored
(keep in mind we do call the
SKPaymentQueue.default().finishTransaction
)
in the end the:
paymentQueueRestoreCompletedTransactionsFinished
is called
After this has been done every new payment that is made, calls the:
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
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.
Post
Replies
Boosts
Views
Activity
I know I can do it from the app (IAPHelper.shared.fetchAvailableProducts )
but is it possible to list all available subscriptions from my backend server?