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()); } }