Post

Replies

Boosts

Views

Activity

Issue with SKPaymentQueue not finishing transactions
I have an app that implements Non-renewable subscriptions. During development I believe I did not properly finish multiple SKPaymentTransactions. Now every time I build and run the app on device then add an SKPaymentTransactionObserver to SKPaymentQueue.default() some of those transactions show up when paymentQueue(:updatedTransactions:) is called. I’ve tried finishing those transactions but they never seem to actually do so. paymentQueue(:removedTransactions:) does get called some time after my attempt to finish the transactions so I would assume those transactions would be finished but when I build and run the app again on device those same transactions show up again from paymentQueue(:updatedTransactions:). Now every time I make a purchase for a different ProductId the purchase will go though properly. I handle receipt validation and finish the transaction. If I then attempt to purchase the same non-renewable subscription I get “This In-App Purchase has already been bought” alert. If I restart the app again that last transaction will show up via paymentQueue(:updatedTransactions:) as if it was never actually finished. It seem like nothing I do will finish these transactions that seem to linger on forever.  Is there some other alternative to finishing/clearing these transactions? Am I stuck in this loop forever? :(
2
0
2.9k
Apr ’21