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 FinishPay(bool bSuccess, PurchaseTip tipID)
    {
        OnPayFinish temp = m_delFinishPay;

        m_delFinishPay = null;
        if (null != temp)
        {
            temp(bSuccess, GetDicTip(tipID));
        }
    }
    private void FinishPay(bool bSuccess, string strTip)
    {
        OnPayFinish temp = m_delFinishPay;

        m_delFinishPay = null;
        if (null != temp)
        {
            temp(bSuccess, strTip);
        }
    }
 public void VarifyJavaOrder(string gid, string pid, string gprice, string order)
 {
     if (string.IsNullOrEmpty(gid))
     {
         gid = "0";
     }
     m_delFinishPay = FakeFinishPay;
     NetworkSender.Instance().VerifyCYouPurchase(VarifyResult,
                                                 Convert.ToInt32(gid),
                                                 pid,
                                                 order,
                                                 gprice,
                                                 0,
                                                 false);
 }
    public void MakePurchase(PurchaseInfo curProduct, OnPayFinish delPayFinish)
    {
        if (null == curProduct)
        {
            FinishPay(false, PurchaseTip.TIP_NOTSUPPORT);
            return;
        }
        else if (CheckOrder() != null)
        {
            FinishPay(false, "有未处理的订单,请返回刷新商店列表验证订单");
            return;
        }

        Debug.Log("try purchase id:" + curProduct.productId + "goodid: " + curProduct.goodsId.ToString());
        m_curOrder.productID   = curProduct.productId;
        m_curOrder.goodId      = curProduct.goodsId;
        m_curOrder.price       = curProduct.goodsPrice.ToString();
        m_curOrder.productName = curProduct.goodsName;
        m_curOrder.userID      = Obj_MyselfPlayer.GetMe().uid;
        m_curOrder.zoneID      = 0;
        PayVarifyResult        = -10;
        m_delFinishPay         = delPayFinish;
        if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_APPSTORE)
        {
            MakeAppStorePurchase();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_IAPPPAY)
        {
            m_curOrder.strOder = OrderManager.Instance().GenerateOrderString(m_curOrder.goodId);
            OrderManager.Instance().AddOrder(m_curOrder);
            BoxManager.removeMessage();
            MakeIAppPurchase();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_PP)
        {
            m_curOrder.strOder = OrderManager.Instance().GenerateOrderString(m_curOrder.goodId);
            OrderManager.Instance().AddOrder(m_curOrder);
            MakePPPurchase();
        }
        else
        {
            FinishPay(false, PurchaseTip.TIP_NOTSUPPORT);
        }
    }
    public void VarifyTheLossOrder(string gid, string pid, string gprice, string order)
    {
        int platform = 0;

        // UC???? lihao_yd
        if (AndroidConfig.isUCChannel())
        {
            platform = AndroidConfig.PLATFORM_UC;
        }
        else
        {
            platform = AndroidConfig.PLATFORM_CYOU;
        }
        m_delFinishPay     = FakeFinishPay;
        m_curOrder.strOder = order;
        NetworkSender.Instance().VerifyCYouPurchase(VarifyResult,
                                                    Convert.ToInt32(gid),
                                                    pid,
                                                    order,
                                                    gprice,
                                                    platform,
                                                    false);
    }
    public void MakePurchase(PurchaseInfo curPurchaseInfo, OnPayFinish delPayFinish)
    {
        if (Time.time - makePurchaseTimeCount < 2)
        {
            return;
        }
        makePurchaseTimeCount = Time.time;

        Debug.Log("----try purchase");
        m_curOrder.productID = curPurchaseInfo.productId;
        m_curOrder.goodId    = curPurchaseInfo.goodsId;
        m_curOrder.goodName  = curPurchaseInfo.goodsName;
        m_curOrder.goodPrice = curPurchaseInfo.goodsPrice.ToString();        // int to string
        Debug.Log("----lee-1-MakePurchase-m_curOrder.goodPrice==" + m_curOrder.goodPrice);
        //m_curOrder.userID = Obj_MyselfPlayer.GetMe().a.uid;
        //m_curOrder.zoneID = 0;

        if (curPurchaseInfo.goodsNumber == 0)
        {
            m_curOrder.goodsNumber = 1;
        }
        else
        {
            m_curOrder.goodsNumber = curPurchaseInfo.goodsNumber;
        }
        m_curOrder.channel = AndroidConfig.GetChannelID();
        PayVarifyResult    = -10;
        m_delFinishPay     = delPayFinish;

        int nPrice = (int)(curPurchaseInfo.goodsPrice);

        /*
         * double dPrice = Convert.ToDouble(m_curOrder.goodPrice);
         * int nPrice = (int)(dPrice * 100);
         * if(nPrice <= 0)
         * {
         *      nPrice = 1;
         * }
         *
         * m_curOrder.goodPrice = nPrice.ToString();
         * Debug.Log("----lee-2-MakePurchase-m_curOrder.goodPrice=="+m_curOrder.goodPrice);
         */

        if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_APPSTORE)
        {
            MakeAppStorePurchase();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_IAPPPAY)
        {
            m_curOrder.strOder = OrderManager.Instance().GenerateOrderString(m_curOrder.goodId);
            MakeIAppPurchase();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_CHANGYOU)
        {
            //2013-11-26 18:30 lihao_yd 修改官网包充值记录显示价格不对的bug
            //nPrice/=100;
            //m_curOrder.goodPrice = nPrice.ToString();    //改为只在充值记录显示的时候除100
            Debug.Log("----lee-3-MakePurchase-m_curOrder.goodPrice==" + m_curOrder.goodPrice);
            GlobalSave.SetCyouStoreLossGoodInfoTemp(m_curOrder.goodId, m_curOrder.productID, nPrice, Obj_MyselfPlayer.GetMe().accountID); // 如果掉单,这里先保存商品信息(临时信息)
            MakeCyouPurchase();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_THIRD)
        {
            nPrice /= 100;
            m_curOrder.goodPrice = nPrice.ToString();
            Debug.Log("--proPrice = " + nPrice.ToString());
            GlobalSave.SetCyouStoreLossGoodInfoTemp(m_curOrder.goodId, m_curOrder.productID, nPrice, Obj_MyselfPlayer.GetMe().accountID); // 如果掉单,这里先保存商品信息(临时信息)
            MakeUCPurchase();
        }
        else if (DeviceHelper.IAPStyle() == (int)IAPStyle.PAY_GooglePay)
        {
            //不知道临时订单的机制,而且GooglePlay的补单方式不采用国内的方式;
            Debug.Log("--proPrice = " + m_curOrder.goodPrice.ToString());
            MakeGooglePurchase();
        }
        else
        {
            FinishPay(false, PurchaseTip.TIP_NOTSUPPORT);
        }
    }