private void FillPurchase(ActivePurchase.Part part, Dictionary <string, object> items)
 {
     if (currentPurchase == null)
     {
         currentPurchase = new ActivePurchase();
         currentPurchase.Add(part, new Dictionary <string, object>(items));
     }
     else
     {
         currentPurchase.Remove(part);
         currentPurchase.Add(part, new Dictionary <string, object>(items));
     }
 }
Exemple #2
0
        public void OpenPaystation(string accessToken, bool isSandbox)
        {
//			AddHttpRequestObj();
            SetLoading(isSandbox);
            Logger.isLogRequired = true;
            Logger.Log("Paystation initiated current mode sandbox");
            currentPurchase = new ActivePurchase();
            JSONNode rootNode = JSON.Parse(accessToken);
            Dictionary <string, object> dict = new Dictionary <string, object> ();

            if (rootNode == null)
            {
                isSimple = false;
                dict.Add("access_token", accessToken);
                BaseParams = "access_token=" + accessToken;
            }
            else
            {
                isSimple = true;
                dict.Add("access_data", accessToken);
                BaseParams = "access_data=" + accessToken;
            }
            StartPayment(dict, isSandbox);
        }
        //{"user":{ "id":{ "value":"1234567","hidden":true},"email":{"value":"*****@*****.**"},"name":{"value":"Tardis"},"country":{"value":"US"} },"settings":{"project_id":15764,"language":"en","currency":"USD"}}
        //jafS6nqbzRpZzA38
        // BGKkyK2VetScsLgOcnchTB3r1XdkQaW4 - sandbox
        //KVvI4jVlPaTbre4IAD2chJWTBRqQPkCD
        public void OpenPaystation(string accessToken, bool isSandbox)
        {
            SetLoading(true);
            Logger.isLogRequired = isSandbox;
            Logger.Log("Paystation initiated current mode sandbox");
            currentPurchase = new ActivePurchase();
            JSONNode rootNode = JSON.Parse(accessToken);
            Dictionary <string, object> dict = new Dictionary <string, object> ();

            if (rootNode == null)
            {
                dict.Add("access_token", accessToken);
                BaseParams = "access_token=" + accessToken;
            }
            else
            {
                JSONNode userNode     = rootNode ["user"];
                JSONNode settingsNode = rootNode ["settings"];
                dict.Add("v1", userNode["id"]["value"].Value);
                dict.Add("project", settingsNode ["project_id"].AsInt);

                string vlaue = userNode["name"]["value"].Value;
                if (!"".Equals(vlaue))
                {
                    dict.Add("v2", vlaue);
                }

                vlaue = userNode["email"]["value"].Value;
                if (!"".Equals(vlaue))
                {
                    dict.Add("email", vlaue);
                }

                vlaue = userNode["country"]["value"].Value;
                if (!"".Equals(vlaue))
                {
                    dict.Add("country", vlaue);
                }

                vlaue = settingsNode["language"].Value;
                if (!"".Equals(vlaue))
                {
                    dict.Add("local", vlaue);
                }

                vlaue = settingsNode["currency"].Value;
                if (!"".Equals(vlaue))
                {
                    dict.Add("currency", vlaue);
                }

                vlaue = settingsNode["mode"].Value;
                if (!"".Equals(vlaue))
                {
                    dict.Add("mode", vlaue);
                    vlaue = settingsNode["secretKey"].Value;
                    if (!"".Equals(vlaue))
                    {
                        StringBuilder sb = new StringBuilder("");
//						foreach(KeyValuePair<string, object> kv in dict.OrderBy(i => i.Key))
//						{
//							if(!kv.Key.Equals("country") && !kv.Key.Equals("local") && !kv.Key.Equals("mode"))
//								sb.Append(kv.Key).Append("=").Append(kv.Value.ToString());
//						}
                        sb.Append("vok[*hjs34*p2khf2fi]#dsud:sH}UOHd[FJKhejdhu").Append(vlaue);

                        string sign = MD5Helper.Md5Sum(sb.ToString());
                        dict.Add("sign", sign);
                    }
                    dict.Add("apiMode", "sandbox");
                }

                BaseParams = "project=" + settingsNode ["project_id"] + "&v1=" + userNode["id"]["value"];
            }
            StartPayment(dict, isSandbox);
        }