private void SetPurchaseFailed(IStoreProduct product, StoreTransaction transactionInfo, PurchaseValidationResult validationResult, StorePurchaseError failReason, Exception e = null) { var result = new PurchaseResult(product, transactionInfo, validationResult); if (_purchaseOpCs != null) { if (failReason == StorePurchaseError.UserCanceled) { _purchaseOpCs.SetCanceled(); } else if (e != null) { _purchaseOpCs.SetException(new StorePurchaseException(result, failReason, e)); } else { _purchaseOpCs.SetException(new StorePurchaseException(result, failReason)); } } else { InvokePurchaseFailed(result, failReason, e); ReleaseTransaction(); } }
/// <summary> /// Initializes a new instance of the <see cref="PurchaseResult"/> class. /// </summary> public PurchaseResult(IStoreProduct product, StoreTransaction transactionInfo, PurchaseValidationResult validationResult) { Product = product; TransactionInfo = transactionInfo; ValidationResult = validationResult; }
private void SetPurchaseCompleted(IStoreProduct product, StoreTransaction transactionInfo, PurchaseValidationResult validationResult) { var result = new PurchaseResult(product, transactionInfo, validationResult); if (_purchaseOpCs != null) { _purchaseOpCs.SetResult(result); } else { InvokePurchaseCompleted(result); ReleaseTransaction(); } }