public GlobalSave.SOrder CheckOrder()
    {
        GlobalSave.SOrder leftOrder = null;
        if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_APPSTORE)
        {
            leftOrder = GlobalSave.GetAppStoreOrder();
            return(leftOrder);
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_IAPPPAY)
        {
            leftOrder = GlobalSave.GetIAppPayOrder();
            return(leftOrder);
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_PP)
        {
            leftOrder = GlobalSave.GetPPPayOrder();
            return(leftOrder);
        }
#if UNITY_ANDROID
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_CHANGYOU)
        {
            GlobalSave.GetCyouStoreOrder();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_THIRD)
        {
            GlobalSave.GetCyouStoreOrder();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_GooglePay)
        {
            GlobalSave.GetCyouStoreOrder();
        }
#endif
        return(null);
    }
    public bool BeginCheckOrder(GlobalSave.SOrder curOrder, OnPayFinish delPayFinish)
    {
        if (null == curOrder)
        {
            return(false);
        }

        m_delFinishPay       = delPayFinish;
        m_curOrder.productID = curOrder.productID;
        m_curOrder.goodId    = curOrder.goodId;
        m_curOrder.reciept   = curOrder.reciept;
        m_curOrder.strOder   = curOrder.strOder;
        ;
#if UNITY_ANDROID
        m_curOrder.goodPrice    = curOrder.goodPrice;
        m_curOrder.signature    = curOrder.signature;
        m_curOrder.purchaseData = curOrder.purchaseData;
#else
        m_curOrder.price = curOrder.price;
#endif
        m_curOrder.userID = curOrder.userID;
        m_curOrder.zoneID = curOrder.zoneID;
        BeginVarify();

        return(true);
    }
    private void LoadData()
    {
        m_curLoadedPath = OrderPath();
        m_orderList.Clear();

        string strLine;

        if (!File.Exists(OrderPath()))
        {
            return;
        }
        FileStream   aFile = new FileStream(OrderPath(), FileMode.Open);
        StreamReader sr    = new StreamReader(aFile);

        strLine = sr.ReadLine();

        while (strLine != null)
        {
            GlobalSave.SOrder newOrder = new GlobalSave.SOrder();
            if (newOrder.FromString(strLine))
            {
                m_orderList.Add(newOrder);
            }
            strLine = sr.ReadLine();
        }
        sr.Close();
    }
    void queryInventorySucceededEvent(List <GooglePurchase> purchases, List <GoogleSkuInfo> skus)
    {
        Debug.Log(string.Format("queryInventorySucceededEvent. total purchases: {0}, total skus: {1}", purchases.Count, skus.Count));
        Prime31.Utils.logObject(purchases);
        Prime31.Utils.logObject(skus);
        foreach (GooglePurchase purchase in purchases)
        {
            //消费剩余产品;这类产品在googleplay的状态是已购买未消费,而在本地状态是未购买,
            PurchaseInfo purchaseInfo = null;
            foreach (PurchaseInfo temp in Obj_MyselfPlayer.GetMe().purchaseInfoList)
            {
                if (temp.productId == purchase.productId)
                {
                    purchaseInfo = temp;
                    break;
                }
            }

            gpderID        = purchase.orderId;
            gpproduceID    = purchase.productId;
            gpsignature    = purchase.signature;
            gppurchaseData = purchase.originalJson;

            if (purchaseInfo != null)
            {
                GlobalSave.SOrder m_curOrder = new GlobalSave.SOrder();
                m_curOrder.goodId    = purchaseInfo.goodsId;
                m_curOrder.productID = purchaseInfo.productId;
                m_curOrder.goodPrice = purchaseInfo.goodsPrice.ToString();
                m_curOrder.goodName  = purchaseInfo.goodsName;
                if (purchaseInfo.goodsNumber == 0)
                {
                    m_curOrder.goodsNumber = 1;
                }
                else
                {
                    m_curOrder.goodsNumber = purchaseInfo.goodsNumber;
                }
                m_curOrder.channel = AndroidConfig.GetChannelID();

                m_curOrder.strOder      = gpderID;
                m_curOrder.purchaseData = gppurchaseData;
                m_curOrder.signature    = gpsignature;
                lossLists.Add(m_curOrder);
            }
        }
        if (lossLists.Count != 0)
        {
            BeginCheckGooglePay(null);
        }
    }
    public void RemoveSaveOrder(string orderID)
    {
        GlobalSave.SOrder curSaveOrder = CheckOrder();
        if (null != curSaveOrder)
        {
            if (curSaveOrder.strOder == orderID)
            {
                if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_APPSTORE)
                {
                    GlobalSave.CleanAppStoreOrder();
#if UNITY_IPHONE
                    //结束本次交易 by HeGuangyu
                    //Debug.Log("RemoveSaveOrder(), finish Pending Transaction " + orderID);
                    //StoreKitBinding.finishPendingTransactions();
                    //end HeGuangyu
#endif
                }
                else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_IAPPPAY)
                {
                    GlobalSave.CleanIAppPayOrder();
                }
                else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_PP)
                {
                    GlobalSave.CleanPPPayOrder();
                }
#if UNITY_ANDROID
                else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_CHANGYOU)
                {
                    GlobalSave.CleanCyouStoreOrder();
                }
                else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_THIRD)
                {
                    GlobalSave.CleanCyouStoreOrder();
                }
                else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_GooglePay)
                {
                    GlobalSave.CleanCyouStoreOrder();
                }
