/// <summary> /// Checks the product's transaction ID for uniqueness /// against the transaction log and calls the Application's /// ProcessPurchase method if so. /// </summary> private void ProcessPurchaseIfNew(Product product) { if (useTransactionLog && m_TransactionLog.HasRecordOf(product.transactionID)) { m_Store.FinishTransaction(product.definition, product.transactionID); return; } var p = new PurchaseEventArgs(product); // Applications may elect to delay confirmations of purchases, // such as when persisting purchase state asynchronously. if (PurchaseProcessingResult.Complete == m_Listener.ProcessPurchase(p)) { ConfirmPendingPurchase(product); } }