예제 #1
0
    void RecieveFromJava(string message)
    {
                #if UNITY_ANDROID
        Debug.Log("Received from java message: " + message);

        if (message != "Fail")
        {
            BundlePurchaseRequest bundlePurchaseRequest = new BundlePurchaseRequest();
            bundlePurchaseRequest.BundleID     = currentBundleID;
            bundlePurchaseRequest.UserID       = CloudGoods.user.userID.ToString();
            bundlePurchaseRequest.ReceiptToken = message;

            //TODO implement platform check for platform premium currency bundle purchase
            bundlePurchaseRequest.PaymentPlatform = 3;

            string bundleJsonString = JsonConvert.SerializeObject(bundlePurchaseRequest);

            CloudGoods.PurchaseCreditBundles(bundleJsonString, OnReceivedPurchaseResponse);
        }
        else
        {
            PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse();
            response.StatusCode = 0;
            response.Message    = message;

            OnPurchaseErrorEvent(response);
        }
#endif
    }
        public void OnReceivedFacebookCurrencyPurchase(string data)
        {
            Debug.Log("data: " + data);
            JsonData receiptData = JsonMapper.ToObject(data);

            if (data.Contains("error"))
            {
                PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse()
                {
                    Balance    = 0,
                    Message    = receiptData["error_message"].ToString(),
                    StatusCode = int.Parse(receiptData["error_code"].ToString())
                };

                OnPurchaseErrorEvent(response);
                return;
            }

            if (receiptData["status"].ToString() == "completed")
            {
                PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse()
                {
                    Balance    = 0,
                    Message    = receiptData["status"].ToString(),
                    StatusCode = 0
                };

                OnReceivedPurchaseResponse(response);
            }
            else
            {
                OnPurchaseErrorEvent(null);
            }
        }
예제 #3
0
 public void OnReceivedPurchaseResponse(PurchasePremiumCurrencyBundleResponse data)
 {
     if (RecievedPurchaseResponse != null)
     {
         RecievedPurchaseResponse(data);
     }
 }
        void OnAndroidPurchaseSuccessful(string message)
        {
            Debug.Log("Received from java message: " + message);

            if (message != "Fail")
            {
                BundlePurchaseRequest bundlePurchaseRequest = new BundlePurchaseRequest();
                bundlePurchaseRequest.BundleID        = currentBundleID;
                bundlePurchaseRequest.PaymentPlatform = 3;

                GooglePlayReceiptToken receiptToken = JsonMapper.ToObject <GooglePlayReceiptToken>(message);
                receiptToken.OrderInfo = receiptToken.OrderInfo.Replace("\\\"", "\"");
                string jsonData = JsonMapper.ToJson(receiptToken);

                bundlePurchaseRequest.ReceiptToken = jsonData;

                CallHandler.Instance.PurchasePremiumCurrencyBundle(bundlePurchaseRequest, OnReceivedPurchaseResponse);
            }
            else
            {
                PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse();
                response.StatusCode = 0;
                response.Message    = message;

                OnPurchaseErrorEvent(response);
            }
        }
예제 #5
0
    public PurchasePremiumCurrencyBundleResponse ConvertToPurchasePremiumCurrencyBundleResponse(string dataString)
    {
        PurchasePremiumCurrencyBundleResponse purchaseResponse = new PurchasePremiumCurrencyBundleResponse();

        string   parsedString = ParseString(dataString);
        JsonData dataArray    = LitJson.JsonMapper.ToObject(parsedString);

        int statusCode;

        if (!int.TryParse(dataArray["StatusCode"].ToString(), out statusCode))
        {
            Debug.LogError("Error from server while trying to purchase bundles");
            return(null);
        }

        purchaseResponse.StatusCode = statusCode;
        purchaseResponse.Balance    = int.Parse(dataArray["Balance"].ToString());

        if (statusCode != 1)
        {
            purchaseResponse.Message = dataArray["Message"].ToString();
        }

        return(purchaseResponse);
    }
    public void OnReceivedPurchaseResponse(PurchasePremiumCurrencyBundleResponse data)
    {
        if (RecievedPurchaseResponse != null)
        {
            RecievedPurchaseResponse(data);
        }

        CloudGoods.GetPremiumCurrencyBalance(null);
    }
    void OnItemPurchaseCancelled(string cancelledString)
    {
        PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse();

        response.StatusCode = 0;
        response.Message    = "User Cancelled";

        OnPurchaseErrorEvent(response);
    }
    void OnItemPurchaseError(string errorMessage)
    {
        PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse();

        response.StatusCode = 0;
        response.Message    = "Error: " + errorMessage;

        OnPurchaseErrorEvent(response);
    }
