/// <summary> /// Token ile Kart Bilgileri Güncelleme /// </summary> /// <param name="input"></param> /// <returns></returns> public PaymentResponse UpdatePan(VposRequest input) { #region Pos Configuration string strHostAddress = input.ServiceUrl; #endregion byte[] postByteArray = Encoding.UTF8.GetBytes(input.ToStringByUpdateToken()); ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | (SecurityProtocolType)768 | (SecurityProtocolType)3072 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; WebRequest webRequest = WebRequest.Create(strHostAddress); webRequest.Method = "POST"; webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.ContentLength = postByteArray.Length; webRequest.UseDefaultCredentials = true; 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 bankResponse = new PaymentResponse(); bankResponse.Response = reader.ReadToEnd(); bankResponse.IsSuccessful = true; reader.Close(); dataStream.Close(); webResponse.Close(); return(bankResponse); }
/// <summary> /// 3-D Secure İşlemler için /// </summary> /// <param name="input"></param> /// <returns></returns> public PaymentResponse CompleteThreed(VposRequest payment) { #region Pos Configuration string strHostAddress = payment.ServiceUrl; #endregion var cardInfo = payment.CreditCard; var postData = new StringBuilder(); postData.AppendFormat("{0}", "<?xml version=\"1.0\" encoding=\"utf - 8\"?>"); postData.AppendFormat("<{0}>", "VposRequest"); postData.AppendFormat("<{0}>{1}</{0}>", "MerchantId", payment.MerchantId); postData.AppendFormat("<{0}>{1}</{0}>", "Password", payment.Password); postData.AppendFormat("<{0}>{1}</{0}>", "TransactionId", payment.TransactionId); postData.AppendFormat("<{0}>{1}</{0}>", "TerminalNo", payment.TerminalNo); postData.AppendFormat("<{0}>{1}</{0}>", "TransactionType", payment.TransactionType.ToString()); postData.AppendFormat("<{0}>{1}</{0}>", "CurrencyAmount", payment.CurrencyAmount); postData.AppendFormat("<{0}>{1}</{0}>", "SurchargeAmount", payment.SurchargeAmount); postData.AppendFormat("<{0}>{1}</{0}>", "CurrencyCode", payment.CurrencyCode); postData.AppendFormat("<{0}>{1}</{0}>", "Pan", cardInfo.Pan); postData.AppendFormat("<{0}>{1}</{0}>", "Expiry", cardInfo.Expiry); postData.AppendFormat("<{0}>{1}</{0}>", "Cvv", cardInfo.CVV); postData.AppendFormat("<{0}>{1}</{0}>", "CAVV", payment.CAVV); postData.AppendFormat("<{0}>{1}</{0}>", "ECI", payment.ECI); postData.AppendFormat("<{0}>{1}</{0}>", "MpiTransactionId", payment.MpiTransactionId); postData.AppendFormat("</{0}>", "VposRequest"); byte[] postByteArray = Encoding.UTF8.GetBytes(postData.ToString()); WebRequest webRequest = WebRequest.Create(strHostAddress); webRequest.Method = "POST"; webRequest.ContentType = "application/xml"; 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 bankResponse = new PaymentResponse(); bankResponse.Response = reader.ReadToEnd(); bankResponse.IsSuccessful = true; reader.Close(); dataStream.Close(); webResponse.Close(); return(bankResponse); }
#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously public async Task <PaymentResponse> Pay(VposRequest value) #pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously { try { PaymentManager paymentManager = new PaymentManager(); value.PaymentType = PaymentType.VPos; value.TransactionId = Guid.NewGuid().ToString(); value.OrderId = Guid.NewGuid().ToString(); PaymentResponse paymentResponse = paymentManager.PostProcess(value); return(paymentResponse); } catch (Exception ex) { return(new PaymentResponse() { Response = ex.Message, IsSuccessful = false }); } }
/// <summary> /// PayFlex Vpos satış işlemi. /// </summary> /// <param name="payment"></param> /// <returns></returns> public PaymentResponse Pay(VposRequest payment) { #region Pos Configuration string strHostAddress = payment.ServiceUrl; #endregion var cardInfo = payment.CreditCard; var postData = new StringBuilder(); postData.AppendFormat("{0}", "prmstr=<?xml version=\"1.0\" encoding=\"utf-8\"?>"); postData.AppendFormat("{0}", payment.ToXML()); byte[] postByteArray = Encoding.UTF8.GetBytes(postData.ToString()); ServicePointManager.ServerCertificateValidationCallback = delegate { return(true); }; ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | (SecurityProtocolType)768 | (SecurityProtocolType)3072 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12; WebRequest webRequest = WebRequest.Create(strHostAddress); webRequest.Method = "POST"; webRequest.ContentType = "application/x-www-form-urlencoded"; webRequest.ContentLength = postByteArray.Length; webRequest.UseDefaultCredentials = true; 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 bankResponse = new PaymentResponse(); bankResponse.Response = reader.ReadToEnd(); bankResponse.IsSuccessful = true; reader.Close(); dataStream.Close(); webResponse.Close(); return(bankResponse); }