I'm testing the IAP using a test user (in the sandbox), I have a class that implements the SKPaymentTransactionObserver protocol and when the user selects a certain table view cell, I initiate the payment:
SKPayment *payment = [SKPayment paymentWithProductIdentifier:productIdentifier];
[[SKPaymentQueue defaultQueue] addPayment:payment];
This is done only once and I've checked: the code gets called once. The problem is that '- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions' is sometimes called multiple times and I can't figure out why. This doesn't always happen but it should never happen.
Has anyone encountered this behavior while sandbox testing (it would be a big problem if this would happen in a real scenario)?