示例#1
0
        public ActionResult Index()
        {
            AuthorizeSessionResponse asr = new AuthorizeSessionResponse();

            var message = new AuthorizeSession()
            {
                Gateway         = "PAYEEZY",
                ApiKey          = "aRRMPmVZ1YcYg1TYPDTShbF7MTHyINy1",
                ApiSecret       = "fcaccf88badd97b8e436035f074c5a1139dfb0528722dad7ad7c651fc5fb852",
                AuthToken       = "fdoa-b5074351a146da5885d6648325b09e16b5074351a146da56",
                TransarmorToken = "NOIW",
                ZeroDollarAuth  = true
            };



            var pv2Repo         = new P_Repository();
            var payeezyResponse = pv2Repo.AuthorizeSession(message);

            if (payeezyResponse != null)
            {
                asr = payeezyResponse;
            }

            return(View(asr));
        }
示例#2
0
        public ActionResult Index()
        {
            AuthorizeSessionResponse data = new AuthorizeSessionResponse();

            //var message = new AuthorizeSession()
            //{
            //    Gateway = "PAYEEZY",
            //    ApiKey = "G26mPwHd0zkPLdRjZXwHzbvbZGARSYOv",
            //    ApiSecret = "69d81c12e3a5b5b6f08f06bf14478bf5fc124018e24833138e3d751217dff62c",
            //    AuthToken = "fdoa-58b315cee9dfdf98ab62efa24904a8a2aef8e02f5e0e259e",
            //    TransarmorToken = "NOIW",
            //    ZeroDollarAuth = false
            //};

            var message = new AuthorizeSession()
            {
                Gateway         = "PAYEEZY",
                ApiKey          = "aRRMPmVZ1YcYg1TYPDTShbF7MTHyINy1",
                ApiSecret       = "fcaccf88badd97b8e436035f074c5a1139dfb0528722dad7ad7c651fc5fb852",
                AuthToken       = "fdoa-b5074351a146da5885d6648325b09e16b5074351a146da56",
                TransarmorToken = "NOIW",
                ZeroDollarAuth  = true
            };



            var payeezyV2Repo   = new PayeezyRepositoryV2();
            var payeezyResponse = payeezyV2Repo.AuthorizeSession(message);

            if (payeezyResponse != null)
            {
                data = payeezyResponse;
            }

            return(View(data));
        }
示例#3
0
        private AuthorizeSessionResponse CallPayeezyApi(dynamic request, string url)
        {
            AuthorizeSessionResponse model = new AuthorizeSessionResponse();
            string jsonString = JsonConvert.SerializeObject(request);

            Random random = new Random();
            string nonce  = (random.Next(0, 1000000)).ToString();

            DateTime date  = DateTime.UtcNow;
            DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);
            TimeSpan span  = date - epoch;
            string   time  = ((long)span.TotalMilliseconds).ToString();


            string hashData = this.apiKey + nonce + time + jsonString;

            string message = this.CalculateHMAC(hashData, this.paymentJsSecret);


            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(this.payeezyUrl + url);

            webRequest.Method        = "POST";
            webRequest.Accept        = "*/*";
            webRequest.ContentLength = jsonString.Length;
            webRequest.ContentType   = "application/json";
            webRequest.Headers.Add("api-key", this.apiKey);
            webRequest.Headers.Add("Nonce", nonce);
            webRequest.Headers.Add("Timestamp", time);
            webRequest.Headers.Add("Message-Signature", message);



            var writer = new StreamWriter(webRequest.GetRequestStream());

            writer.Write(jsonString);
            writer.Close();



            try
            {
                using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse())
                {
                    using (StreamReader responseStream = new StreamReader(webResponse.GetResponseStream()))
                    {
                        var stringData = responseStream.ReadToEnd();


                        for (int i = 0; i < webResponse.Headers.Count; ++i)
                        {
                            if (webResponse.Headers.Keys[i] == "Client-Token")
                            {
                                model.ClientToken = webResponse.Headers[i];
                            }
                        }



                        model.PublicKeyBase64 = JsonConvert.DeserializeObject <payeezyAuthorize>(stringData).publicKeyBase64;
                    }
                }
            }
            catch (WebException ex)
            {
                if (ex.Response != null)
                {
                    using (HttpWebResponse errorResponse = (HttpWebResponse)ex.Response)
                    {
                        using (StreamReader reader = new StreamReader(errorResponse.GetResponseStream()))
                        {
                            string remoteEx = reader.ReadToEnd();


                            model.Errors = remoteEx;
                        }
                    }
                }
            }
            return(model);
        }