Esempio n. 1
0
        public string RequestUrl(GenerateRequest generateRequest)
        {
            string returnResult = String.Empty;

            generateRequest.PxPayUserId = Account.PxPayUserId;
            generateRequest.PxPayKey    = Account.PxPayKey;
            generateRequest.UrlSuccess  = Account.PaymentGatewayUrlSuccess;
            generateRequest.UrlFail     = Account.PaymentGatewayUrlFail;

            var webReq = (HttpWebRequest)WebRequest.Create(Account.PaymentGatewayUrl);

            webReq.Method = Account.UrlMethod;

            byte[] reqBytes = null;
            reqBytes           = Encoding.UTF8.GetBytes(generateRequest.ToXml().ToString());
            webReq.ContentType = Account.PosContentType;
            //webReq.ContentLength = reqBytes.Length;
            Stream requestStream = webReq.GetRequestStreamAsync().Result;

            requestStream.Write(reqBytes, 0, reqBytes.Length);
            requestStream.Dispose();

            var webResponse    = (HttpWebResponse)webReq.GetResponseAsync().Result;
            var responseStream = webResponse.GetResponseStream();

            if (responseStream != null)
            {
                var streamReader = new StreamReader(responseStream, Encoding.ASCII);

                string pxRequest = streamReader.ReadToEnd();
                streamReader.Dispose();

                var doc = new XmlDocument();
                doc.LoadXml(pxRequest.Replace("&", "&"));

                var processResponse = new ProcessResponse();
                if (pxRequest.IndexOf("valid=\"1\"") > 0)
                {
                    processResponse.Response = WebUtility.UrlDecode(doc.InnerText);
                    returnResult             = processResponse.Response.Replace("&", "&");
                }
            }

            return(returnResult);
        }
Esempio n. 2
0
        public TransactionResponse GetResponse(string result)
        {
            var transactionResponse = new TransactionResponse();

            var processResponse = new ProcessResponse(Account.PxPayUserId, Account.PxPayKey);

            processResponse.Response = result;

            var webReq = (HttpWebRequest)WebRequest.Create(Account.PaymentGatewayUrl);

            webReq.Method = Account.UrlMethod;

            byte[] reqBytes = null;
            reqBytes           = Encoding.UTF8.GetBytes(processResponse.ToXml());
            webReq.ContentType = Account.PosContentType;
            //webReq.ContentLength = reqBytes.Length;
            var requestStream = webReq.GetRequestStreamAsync().Result;

            requestStream.Write(reqBytes, 0, reqBytes.Length);
            requestStream.Dispose();

            var webResponse    = (HttpWebResponse)webReq.GetResponseAsync().Result;
            var responseStream = webResponse.GetResponseStream();

            if (responseStream != null)
            {
                var streamReader = new StreamReader(responseStream, Encoding.ASCII);

                string pxRequest = streamReader.ReadToEnd();
                streamReader.Dispose();

                var x = new XmlSerializer(typeof(TransactionResponse));
                transactionResponse = (TransactionResponse)x.Deserialize(new StringReader(pxRequest));
            }

            return(transactionResponse);
        }