Exemplo n.º 1
0
        /// <summary>
        /// İşlem Sorgulama
        /// </summary>
        /// <param name="payment">PaymentToken veya TransactionId alanlarından birinin gönderilmesi yeterlidir. İkisinin aynı anda gönderim zorunluluğu yoktur.</param>
        /// <returns></returns>
        public PaymentQueryResponse Query(PaymentQueryRequest payment)
        {
            #region Pos Configuration
            string strHostAddress = payment.ServiceUrl;
            #endregion

            var postData = new StringBuilder();
            postData.AppendFormat("{0}={1}&", "Password", payment.Password);
            postData.AppendFormat("{0}={1}&", "TransactionId", payment.TransactionId);
            postData.AppendFormat("{0}={1}&", "PaymentToken", payment.PaymentToken);

            byte[] postByteArray = Encoding.UTF8.GetBytes(postData.ToString());

            WebRequest webRequest = WebRequest.Create(strHostAddress);
            webRequest.Method                    = "POST";
            webRequest.ContentType               = "application/x-www-form-urlencoded";
            webRequest.ContentLength             = postByteArray.Length;
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | (SecurityProtocolType)768 | (SecurityProtocolType)3072 | SecurityProtocolType.Tls;

            Stream dataStream = webRequest.GetRequestStream();
            dataStream.Write(postByteArray, 0, postByteArray.Length);
            dataStream.Close();

            WebResponse webResponse = webRequest.GetResponse();
            dataStream = webResponse.GetResponseStream();
            StreamReader reader        = new StreamReader(dataStream);
            var          queryResponse = new PaymentQueryResponse();
            //bankResponse.Response = reader.ReadToEnd();
            //bankResponse.IsSuccessful = true;
            reader.Close();
            dataStream.Close();
            webResponse.Close();

            return(queryResponse);
        }
        public PaymentQueryResponse Query(PaymentQueryRequest query)
        {
            try
            {
                PaymentQueryResponse result = null;

                switch (query.PaymentType)
                {
                case PaymentType.CommonPayment:

                    var _paymentCommonProcessor = PaymentProcessorFactory <ICommonPaymentProcessor> .Create(VposPaymentSupplier.CommonPayment);

                    result = _paymentCommonProcessor.Query(query);

                    break;
                }

                return(result);
            }
            catch (PayFlexClientException ex)
            {
                throw ex;
            }
        }