public void PurchaseComplete(string strParam) { TsLog.LogError("PurchaseComplete = {0}", new object[] { strParam }); string[] array = strParam.Split(new char[] { '\n' }); string text = string.Empty; if (!string.IsNullOrEmpty(this.Receipt.ToString())) { this.Receipt.Append("&"); } string[] array2 = array; for (int i = 0; i < array2.Length; i++) { string text2 = array2[i]; if (text2.Contains("product_id")) { text = text2.Substring("product_id:".Length); this.Receipt.Append("product_id=" + text); break; } } NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo(); if (myCharInfo != null) { GS_BILLINGCHECK_REQ gS_BILLINGCHECK_REQ = new GS_BILLINGCHECK_REQ(); gS_BILLINGCHECK_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(text); TKString.StringChar(this.m_strTid, ref gS_BILLINGCHECK_REQ.UniqueCode); TKString.StringChar(this.Receipt.ToString(), ref gS_BILLINGCHECK_REQ.Receipt); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGCHECK_REQ, gS_BILLINGCHECK_REQ); PlayerPrefs.SetString(NrPrefsKey.SHOP_PRODUCT_ID, gS_BILLINGCHECK_REQ.i64ItemMallIndex.ToString()); PlayerPrefs.SetString(NrPrefsKey.SHOP_RECEIPT, this.Receipt.ToString()); TsPlatform.FileLog(string.Format("TStorePurchaseComplete\nReceipt ={0} ProductID = {1} ItemMallIdex = {2}", this.Receipt, text, gS_BILLINGCHECK_REQ.i64ItemMallIndex)); TsLog.LogWarning("Send BillingCheck ProductID = {0} ItemMallIdex = {1}", new object[] { text, gS_BILLINGCHECK_REQ.i64ItemMallIndex }); this.Receipt.Remove(0, this.Receipt.Length); } GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ(); gS_BILLING_ITEM_RECODE_REQ.i8Type = 1; gS_BILLING_ITEM_RECODE_REQ.i8Result = 0; gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(text); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ); NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false; }
public void RecoveryItem() { this.m_RecoveryItem = this.m_PushPurchaseList.Pop(); if (this.m_RecoveryItem != null) { this.Receipt.Remove(0, this.Receipt.Length); string arg = string.Concat(new object[] { "{\"orderId\":\"", this.m_RecoveryItem.orderId, "\",\"packageName\":\"", this.m_RecoveryItem.packageName, "\",\"productId\":\"", this.m_RecoveryItem.productId, "\",\"purchaseTime\":", this.m_RecoveryItem.purchaseTime, ",\"purchaseState\":", (int)this.m_RecoveryItem.purchaseState, ",\"developerPayload\":\"", this.m_RecoveryItem.developerPayload, "\",\"purchaseToken\":\"", this.m_RecoveryItem.purchaseToken, "\"}" }); this.Receipt.Append(string.Format("MarketType={0}&Signature={1}&SignedData={2}", "android", this.m_RecoveryItem.signature, arg)); NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo(); if (myCharInfo != null) { GS_BILLINGCHECK_REQ gS_BILLINGCHECK_REQ = new GS_BILLINGCHECK_REQ(); gS_BILLINGCHECK_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.m_RecoveryItem.productId); gS_BILLINGCHECK_REQ.SN = myCharInfo.m_SN; TKString.StringChar(this.Receipt.ToString(), ref gS_BILLINGCHECK_REQ.Receipt); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGCHECK_REQ, gS_BILLINGCHECK_REQ); TsPlatform.FileLog(string.Format("GooglePurchaseComplete\nReceipt ={0} ProductID = {1} ItemMallIdex = {2}", this.Receipt, this.m_RecoveryItem.productId, gS_BILLINGCHECK_REQ.i64ItemMallIndex)); GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ(); gS_BILLING_ITEM_RECODE_REQ.i8Type = 2; gS_BILLING_ITEM_RECODE_REQ.i8Result = 0; gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = gS_BILLINGCHECK_REQ.i64ItemMallIndex; SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ); PlayerPrefs.SetString(NrPrefsKey.SHOP_PRODUCT_ID, gS_BILLINGCHECK_REQ.i64ItemMallIndex.ToString()); PlayerPrefs.SetString(NrPrefsKey.SHOP_RECEIPT, this.Receipt.ToString()); if (TsPlatform.IsBand) { PlayerPrefs.SetString(NrPrefsKey.BAND_RECEIPT, this.m_RecoveryItem.orderId); } } } else { this.m_bRecovery = false; } }
public void RecoveryItem() { this.m_RecoveryItem = this.m_PushPurchaseList.Pop(); if (this.m_RecoveryItem != null) { this.Receipt.Remove(0, this.Receipt.Length); string arg = string.Empty; this.NStorePurchase(this.m_RecoveryItem.getOriginalPurchaseAsJsonText().dictionaryFromJson(), ref this.strProductID); arg = this.m_RecoveryItem.getSignature(); if (TsPlatform.IsBand) { this.Receipt.Append(string.Format("MarketType={0}&Signature={1}&SignedData={2}", "bandnaver", arg, this.m_RecoveryItem.getOriginalPurchaseAsJsonText())); } else { this.Receipt.Append(string.Format("MarketType={0}&Signature={1}&SignedData={2}", "naver", arg, this.m_RecoveryItem.getOriginalPurchaseAsJsonText())); } NrMyCharInfo myCharInfo = NrTSingleton <NkCharManager> .Instance.GetMyCharInfo(); if (myCharInfo != null) { GS_BILLINGCHECK_REQ gS_BILLINGCHECK_REQ = new GS_BILLINGCHECK_REQ(); gS_BILLINGCHECK_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.strProductID); TKString.StringChar(this.Receipt.ToString(), ref gS_BILLINGCHECK_REQ.Receipt); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLINGCHECK_REQ, gS_BILLINGCHECK_REQ); PlayerPrefs.SetString(NrPrefsKey.SHOP_PRODUCT_ID, gS_BILLINGCHECK_REQ.i64ItemMallIndex.ToString()); PlayerPrefs.SetString(NrPrefsKey.SHOP_RECEIPT, this.Receipt.ToString()); if (TsPlatform.IsBand) { PlayerPrefs.SetString(NrPrefsKey.BAND_RECEIPT, this.m_RecoveryItem.getOriginalPurchaseAsJsonText()); } TsPlatform.FileLog(string.Format("TStorePurchaseComplete\nReceipt ={0} ProductID = {1} ItemMallIdex = {2}", this.Receipt, this.strProductID, gS_BILLINGCHECK_REQ.i64ItemMallIndex)); TsLog.LogWarning("Send BillingCheck ProductID = {0} ItemMallIdex = {1}", new object[] { this.strProductID, gS_BILLINGCHECK_REQ.i64ItemMallIndex }); this.Receipt.Remove(0, this.Receipt.Length); } GS_BILLING_ITEM_RECODE_REQ gS_BILLING_ITEM_RECODE_REQ = new GS_BILLING_ITEM_RECODE_REQ(); gS_BILLING_ITEM_RECODE_REQ.i8Type = 1; gS_BILLING_ITEM_RECODE_REQ.i8Result = 0; gS_BILLING_ITEM_RECODE_REQ.i64ItemMallIndex = NrTSingleton <ItemMallItemManager> .Instance.GetItemIndex(this.strProductID); SendPacket.GetInstance().SendObject(eGAME_PACKET_ID.GS_BILLING_ITEM_RECODE_REQ, gS_BILLING_ITEM_RECODE_REQ); NrTSingleton <NrMainSystem> .Instance.m_bIsBilling = false; } else { this.m_bRecovery = false; } }