How can I check if user tapped cancel button (either when he was asked if he wants to purchase smth or perhaps if he already purchased this SKProduct whether he wants to download it)?
For now I just receive SKPaymentTransactionStateFailed in paymentQueue:updatedTransactions: method both after user taps cancel button and for instance when there is no internet. Any way to differentiate these two cases?
Check the SKPaymentTransaction error
property that is set.
@property(nonatomic, readonly) NSError *error
An object describing the error that occurred while processing the transaction. (read-only)
The error property is undefined except when transactionState is set to SKPaymentTransactionStateFailed. Your application can read the error property to determine why the transaction failed.
Additionally, you may want to use Apple's Reachability class to determine if Internet is available prior to initiating the transaction.