예제 #1
0
    BillingPurchase ConvertToBillingPurches(BazaarPurchase purch)
    {
        BillingPurchase itemPurched = new BillingPurchase();

        itemPurched.ProductId        = purch.ProductId;
        itemPurched.OrderId          = purch.OrderId;
        itemPurched.DeveloperPayload = purch.DeveloperPayload;
        itemPurched.PackageName      = purch.PackageName;
        itemPurched.Type             = purch.Type;
        itemPurched.PurchaseTime     = purch.PurchaseTime;
        itemPurched.PurchaseToken    = purch.PurchaseToken;
        switch (purch.PurchaseState)
        {
        case BazaarPurchase.BazaarPurchaseState.Purchased:
            itemPurched.PurchaseState = BillingPurchase.BillingPurchaseState.Purchased;
            break;

        case BazaarPurchase.BazaarPurchaseState.Canceled:
            itemPurched.PurchaseState = BillingPurchase.BillingPurchaseState.Canceled;
            break;

        case BazaarPurchase.BazaarPurchaseState.Refunded:
            itemPurched.PurchaseState = BillingPurchase.BillingPurchaseState.Refunded;
            break;
        }
        itemPurched.Signature    = purch.Signature;
        itemPurched.OriginalJson = purch.OriginalJson;

        return(itemPurched);
    }
예제 #2
0
    void UpdatePurchasedList(List <BazaarPurchase> purchases)
    {
        purchasedList.Clear();

        foreach (BazaarPurchase purch in purchases)
        {
            BillingPurchase itemPurched = ConvertToBillingPurches(purch);
            purchasedList.Add(itemPurched);

            Debug.Log(itemPurched.ToString());
        }
    }
예제 #3
0
    protected void UpdateConsumedList(BillingPurchase consumedItem)
    {
        BillingPurchase beforeConsumed = consumedList.Find(item => {
            if (item.OrderId == consumedItem.OrderId &&
                item.DeveloperPayload == consumedItem.DeveloperPayload &&
                item.ProductId == consumedItem.ProductId)
            {
                return(true);
            }
            return(false);
        });

        if (beforeConsumed == null)
        {
            consumedList.Add(consumedItem);
        }

        Debug.Log("Add consumed item to list:" + consumedItem.ToString());
    }
예제 #4
0
    void UpdatePurchasedList(BazaarPurchase newPurched)
    {
        BillingPurchase beforePurched = purchasedList.Find(purched => {
            if (purched.OrderId == newPurched.OrderId &&
                purched.ProductId == newPurched.ProductId &&                //sku
                purched.PurchaseToken == newPurched.PurchaseToken &&
                purched.Signature == newPurched.Signature)
            {
                return(true);
            }
            return(false);
        });

        if (beforePurched == null)
        {
            BillingPurchase itemPurched = ConvertToBillingPurches(newPurched);
            purchasedList.Add(itemPurched);
            Debug.Log("new purched added to list:" + newPurched.ToString());
        }
        else
        {
            Debug.Log("new purched ignore because already exist in list:" + newPurched.ToString());
        }
    }