4

My class observes SKPaymentQueue. I call:

[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];

The documentation for paymentQueueRestoreCompletedTransactionsFinished: states:

"This method is called after all restorable transactions have been processed by the payment queue."

Just to be overly clear, this means it's called when:

  • There are no items to restore (or does this result in calling paymentQueue:restoreCompletedTransactionsFailedWithError:?)
  • finishTransaction has been called on every transaction returned by the restore call.

If not correct, what is correct?

Ben Flynn
  • 18,524
  • 20
  • 97
  • 142
  • I can say that `paymentQueueRestoreCompletedTransactionsFinished:` gets called before `paymentQueue:removedTransactions:` – Ben Flynn Feb 15 '13 at 18:18
  • Apparently finishTransaction does not need to be called on every transaction before this is called. – Ben Flynn Feb 15 '13 at 20:03
  • Found this in `SKPaymentQueue`: After the transactions are delivered, the payment queue calls the observer’s `paymentQueueRestoreCompletedTransactionsFinished:` method. Different, and not really much more helpful. – Ben Flynn Feb 15 '13 at 20:50
  • It seems to be called after `paymentQueue:updatedTransactions:`, even if `finishTransaction` has not yet been called (e.g. when `finishTransaction` is called asynchronously). – alex-i Mar 11 '16 at 08:49

0 Answers0