static OpenIAB_WP8() { Store.PurchaseSucceeded += (storeSku, payload) => { string sku = GetSku(storeSku); Purchase purchase = Purchase.CreateFromSku(sku, payload); OpenIAB.EventManager.SendMessage("OnPurchaseSucceeded", purchase); }; Store.PurchaseFailed += (error) => { OpenIAB.EventManager.SendMessage("OnPurchaseFailed", error); }; Store.ConsumeSucceeded += (storeSku) => { string sku = GetSku(storeSku); Purchase purchase = Purchase.CreateFromSku(sku); OpenIAB.EventManager.SendMessage("OnConsumePurchaseSucceeded", purchase); }; Store.ConsumeFailed += (error) => { OpenIAB.EventManager.SendMessage("OnConsumePurchaseFailed", error); }; Store.LoadListingsSucceeded += (listings) => { Inventory inventory = GetInventory(); foreach (KeyValuePair <string, ProductListing> pair in listings) { SkuDetails skuDetails = new SkuDetails(pair.Value); inventory.AddSkuDetails(skuDetails); } OpenIAB.EventManager.SendMessage("OnQueryInventorySucceeded", inventory); }; Store.LoadListingsFailed += (error) => { OpenIAB.EventManager.SendMessage("OnQueryInventoryFailed", error); }; }
public void purchaseSubscription(string sku, string developerPayload = "") { if (!IsDevice()) { // Fake purchase in editor mode OpenIAB.EventManager.SendMessage("OnPurchaseSucceeded", Purchase.CreateFromSku(sku, developerPayload).Serialize()); return; } _plugin.Call("purchaseSubscription", sku, developerPayload); }
public Inventory(StoreKitProduct[] products) { foreach (var product in products) { string sku = OpenIAB_iOS.StoreSku2Sku(product.identifier); _skuMap.Add(sku, new SkuDetails(product)); if (OpenIAB_iOS.IsProductPurchased(product.identifier)) { _purchaseMap.Add(sku, Purchase.CreateFromSku(sku)); } } }
private static Inventory GetInventory() { var inventory = new Inventory(); var purchasesList = Store.Inventory; foreach (string storeSku in purchasesList) { Purchase purchase = Purchase.CreateFromSku(GetSku(storeSku)); inventory.AddPurchase(purchase); } return(inventory); }