public object Pay(PosForm pf, ref string provNumber, ref string provMessage, IHttpContextAccessor accessor = null) { string expMonth = string.Format("{0:00}", Convert.ToInt32(pf.Month)); string expYear = string.Format("{0:00}", Convert.ToInt32(pf.Year.ToString().Substring(2, 2))); String responseStr = ""; String format = "{0}={1}&"; StringBuilder sb = new StringBuilder(); sb.AppendFormat(format, "ShopCode", "2927"); sb.AppendFormat(format, "PurchAmount", Convert.ToDecimal(pf.Price)); sb.AppendFormat(format, "Currency", "949"); string provizyonalOrderId = Guid.NewGuid().ToString(); sb.AppendFormat(format, "OrderId", provizyonalOrderId);//orderId); sb.AppendFormat(format, "InstallmentCount", pf.Installments); sb.AppendFormat(format, "txnType", "Auth"); sb.AppendFormat(format, "orgOrderId", ""); sb.AppendFormat(format, "UserCode", "sedamakapi"); // api için olanı yazdık sb.AppendFormat(format, "UserPass", "tE3mx"); sb.AppendFormat(format, "SecureType", "NonSecure"); sb.AppendFormat(format, "Pan", pf.CardNumber.ToString()); sb.AppendFormat(format, "Expiry", expMonth + expYear); sb.AppendFormat(format, "Cvv2", pf.SecureCode.ToString()); sb.AppendFormat(format, "BonusAmount", 0); sb.AppendFormat(format, "CardType", pf.CardNumber.ToString().StartsWith("4") ? 0 : 1); sb.AppendFormat(format, "Lang", "TR"); sb.AppendFormat(format, "MOTO", "1"); //sb.AppendFormat(format, "Description", "yeni işlem"); //Request.Form["Description"] //Eğer 3D doğrulaması yapılmış ise aşağıdaki alanlar da gönderilmelidir*/ /* //sb.AppendFormat(format, "PayerAuthenticationCode", Request.Form["PayerAuthenticationCode"]); //sb.AppendFormat(format, "Eci", Request.Form["Eci"]);//Visa - 05,06 MasterCard 01,02 olabilir //sb.AppendFormat(format, "PayerTxnId", Request.Form["PayerTxnId"]); try { System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create("https://spos.denizbank.com/mpi/Default.aspx"); byte[] parameters = System.Text.Encoding.GetEncoding("ISO-8859-9").GetBytes(sb.ToString()); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = parameters.Length; System.IO.Stream requeststream = request.GetRequestStream(); requeststream.Write(parameters, 0, parameters.Length); requeststream.Close(); //Response.Write(sb.ToString()); System.Net.HttpWebResponse resp = (System.Net.HttpWebResponse)request.GetResponse(); System.IO.StreamReader responsereader = new System.IO.StreamReader(resp.GetResponseStream(), System.Text.Encoding.GetEncoding("ISO-8859-9")); responseStr = responsereader.ReadToEnd(); } catch (Exception ex) { return(ErrorMessage = "ErrorMessage=" + ex.Message); } return(responseStr); }
public SalesLineDetailForm(PosForm form, TrnSalesLine salesLineDetail) { InitializeComponent(); posForm = form; salesLine = new TrnSalesLine { Id = salesLineDetail.Id, SalesId = salesLineDetail.SalesId, ItemDescription = salesLineDetail.ItemDescription, UnitId = salesLineDetail.UnitId, Price = salesLineDetail.Price, DiscountId = salesLineDetail.DiscountId, DiscountRate = salesLineDetail.DiscountRate, DiscountAmount = salesLineDetail.DiscountAmount, NetPrice = salesLineDetail.NetPrice, Quantity = salesLineDetail.Quantity, Amount = salesLineDetail.Amount, TaxId = salesLineDetail.TaxId, TaxRate = salesLineDetail.TaxRate, TaxAmount = salesLineDetail.TaxAmount, SalesAccountId = salesLineDetail.SalesAccountId, AssetAccountId = salesLineDetail.AssetAccountId, CostAccountId = salesLineDetail.CostAccountId, TaxAccountId = salesLineDetail.TaxAccountId, SalesLineTimeStamp = salesLineDetail.SalesLineTimeStamp, UserId = salesLineDetail.UserId, Preparation = salesLineDetail.Preparation, Price1 = salesLineDetail.Price1, Price2 = salesLineDetail.Price2, Price2LessTax = salesLineDetail.Price2LessTax, PriceSplitPercentage = salesLineDetail.PriceSplitPercentage }; cboUnit.DataSource = db.MstUnits; cboUnit.ValueMember = "Id"; cboUnit.DisplayMember = "Unit"; cboDiscount.DataSource = db.MstDiscounts; cboDiscount.ValueMember = "Id"; cboDiscount.DisplayMember = "Discount"; cboVat.DataSource = db.MstTaxes; cboVat.ValueMember = "Id"; cboVat.DisplayMember = "Tax"; salesLineId = salesLine.SalesId; txtQuantity.Text = salesLine.Quantity.ToString("#,##0.00"); cboUnit.Text = salesLine.UnitId; txtPrice.Text = salesLine.Price.ToString("#,##0.00"); cboDiscount.Text = salesLine.DiscountId; txtDiscountRate.Text = salesLine.DiscountRate.ToString("#,##0.00"); txtDiscountAmount.Text = salesLine.DiscountAmount.ToString("#,##0.00"); txtNetPrice.Text = salesLine.NetPrice.ToString("#,##0.00"); txtAmount.Text = salesLine.Amount.ToString("#,##0.00"); cboVat.Text = salesLine.TaxId; txtVatRate.Text = salesLine.TaxRate.ToString("#,##0.00"); txtVatAmount.Text = salesLine.TaxAmount.ToString("#,##0.00"); }
// Demo function - full document update public async Task <bool> UpdateOrderHistoryDocument(string id, PosForm posForm) { var item = await GetOrderHistory(id) ?? new OrderHistory(); item.PosForm = posForm; item.UpdatedOn = DateTime.Now; return(await UpdateOrderHistory(id, item)); }
public void login() { try { if (db.DatabaseExists()) { btnLogin.Enabled = false; btnCancel.Enabled = false; String username = txtUsername.Text; String password = txtPassword.Text; var user = from d in db.MstUsers where d.UserName.Equals(username) && d.Password.Equals(password) select d; if (user.Any()) { currentUserId = user.FirstOrDefault().Id; currentUser = user.FirstOrDefault().FullName; Hide(); PosForm posForm = new PosForm(this); posForm.Show(); } else { MessageBox.Show("Incorrect Username or Password", "Login Failed!", MessageBoxButtons.OK, MessageBoxIcon.Error); btnLogin.Enabled = true; btnCancel.Enabled = true; } } else { MessageBox.Show("Looks like your connection string is invalid. Please update connection string.", "Server Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); btnLogin.Enabled = true; btnCancel.Enabled = true; Hide(); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); btnLogin.Enabled = true; btnCancel.Enabled = true; } }
public SalesLineForm(PosForm form, TrnSales sales) { InitializeComponent(); posForm = form; currentSales = new TrnSales { Id = sales.Id, PeriodId = sales.PeriodId, TerminalId = sales.TerminalId, SalesDate = sales.SalesDate, SalesNumber = sales.SalesNumber, CustomerId = sales.CustomerId, SalesAgent = sales.SalesAgent, Amount = sales.Amount, AccountId = sales.AccountId, TermId = sales.TermId }; }
public async Task <bool> UpdateOrderHistory(string id, PosForm posForm) { var filter = Builders <OrderHistory> .Filter.Eq(s => s.Id, id); var update = Builders <OrderHistory> .Update .Set(s => s.PosForm, posForm) .CurrentDate(s => s.UpdatedOn); try { UpdateResult actionResult = await _context.OrderHistorys.UpdateOneAsync(filter, update); return(actionResult.IsAcknowledged && actionResult.ModifiedCount > 0); } catch (Exception ex) { // log or manage the exception throw ex; } }
public object Pay(PosForm pf, ref string provNumber, ref string provMessage, IHttpContextAccessor accessor = null) { var mycc5pay = new ePayment.cc5payment(); mycc5pay.host = "https://sanalpos.isbank.com.tr/servlet/cc5ApiServer"; //mycc5pay.host="https://testsanalpos.est.com.tr/servlet/cc5ApiServer"; mycc5pay.name = "sanalpos"; mycc5pay.password = "******"; mycc5pay.clientid = "700659404610"; mycc5pay.orderresult = 0; string provizyonalOrderId = Guid.NewGuid().ToString(); mycc5pay.oid = provizyonalOrderId; mycc5pay.cardnumber = pf.CardNumber.ToString(); mycc5pay.expmonth = pf.Month.ToString(); mycc5pay.expyear = pf.Year.ToString(); mycc5pay.cv2 = String.Format("{0:000}", Convert.ToInt32(pf.SecureCode)); mycc5pay.subtotal = Convert.ToDecimal(pf.Price).ToString().Replace(",", "."); mycc5pay.currency = "949"; mycc5pay.chargetype = "Auth"; mycc5pay.taksit = pf.Installments.ToString() == "0" ? "1" : pf.Installments.ToString(); string processResult = mycc5pay.processorder(); string Procreturncode = mycc5pay.procreturncode; string responseStr = ""; responseStr += mycc5pay.errmsg; ErrorMessage = mycc5pay.errmsg; responseStr += mycc5pay.oid; responseStr += mycc5pay.groupid; responseStr += mycc5pay.appr; responseStr += mycc5pay.refno; responseStr += mycc5pay.transid; responseStr += mycc5pay.Extra("HOSTMSG"); return(responseStr + " :: " + ErrorMessage); }
public InvoiceChargeForm(PosForm form, TrnSales sales) { InitializeComponent(); posForm = form; currentSales = new TrnSales { Id = sales.Id, PeriodId = sales.PeriodId, TerminalId = sales.TerminalId, SalesDate = sales.SalesDate, SalesNumber = sales.SalesNumber, CustomerId = sales.CustomerId, SalesAgent = sales.SalesAgent, Amount = sales.Amount, AccountId = sales.AccountId, TermId = sales.TermId }; setLFFormValues(); f2LockPOS_OnClick(); }
private void BtnPuntoDeVenta_MouseClick(object sender, MouseEventArgs e) { PosForm posForm = new PosForm(); posForm.Show(); }
public async Task <ActionResult> Post([FromBody] PosForm postForm) { //0 unsuccess 1 success _provNumber = Helper.RandomNumber(); object isPaymentSuccess = 0; if (postForm.CardType == "Vakıf Bank") { isPaymentSuccess = Helper.Payer(new VakifPay(), postForm, _provNumber, _provMessage, _accessor); } else if (postForm.CardType == "Bonus") { isPaymentSuccess = Helper.Payer(new BonusPay(), postForm, _provNumber, _provMessage, _accessor); int errIndex = isPaymentSuccess.ToString().IndexOf("ErrorMessage="); int errEndIndex = isPaymentSuccess.ToString().IndexOf(";", errIndex); ErrorMessage = isPaymentSuccess.ToString().Substring(errIndex + 13, errEndIndex - (errIndex + 13)); if (ErrorMessage.Trim() == "") { isPaymentSuccess += "|1"; } else { isPaymentSuccess += "|0"; } } else if (postForm.CardType == "Maximum") { isPaymentSuccess = Helper.Payer(new MaximumPay(), postForm, _provNumber, _provMessage, _accessor); if (isPaymentSuccess.ToString().Contains("Approv")) { isPaymentSuccess += "|1"; } else { isPaymentSuccess += "|0"; } } else if (postForm.CardType == "Finans") { isPaymentSuccess = Helper.Payer(new MaximumPay(), postForm, _provNumber, _provMessage, _accessor); if (isPaymentSuccess.ToString().Contains("Approv")) { isPaymentSuccess += "|1"; } else { isPaymentSuccess += "|0"; } } var result = await _orderHistoryRepository.AddOrderHistory(new OrderHistory() { PosForm = postForm, CreatedOn = DateTime.Now, UpdatedOn = DateTime.Now }); if (Convert.ToInt32(isPaymentSuccess.ToString().Substring(isPaymentSuccess.ToString().Length - 1, 1)) == 1) { return(new OkObjectResult("Ödeme başarılı!")); } return(new ObjectResult(isPaymentSuccess)); }
public object Pay(PosForm pf, ref string provNumber, ref string provMessage, IHttpContextAccessor accessor = null) { try { var b = new byte[5000]; var encoding = Encoding.GetEncoding("ISO-8859-9"); var priceBonvert = pf.Price.ToString("0000000000.00").Replace(",", ""); var installmentsConvert = pf.Installments == -1 ? "00" : String.Format("{0:00}", pf.Installments); var yearConvert = pf.Year.ToString(CultureInfo.InvariantCulture); yearConvert = yearConvert.Substring(2, 2); var monthConvert = string.Format("{0:00}", pf.Month); var khipForIp = Helper.GetIp(accessor); provMessage = "kullanici=" + CompanyPosUser + "&sifre=" + CompanyPosPwd + "&islem=PRO&uyeno=" + CompanyMemberNo + "&posno=" + CompanyPosNo + "&kkno=" + pf.CardNumber + "&gectar=" + yearConvert + monthConvert + "&cvc=" + string.Format("{0:000}", pf.SecureCode) + "&tutar=" + priceBonvert + "&provno=000000&taksits=" + installmentsConvert + "&islemyeri=I&uyeref=" + provNumber + "&vbref=6527BB1815F9AB1DE864A488E5198663002D0000&khip=" + khipForIp + "&xcip=" + CompanyXcip; b.Initialize(); b = Encoding.ASCII.GetBytes(provMessage); var h1 = WebRequest.Create("https://subesiz.vakifbank.com.tr/vpos724v3/?" + provMessage); h1.Method = "GET"; var wr = h1.GetResponse(); var s2 = wr.GetResponseStream(); var buffer = new byte[10000]; int len = 0, r = 1; while (r > 0) { Debug.Assert(s2 != null, "s2 != null"); r = s2.Read(buffer, len, 10000 - len); len += r; } Debug.Assert(s2 != null, "s2 != null"); s2.Close(); var result = encoding.GetString(buffer, 0, len).Replace("\r", "").Replace("\n", ""); var msgTemplate = new XmlDocument(); msgTemplate.LoadXml(result); var node = msgTemplate.SelectSingleNode("//Cevap/Msg/Kod"); Debug.Assert(node != null, "node != null"); var incomingMonthCode = node.InnerText; if (incomingMonthCode == "00") { node = msgTemplate.SelectSingleNode("//Cevap/Msg/ProvNo"); Debug.Assert(node != null, "node != null"); var incomingRefCode = node.InnerText; Result = true; RefferenceNo = incomingRefCode; } else { Result = false; ErrorMessage = ""; ErrorCode = incomingMonthCode; switch (ErrorCode) { case "97": ErrorMessage = "Sunucu ip adresini Bankanızla paylaşınız..."; break; case "F2": ErrorMessage = "Sanal POS inaktif durumda..."; break; case "G0": ErrorMessage = "Bankanızı Arayınız veya [email protected] adresine hatayı iletiniz..02124736060`I ARAYINIZ.."; break; case "G5": ErrorMessage = "Yapılan işlemin Sanal POS ta yetkisi yok...."; break; case "78": ErrorMessage = "Ödeme denen kart ile taksitli işlem gerçekleştirilemez...."; break; case "81": ErrorMessage = "CVV ya da CAVV bilgisinin gönderilmediği durumda alınır..Eksik güvenlik Bilgisi.."; break; case "83": ErrorMessage = "Sistem günsonuna girmeyen işlem iade edilmek isteniyor, işlem iptal edilebilir ya da ancak ertesi gün iade edilebilir...."; break; case "01": ErrorMessage = "Eski Kayıt..."; break; } return(0); } } catch (Exception) { Result = false; ErrorMessage = SystemError; return(0); } return(1); }
public object Pay(PosForm pf, ref string provNumber, ref string provMessage, IHttpContextAccessor accessor = null) { var mycc5pay = new ePayment.cc5payment(); mycc5pay.host = "https://www.fbwebpos.com/fim/api"; mycc5pay.name = "sanalpos"; mycc5pay.password = "******"; mycc5pay.clientid = "601224596"; mycc5pay.orderresult = 0; string provizyonalOrderId = Guid.NewGuid().ToString(); mycc5pay.oid = provizyonalOrderId; mycc5pay.cardnumber = pf.CardNumber.ToString(); mycc5pay.expmonth = pf.Month.ToString(); mycc5pay.expyear = pf.Year.ToString(); mycc5pay.cv2 = String.Format("{0:000}", Convert.ToInt32(pf.SecureCode)); mycc5pay.subtotal = Convert.ToDecimal(pf.Price).ToString().Replace(",", "."); mycc5pay.currency = "949"; mycc5pay.chargetype = "PreAuth"; if (pf.Installments.ToString() != "0" || pf.Installments.ToString() != "1") { mycc5pay.taksit = ""; } else { mycc5pay.taksit = pf.Installments.ToString(); } //işlem yapılıyor string resultprocess = mycc5pay.processorder(); string Result1 = mycc5pay.procreturncode; string ErrMsg = mycc5pay.errmsg; ErrorMessage = mycc5pay.errmsg; string Oid1 = mycc5pay.oid; string GroupId = mycc5pay.groupid; string appr1 = mycc5pay.appr; string refno = mycc5pay.refno; string transid = mycc5pay.transid; string Extra = mycc5pay.Extra("HOSTMSG"); string message = ""; if (resultprocess == "1" && appr1 == "Approved") { message = "Approv"; message += "ISLEM BASARILI BIR SEKILDE GONDERILDI VE ONAYLANDI !!!"; } else if (resultprocess == "1" && appr1 == "Declined") { message = "ISLEM BASARILI BIR SEKILDE GONDERILDI FAKAT ONAY ALAMADI !!!"; } else if (resultprocess == "1" && appr1 == "Error") { message = "ISLEM BASARILI BIR SEKILDE GONDERILDI FAKAT ONAY ALAMADI !!!"; } else if (resultprocess == "1" && Result1 != "00") { message = "ISLEM BASARILI BIR SEKILDE GONDERILDI FAKAT ONAY ALAMADI !!!"; } else if (resultprocess == "0") { message = "ISLEM GONDERILEMEDI,BANKAYA BAGLANTI KURULAMADI !!!"; } ErrMsg = message; return(message); }