#endif
            }
        }
    }
    private void BeginCheckGooglePay(GameObject go)
    {
        if (lossLists.Count != 0)
        {
            GlobalSave.SOrder low = lossLists[0];

            //在本地没有订单的情况下;至少帮助玩家添加订单;然后进行自动验证;
            if (!OrderManager.Instance().HaveOrder(low.strOder))
            {
                BoxManager.showMessage("正在进行补单,请稍后", "");
                OrderManager.Instance().AddOrder(low);
                PurchaseHelper.Instance().BeginCheckOrder(low, FinishCheck);
            }

            GoogleIAB.consumeProduct(low.productID);
            lossLists.RemoveAt(0);
        }
        else
        {
            GameObject.FindWithTag("main_controller").SendMessage("updateUserInfo");
        }
    }
    public void AddOrder(GlobalSave.SOrder orderData)
    {
        GlobalSave.SOrder newOrder = new GlobalSave.SOrder();
        newOrder.Copy(orderData);
        for (int i = 0; i < m_orderList.Count; i++)
        {
            if (newOrder.strOder == m_orderList[i].strOder)
            {
                return;
            }
        }
        newOrder.date    = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss");
        newOrder.channel = DeviceHelper.GetChannelID();
        newOrder.state   = 0;
        m_orderList.Insert(0, newOrder);

        if (m_orderList.Count > 100)
        {
            m_orderList.RemoveRange(100, m_orderList.Count - 100);
        }

        SaveOrder();
    }
    public static void purchaseUCItem(GlobalSave.SOrder order)
    {
        /*string strGameID = GAMEID;
         * string strGameName = GAMENAME;
         * string strGroupID = "0";
         * string strGroupName = SplashController.serverName;
         * string strItemRealPrice = strPrice;
         * string strItemmarketPrice = strPrice;
         * string strUID = "";
         *      {
         *              strUID = AccountManager.Instance.GetCurEmail();
         *      }
         * string strPurchaseInfo = string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}",
         *                          strGameID,
         *                          strGameName,
         *                          strGroupID,
         *                          strGroupName,
         *                          strID,
         *                          strName,
         *                          nNum.ToString(),
         *                          strItemRealPrice,
         *                          strItemmarketPrice,
         *                          strUID);
         * WebMediator.OpenCyouPayWindow(strPurchaseInfo);
         */

        //三位随机数
        System.Random ran     = new System.Random();
        int           RandKey = ran.Next(100, 999);

        Debug.Log("pllog_RandKey=" + RandKey);
        if (AndroidConfig.is91Channel())
        {
            string keytemp = "101742";
            orderID = WebMediator.GetMacAddress().Replace(":", "")
                      + RandKey.ToString()
                      + System.DateTime.Now.ToString("ddHHmmssfffff")
                      + "_"
                      + keytemp;
        }
        else if (AndroidConfig.isWanDouJiaChannel())
        {
            string keytemp = AndroidConfig.getBillingAppkey();
            orderID = WebMediator.GetMacAddress().Replace(":", "")
                      + RandKey.ToString()
                      + System.DateTime.Now.ToString("ddHHmmssfffff")
                      + "_"
                      + keytemp;
        }
        else if (AndroidConfig.isHuaweiChannel())
        {
            orderID = WebMediator.GetMacAddress().Replace(":", "")
                      + System.DateTime.Now.ToString("mmssfffff");
        }
        else if (AndroidConfig.isSogouChannel())
        {
            orderID = WebMediator.GetMacAddress().Replace(":", "")
                      + System.DateTime.Now.ToString("mmssfffff");
        }
        else
        {
            orderID = WebMediator.GetMacAddress().Replace(":", "")
                      + RandKey.ToString()
                      + System.DateTime.Now.ToString("ddHHmmssfffff");
        }

        //UC渠道代码重构 lihao_yd  2013-12-10

        /*
         * //构造json字符串====================
         * JsonData data = new JsonData();
         * data["appkey"] = AndroidConfig.GetAppKey();
         * data["orderId"] = orderID;
         * data["apiKey"] =AndroidConfig.GetApiKey();
         * data["cpId"] =AndroidConfig.GetCPID();
         *
         * PlayerPrefs.SetString( GlobalSave.CyouStoreLossTempOrderId, orderID );
         *
         * string  json1= data.ToJson();
         *
         * //		string customInfo = "[{'appkey':'"+AndroidConfig.GetAppKey()+
         * //			                "','orderId':'"+orderID+
         * //				            "','apiKey':'"+AndroidConfig.GetApiKey()+
         * //				            "','cpId':'"+AndroidConfig.GetCPID()+"'}]";
         */

        order.strOder = orderID;
        OrderManager.Instance().AddOrder(order);
        //整合UC渠道代码 lihao_yd  2013-11-25

        /*
         * if(AndroidConfig.isUCChannel()){
         *      UCGameSdk.pay(false,float.Parse(order.goodPrice),AndroidConfig.GetServerID(),
         *      Obj_MyselfPlayer.GetMe().accountID.ToString(),Obj_MyselfPlayer.GetMe().accountName,
         *      Obj_MyselfPlayer.GetMe().level.ToString(), json1);
         * }else
         */
        if (AndroidConfig.isUCChannel() || AndroidConfig.isThirdSDKPlatform())
        {
            JsonData dataThird = new JsonData();
            dataThird["ACC"]    = Obj_MyselfPlayer.GetMe().accountID;
            dataThird["OID"]    = order.strOder;
            dataThird["GID"]    = order.goodId.ToString();
            dataThird["PID"]    = order.productID;
            dataThird["PPRICE"] = order.goodPrice;
            dataThird["PNAME"]  = order.goodName;
            Debug.Log("----pay--PNAME = " + order.goodName);
            Debug.Log("----pay--PPRICE = " + order.goodPrice);
            PaySystemInterface.doSdk("doOrder", dataThird.ToJson());
        }
    }