public void BuyProduct(IProductIAP product) { var IAPProduct = product as UnityProductIAP; if (IAPProduct.IsNull() || IAPProduct.product.IsNull() || !IAPProduct.product.availableToPurchase) { return; } _storeController.InitiatePurchase(IAPProduct.id); }
public PurchaseProcessingResult ProcessPurchase(PurchaseEventArgs e) { IProductIAP product = _products.Find(x => x != null && x.id == e.purchasedProduct.definition.id); if (product != null) { "{0} - {1}".LogFormat(this.GetType(), nameof(onPurchasedProduct)); onPurchasedProduct(product); } return(PurchaseProcessingResult.Complete); }
public void OnPurchaseFailed(UnityEngine.Purchasing.Product product, UnityEngine.Purchasing.PurchaseFailureReason reason) { IProductIAP productIAP = _products.IsNullOrEmpty() ? null : _products.Find(x => x != null && x.id == product.definition.id); if (productIAP == null) { return; } "{0} - {1}".LogFormat(this.GetType(), nameof(onPurchaseFailed)); onPurchaseFailed(productIAP, (PurchaseFailureReason)((int)reason)); }