Exemplo n.º 1
0
            public override void UpdatedTransactions(SKPaymentQueue queue, SKPaymentTransaction[] transactions)
            {
                foreach (SKPaymentTransaction transaction in transactions)
                {
                    try
                    {
                        switch (transaction.TransactionState)
                        {
                        case SKPaymentTransactionState.Purchased:
                            _inAppPurchases.CompleteTransaction(transaction);
                            SKPaymentQueue.DefaultQueue.FinishTransaction(transaction);
                            break;

                        case SKPaymentTransactionState.Failed:
                            _inAppPurchases.FailedTransaction(transaction);
                            SKPaymentQueue.DefaultQueue.FinishTransaction(transaction);
                            break;

                        case SKPaymentTransactionState.Restored:
                            _inAppPurchases.RestoreTransaction(transaction);
                            SKPaymentQueue.DefaultQueue.FinishTransaction(transaction);
                            break;

                        default:
                            break;
                        }
                    }
                    catch (Exception e)
                    {
                        _inAppPurchases._errorSubject.OnNext(e);
                    }
                }
            }
Exemplo n.º 2
0
            public override void UpdatedTransactions(SKPaymentQueue queue, SKPaymentTransaction[] transactions)
            {
                foreach (var transaction in transactions.Where(x => x != null))
                {
                    this.Log().Debug("UpdatedTransactions: " + transaction.TransactionState);

                    try
                    {
                        switch (transaction.TransactionState)
                        {
                        case SKPaymentTransactionState.Purchased:
                            _inAppPurchases.CompleteTransaction(transaction);
                            SKPaymentQueue.DefaultQueue.FinishTransaction(transaction);
                            break;

                        case SKPaymentTransactionState.Failed:
                            _inAppPurchases.FailedTransaction(transaction);
                            SKPaymentQueue.DefaultQueue.FinishTransaction(transaction);
                            break;

                        case SKPaymentTransactionState.Restored:
                            _inAppPurchases.RestoreTransaction(transaction);
                            SKPaymentQueue.DefaultQueue.FinishTransaction(transaction);
                            break;

                        case SKPaymentTransactionState.Deferred:
                            _inAppPurchases.DeferedTransaction();
                            SKPaymentQueue.DefaultQueue.FinishTransaction(transaction);
                            break;
                        }
                    }
                    catch (Exception e)
                    {
                        _inAppPurchases._errorSubject.OnNext(e);
                    }
                }
            }