Reputation: 906
I'm doing in a In app purchase, after clicking the button (multiple times it showed login alert of my test user)
- (IBAction)BuyProduct:(id)sender {
SKPayment *payment = [SKPayment paymentWithProduct:_product];
[[SKPaymentQueue defaultQueue] addPayment:payment];
}
then code moves to
case SKPaymentTransactionStateFailed:NSLog(@"Transaction Failed");
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
Finally my console shows:
2013-12-06 18:56:13.694 sample_purchase[505:60b] Transaction Failed
2013-12-06 18:56:20.553 sample_purchase[505:60b] <SKPaymentQueue: 0x166809c0>: Ignoring restoreCompletedTransactionsWithApplicationUsername: because already restoring transactions
2013-12-06 18:56:21.844 sample_purchase[505:60b] <SKPaymentQueue: 0x166809c0>: Ignoring restoreCompletedTransactionsWithApplicationUsername: because already restoring transactions
Please help!
Upvotes: 2
Views: 1545
Reputation: 2005
This may useful to you:
- (void)restoreCompletedTransactions {
if ([[[SKPaymentQueue defaultQueue] transactions] count]) {
NSLog(@"We get very non-patient user");
for (SKPaymentTransaction *transaction in [[SKPaymentQueue defaultQueue] transactions])
[[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}else{
[[SKPaymentQueue defaultQueue] restoreCompletedTransactions];
}
}
Upvotes: 1