public GarantiBankasiResponse GarantiOdemeYap()
        {
            GarantiBankasiResponse _response = new GarantiBankasiResponse();

            // string data = OdemeOlusutur();

            byte[] b = new byte[1500];

            string provizyonMesaji = "http://www.garantipos.com.tr/Admin/post.asp?" + OdemeOlusutur();

            b.Initialize();

            b = Encoding.UTF8.GetBytes(provizyonMesaji);

            WebRequest h1 = (WebRequest)HttpWebRequest.Create(provizyonMesaji);

            h1.Method        = "POST";
            h1.ContentLength = b.Length;
            Stream dataStream = h1.GetRequestStream();

            dataStream.Write(b, 0, b.Length);
            WebResponse response = h1.GetResponse();

            dataStream = response.GetResponseStream();
            StreamReader reader             = new StreamReader(dataStream, System.Text.Encoding.UTF8);
            string       responseFromServer = reader.ReadToEnd().Replace("\n", "").Replace("\"", @"#");



            _response.message = responseFromServer.Contains("PARes") == true ?"Pares Mesajı":"";


            return(_response);
        }
        public GarantiBankasiResponse GarnatiBankOdemeYap(EravsePaymentParameters eravseParameter)
        {
            GarantiBankasiResponse _response = null;

            if (eravseParameter.Bank != PaymentEnums.Banks.DefaultBank)
            {
                if (eravseParameter.Bank == PaymentEnums.Banks.GarantiBank)
                {
                    _response = new GarantiBankasiResponse();
                }


                using (Datasets.GatewayContextDataContext db = new Datasets.GatewayContextDataContext())
                {
                    var User = db.PaymentCustomers.Where(r => r.UserGuid == eravseParameter.CompanyCode && r.Password == eravseParameter.Password);
                    //  if (User.Count() > 0)
                    //{



                    #region + + +  GRANTİ BANKASI + + +

                    if (eravseParameter.Bank == PaymentEnums.Banks.GarantiBank)
                    {
                        GarantiBankasiParameterBuidler _builder = new GarantiBankasiParameterBuidler();
                        _response                        = new GarantiBankasiResponse();
                        _builder.strMode                 = "PROD";
                        _builder.strApiVersion           = "v0.01";
                        _builder.strTerminalProvUserID   = "PROVAUT";
                        _builder.strType                 = "sales";
                        _builder.strAmount               = "100"; //İşlem Tutarı 1.00 TL için 100 gönderilmeli
                        _builder.strCurrencyCode         = "949";
                        _builder.strInstallmentCount     = "";    //Taksit Sayısı. Boş gönderilirse taksit yapılmaz
                        _builder.strTerminalUserID       = "";
                        _builder.strOrderID              = "deneme";
                        _builder.strCustomeripaddress    = ""; // Request.UserHostAddress; //Kullanıcının IP adresini alır
                        _builder.strcustomeremailaddress = "*****@*****.**";
                        _builder.strTerminalID           = ""; //8 Haneli TerminalID yazılmalı.
                        _builder._strTerminalID          = ""; // + strTerminalID;
                        _builder.strTerminalMerchantID   = ""; //Üye İşyeri Numarası
                        _builder.strStoreKey             = ""; //3D Secure şifresi
                        _builder.strProvisionPassword    = ""; //TerminalProvUserID şifresi
                        _builder.strSuccessURL           = "~/Garanti3dResponse.aspx";
                        _builder.strErrorURL             = "~/Garanti3dResponse.aspx";


                        using (GarantiBankOdeme Odeme = new GarantiBankOdeme(_builder))
                        {
                            _response = Odeme.GarantiOdemeYap();
                        }
                    }

                    #endregion

                    else if (eravseParameter.Bank == PaymentEnums.Banks.IsBank)
                    {
                    }



                    // }

                    //else
                    //{

                    //    _response = new EravseResponse
                    //    {
                    //        ResponseCode = PaymentEnums.EravseReturnCode.UserDoesNotExist,
                    //        ResponseMessage = GetEravseResponseMessageFromReturnCode(PaymentEnums.EravseReturnCode.UserDoesNotExist)
                    //    };


                    //}
                }
            }
            else
            {
                _response = new GarantiBankasiResponse
                {
                    Kod     = (int)PaymentEnums.EravseReturnCode.BankKodeNotValid,
                    message = GetEravseResponseMessageFromReturnCode(PaymentEnums.EravseReturnCode.BankKodeNotValid)
                };
            }



            return(_response);
        }