예제 #9
0
        void OnRecievedPurchaseResponse(PurchasePremiumCurrencyBundleResponse data)
        {
            Debug.Log("Received purchase response:  " + data);
            isPurchaseRequest = false;

            if (OnPremiumCurrencyPurchased != null)
            {
                OnPremiumCurrencyPurchased(data);
            }
        }
예제 #10
0
    void platformPurchasor_RecievedPurchaseResponse(PurchasePremiumCurrencyBundleResponse obj)
    {
        Debug.Log("Purchase popup event called");

        PurchaseWindow.SetActive(true);

        if (obj.StatusCode == 1)
        {
            purchaseMessage.text = "Purchase Successful";
        }
        else
        {
            purchaseMessage.text = obj.Message;
        }
    }
예제 #11
0
    void OnErrorCodeFromAndroidPurchase(string responseCode)
    {
                #if UNITY_ANDROID
        if (OnPurchaseErrorEvent != null)
        {
            PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse();
            response.StatusCode = 0;
            response.Message    = "Error Occured, Response Code: " + responseCode;
            OnPurchaseErrorEvent(response);
        }

        if (responseCode.Remove(1, responseCode.Length - 1) == "7")
        {
            ConsumeOwneditem();
        }
#endif
    }
예제 #12
0
    public void OnReceivedPurchaseResponse(PurchasePremiumCurrencyBundleResponse data)
    {
        if (data.StatusCode == 1)
        {
            ConsumeCurrentPurchase();

            if (RecievedPurchaseResponse != null)
            {
                RecievedPurchaseResponse(data);
            }
        }
        else
        {
            Debug.Log("Purchase was not authentic, consuming Item");

            if (OnPurchaseErrorEvent != null)
            {
                OnPurchaseErrorEvent(data);
            }
        }
    }
    public void OnReceivedFacebookCurrencyPurchase(string data)
    {
        Debug.Log("data: " + data);
        JsonMapper.ToObject(data);

        Newtonsoft.Json.Linq.JToken parsedData = Newtonsoft.Json.Linq.JToken.Parse(data);

        if (parsedData["error_message"] != null)
        {
            PurchasePremiumCurrencyBundleResponse response = new PurchasePremiumCurrencyBundleResponse();
            response.StatusCode = 0;
            response.Message    = parsedData["error_message"].ToString();

            if (OnPurchaseErrorEvent != null)
            {
                OnPurchaseErrorEvent(response);
            }
            return;
        }

        Debug.Log("parsedData: " + parsedData.ToString());

        BundlePurchaseRequest bundlePurchaseRequest = new BundlePurchaseRequest();

        bundlePurchaseRequest.BundleID     = currentBundleID;
        bundlePurchaseRequest.UserID       = CloudGoods.user.userID.ToString();
        bundlePurchaseRequest.ReceiptToken = parsedData["payment_id"].ToString();

        //TODO implement platform check for platform premium currency bundle purchase
        bundlePurchaseRequest.PaymentPlatform = 1;

        string bundleJsonString = JsonConvert.SerializeObject(bundlePurchaseRequest);

        CloudGoods.PurchaseCreditBundles(bundleJsonString, OnReceivedPurchaseResponse);

        //if (RecievedPurchaseResponse != null)
        //    RecievedPurchaseResponse(data);
    }
    void platformPurchasor_OnPurchaseErrorEvent(PurchasePremiumCurrencyBundleResponse obj)
    {
        Debug.Log("Purchase Platform Error: " + obj);

        isPurchaseRequest = false;
    }
 void OnRecievedPurchaseResponse(PurchasePremiumCurrencyBundleResponse data)
 {
     Debug.Log("Received purchase response:  " + data);
     isPurchaseRequest = false;
     CloudGoods.GetPremiumCurrencyBalance(null);
 }
 public void OnReceivedPurchaseResponse(PurchasePremiumCurrencyBundleResponse data)
 {
     Debug.Log("received credit response: " + data);
     RecievedPurchaseResponse(data);
     CloudGoods.GetPremiumCurrencyBalance(null);
 }
 void PremiumCurrencyBundleStore_OnPremiumCurrencyPurchased(PurchasePremiumCurrencyBundleResponse obj)
 {
     Invoke("UpdateLabels", 1.5f);
 }
예제 #18
0
 void PremiumCurrencyBundleStore_OnPremiumCurrencyPurchased(PurchasePremiumCurrencyBundleResponse obj)
 {
     purchasePopup.SetActive(true);
     purchasePopup.GetComponentInChildren <Text>().text = "Purchase Successful";
 }
예제 #19
0
 void OnTransactionFail(PurchasePremiumCurrencyBundleResponse response)
 {
     transactionWindowObj.SetActive(true);
     transactionText.text = response.Message;
 }