|
@@ -1,3 +1,4 @@
|
|
|
+using System;
|
|
|
using UnityEngine;
|
|
|
|
|
|
using System.IO;
|
|
@@ -17,7 +18,8 @@ public class AliplayManager : UnitySingleton<AliplayManager>
|
|
|
//private static extern void aliPay(string orderInfo, string gameObjectName);
|
|
|
#endif
|
|
|
|
|
|
- private Dictionary<string, string> PackNameDic = new Dictionary<string, string>();
|
|
|
+ private string packName;
|
|
|
+ //private Dictionary<string, string> PackNameDic = new Dictionary<string, string>();
|
|
|
|
|
|
public void Init()
|
|
|
{
|
|
@@ -38,7 +40,8 @@ public class AliplayManager : UnitySingleton<AliplayManager>
|
|
|
|
|
|
id = id.Substring(index);
|
|
|
|
|
|
- PackNameDic.Add(Regex.Match(WWW.UnEscapeURL(id), "out_trade_no.*total_amount").Value, packName);
|
|
|
+ this.packName = packName;
|
|
|
+ //PackNameDic.Add(Regex.Match(WWW.UnEscapeURL(id), "out_trade_no.*total_amount").Value, packName);
|
|
|
|
|
|
#if UNITY_ANDROID
|
|
|
|
|
@@ -54,41 +57,52 @@ public class AliplayManager : UnitySingleton<AliplayManager>
|
|
|
|
|
|
public void OnPayResult(string result)
|
|
|
{
|
|
|
- //if result=9000 means pay success;
|
|
|
-
|
|
|
- if (int.Parse(result.Split('|')[0]) == 9000)
|
|
|
+ if (result.Split('|')[0] =="9000")
|
|
|
+ {
|
|
|
+ IAPManager.BuyProductCallbackDictionary[packName].Invoke();
|
|
|
+ PayCard.Hide();
|
|
|
+ }
|
|
|
+ else
|
|
|
{
|
|
|
- Bubble.Show(null, Language.GetStr(LanguageLabel.IAP__PurchaseSuccess));
|
|
|
+ Bubble.Show(null, Language.GetStr(LanguageLabel.IAP__PurchaseFail));
|
|
|
+ ResourceManager.Get<CanvasGroup>(CanvasLabel.AK_PayCard).interactable = true;
|
|
|
+ }
|
|
|
|
|
|
- JsonData jsonData = JsonMapper.ToObject(result.Split('|')[1]);
|
|
|
+ //if result=9000 means pay success;
|
|
|
|
|
|
- string out_trade_no = jsonData["alipay_trade_app_pay_response"]["out_trade_no"].ToString();
|
|
|
+ //if (int.Parse(result.Split('|')[0]) == 9000)
|
|
|
+ //{
|
|
|
+ // Bubble.Show(null, Language.GetStr(LanguageLabel.IAP__PurchaseSuccess));
|
|
|
|
|
|
- string key = "";
|
|
|
+ // JsonData jsonData = JsonMapper.ToObject(result.Split('|')[1]);
|
|
|
|
|
|
- string packName = "";
|
|
|
+ // string out_trade_no = jsonData["alipay_trade_app_pay_response"]["out_trade_no"].ToString();
|
|
|
|
|
|
- foreach (var kv in PackNameDic)
|
|
|
- {
|
|
|
- if (kv.Key.Contains(out_trade_no))
|
|
|
- {
|
|
|
- key = kv.Key;
|
|
|
- packName = kv.Value;
|
|
|
- }
|
|
|
- }
|
|
|
+ // string key = "";
|
|
|
|
|
|
- if (!string.IsNullOrEmpty(packName))
|
|
|
- {
|
|
|
- PackNameDic.Remove(key);
|
|
|
+ // string packName = "";
|
|
|
|
|
|
- IAPManager.BuyProductCallbackDictionary[packName].Invoke();
|
|
|
- PayCard.Hide();
|
|
|
- }
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- Bubble.Show(null, Language.GetStr(LanguageLabel.IAP__PurchaseFail));
|
|
|
- ResourceManager.Get<CanvasGroup>(CanvasLabel.AK_PayCard).interactable = true;
|
|
|
- }
|
|
|
+ // foreach (var kv in PackNameDic)
|
|
|
+ // {
|
|
|
+ // if (kv.Key.Contains(out_trade_no))
|
|
|
+ // {
|
|
|
+ // key = kv.Key;
|
|
|
+ // packName = kv.Value;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+
|
|
|
+ // if (!string.IsNullOrEmpty(packName))
|
|
|
+ // {
|
|
|
+ // PackNameDic.Remove(key);
|
|
|
+
|
|
|
+ // IAPManager.BuyProductCallbackDictionary[packName].Invoke();
|
|
|
+ // PayCard.Hide();
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ //else
|
|
|
+ //{
|
|
|
+ // Bubble.Show(null, Language.GetStr(LanguageLabel.IAP__PurchaseFail));
|
|
|
+ // ResourceManager.Get<CanvasGroup>(CanvasLabel.AK_PayCard).interactable = true;
|
|
|
+ //}
|
|
|
}
|
|
|
}
|