Ramanan R R
Ramanan R R

Reputation: 906

In app purchase issue when buying product

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

Answers (1)

WINSergey
WINSergey

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

Related Questions