public void DoClose() { if (Program.m_eftposType == "nitro") { if (m_nitro != null) { m_nitro.Disconnect(); } m_nitro = null; } else if (Program.m_eftposType == "verifone") { m_valut.CloseSession(); } }
public EFTPOS() { if (!Program.m_bEnableEftpos) { return; } InitializeComponent(); try { if (Program.m_eftposType == "ingenico") { m_ee = new EFTPOS_INGENICO(); } else if (Program.m_eftposType == "smartpay") { m_es = new EFTPOS_SMARTPAY(); m_bEnableCancel = true; } // else if (Program.m_eftposType == "dps") // m_dps = new FDps(); else if (Program.m_eftposType == "verifone") { m_valut = new CVault(); m_valut.OpenSession(); } else if (Program.m_eftposType == "nitro") { m_nitro = new CNitro(); } else if (Program.m_eftposType == "vxlink") { m_evx = new EFTPOS_VXLINK(); } else if (Program.m_eftposType == "vllink") { m_evl = new EFTPOS_VLLINK(); } } catch (Exception e) { MessageBox.Show("EFTPOS Error\r\n" + e.ToString()); return; } printDoc.PrinterSettings.PrinterName = Program.m_sPrinterName; printDoc.PrintPage += new PrintPageEventHandler(printDoc_PrintPage); }
public void ShowNitroCP() { if (Program.m_eftposType != "nitro") { return; } if (m_nitro == null) { m_nitro = new CNitro(); } if (!m_nitro.Connect()) { return; } m_nitro.DisplayControlPanel(); Thread.Sleep(5000); m_nitro.Disconnect(); m_nitro = null; }
private void eftpos_Load(object sender, EventArgs e) { m_left = this.Left; if (Program.m_eftposType == "ingenico") { if (m_sRefNum.Length > 3) { m_sRefNum = m_sRefNum.Substring(m_sRefNum.Length - 3, 3); } else { m_sRefNum = Program.MyIntParse(Program.m_sStationID).ToString("D3"); } } else { if (Program.m_eftposType != "dps" || Program.m_eftposType != "dps_hit") { m_sRefNum = Program.MyIntParse(Program.m_sStationID).ToString("D3"); } } if (Program.m_eftposType == "nitro") { this.Left = -16348; // this.ShowInTaskbar = false; // timer3.Start(); //hide main window if (m_nitro == null) { m_nitro = new CNitro(); } m_sReceipt = ""; } if (m_bEnableCancel) { btnCancel.Visible = true; } else { btnCancel.Visible = false; } if (!m_bAdmin) { if (Program.m_eftposType == "ingenico") { if (Program.m_sEftposCom == "0" || Program.m_sEftposCom == "" || Program.m_sEftposCom == null) { FormMSG fm = new FormMSG(); // fm.btnNo.Visible = false; // fm.btnYes.Visible = false; fm.m_sMsg = "Please check Port!"; fm.ShowDialog(); return; } m_ee.Purchase(m_dAmount, m_dCashOut, m_sRefNum); } else if (Program.m_eftposType == "smartpay") { if (m_dAmount < 0) { m_es.Refund(0 - m_dAmount, m_sRefNum); } else { m_es.Purchase(m_dAmount, m_dCashOut, m_sRefNum); } txtResposneEftpos.Text = "SWIPE CARD"; } else if (Program.m_eftposType == "vxlink") { if (Program.MyCheckPrinter(Program.m_sPrinterName)) { timer1.Stop(); MyMessageBox fm = new MyMessageBox(); fm.m_title = "Printer Error"; fm.m_msg = "Printer Error, please check printer first before using EFTPOS"; fm.ShowDialog(); this.Close(); return; } m_evx.ConfigurePrinting(); m_evx.Purchase(m_dAmount, m_dCashOut, m_sRefNum); } else if (Program.m_eftposType == "vllink") { m_evl.Purchase(m_dAmount, m_dCashOut, m_sRefNum); } else if (Program.m_eftposType == "dps") { m_dps = new FDps(); this.Left = -16348; m_dps.m_dPurchase = m_dAmount; m_dps.m_dCashOut = m_dCashOut; m_dps.m_sRef = m_sRefNum; m_dps.ShowDialog(); if (m_dps.m_bAuthorized) { sResponseTxt = "ACCEPTED"; m_bAccepted = true; m_sReceipt = m_dps.m_sReceipt; } this.Close(); return; } else if (Program.m_eftposType == "dps_hit") { FormDPSHIT fm = new FormDPSHIT(); this.Left = -16348; fm.m_dAmount = m_dAmount; fm.m_dCashOut = m_dCashOut; fm.m_sRef = m_sRefNum; fm.ShowDialog(); if (fm.m_bAuthorized) { sResponseTxt = "ACCEPTED"; m_bAccepted = true; m_sReceipt = fm.m_sReceipt; } this.Close(); return; } else if (Program.m_eftposType == "verifone") { this.Left = -16348; string sRet = m_valut.Purchase(m_dAmount, m_dCashOut, m_dChequeAmount, m_sRefNum); if (sRet == "ACCEPTED") { sResponseTxt = "ACCEPTED"; m_bAccepted = true; m_sReceipt = m_valut.GetReceiptText(); } else { sResponseTxt = "DECLINED"; m_bAccepted = false; m_sReceipt = m_valut.GetReceiptText(); } this.Close(); return; } else if (Program.m_eftposType == "nitro") { Program.g_log.Info("nitro start, amount=" + m_dAmount.ToString("c")); if (!m_nitro.Connect()) { this.Left = m_left; this.Close(); return; } if (m_dAmount > 0) { if (!m_nitro.Purchase(m_dAmount, m_dCashOut, m_dChequeAmount, m_sRefNum)) { this.Close(); return; } } else { if (!m_nitro.Refund(0 - m_dAmount, m_sRefNum)) { this.Close(); return; } } } m_nCount = 0; timer1.Interval = 500; timer1.Start(); btnok.Visible = false; } if (m_bAdmin) { btnInt.Visible = true; btnSettle.Visible = true; } }
private void AnalyzeResponseNitro(string sResponse) { Program.g_log.Info("Eftpos AnalyzeResponseNitro\r\nbPrint=" + m_nitro.m_bPrint.ToString() + "\r\nReceipt=" + m_nitro.m_sReceipt + "\r\nReceiptCust=" + m_nitro.m_sReceiptCust + " \r\nResponse=" + sResponse); //handle client printing if (m_nitro.m_sReceiptCust != "") { m_sReceiptCust = m_nitro.m_sReceiptCust; } if (m_nitro.m_bPrint && m_nitro.m_sReceipt != "") { m_nitro.m_bPrint = false; m_sReceipt = m_nitro.m_sReceipt; m_sPrintBuffer = m_sReceipt; Program.g_log.Info("Nitro Print, text = " + m_sPrintBuffer); try { printDoc.Print(); } catch (Exception e) { MessageBox.Show("Printer error, print receipt failed." + e.ToString()); } } if (m_nitro.m_bError) { this.Left = m_left; txtResposneEftpos.Text = m_nitro.m_sResponseText1; txtResponseEftLine2.Text = m_nitro.m_sResponseText2; btnok.Visible = true; timer1.Stop(); m_nitro.Disconnect(); m_sReceipt = m_nitro.m_sReceipt; m_nitro = null; return; } sResponse = sResponse.ToUpper(); // Program.g_log.Info("Nitro analyze, rest = " + sResponse); if (sResponse.IndexOf("ACCEPTED") >= 0) { this.Left = m_left; sResponseTxt = "ACCEPTED"; txtResposneEftpos.Text = "ACCEPTED"; m_bAccepted = true; timer1.Stop(); btnok.Visible = true; m_sReceipt = m_nitro.m_sReceipt; m_nitro.Disconnect(); m_nitro = null; return; } else if (sResponse.IndexOf("DECLINE") >= 0) { this.Left = m_left; sResponseTxt = "DECLINED"; txtResposneEftpos.Text = m_nitro.m_sResponseText1; txtResponseEftLine2.Text = m_nitro.m_sResponseText2; m_bAccepted = false; timer1.Stop(); btnok.Visible = true; m_sReceipt = m_nitro.m_sReceipt; m_nitro.Disconnect(); m_nitro = null; return; } else { txtResposneEftpos.Text = m_nitro.m_sResponseText1; txtResponseEftLine2.Text = m_nitro.m_sResponseText2; m_sReceipt = m_nitro.m_sReceipt; // if(sResponse != "") // this.Left = m_left; return; } if (sResponse.IndexOf("CANCEL") >= 0) { this.Left = m_left; } }
private void timer1_Tick(object sender, EventArgs e) { m_nCount++; //Program.g_log.Info("Eftpose response, nCount = " + m_nCount.ToString()); string sRet = ""; if (Program.m_eftposType == "ingenico") { sRet = m_ee.CheckResponse(); } else if (Program.m_eftposType == "vxlink") { sRet = m_evx.CheckResponse(); } else if (Program.m_eftposType == "vllink") { sRet = m_evl.CheckResponse(); } else if (Program.m_eftposType == "smartpay") { sRet = m_es.CheckResponse(); } else if (Program.m_eftposType == "nitro") { if (m_nitro.m_bSocketFailed) { timer1.Stop(); Program.MsgBox("PINpad Offline\r\nCheck PINPad and Cable\r\nat POS\r\n"); txtResposneEftpos.Text = "terminal error"; txtResponseEftLine2.Text = ""; m_nCount = 0; btnok.Visible = true; this.Left = m_left; // m_nitro.Disconnect(); m_nitro = null; return; } sRet = m_nitro.CheckResponse(); } if (sRet == "") // || Program.m_eftposType == "nitro") { int nTimeoutCount = 560; if (Program.m_eftposType == "vxlink") { nTimeoutCount = 10000; //vxlink doesn't like timeout } if (m_nCount > nTimeoutCount) { txtResposneEftpos.Text = "terminal timed out"; m_nCount = 0; btnok.Visible = true; timer1.Stop(); //Program.g_log.Info("Eftpose timer1 stopped, (timed out)"); this.Left = m_left; if (Program.m_eftposType == "nitro") { m_nitro.Disconnect(); m_nitro = null; return; } } if (Program.m_eftposType != "nitro") { return; } } //Program.g_log.Info("Eftpose response, text = " + sRet); if (Program.m_eftposType == "ingenico") { if (m_bAccepted) { timer1.Stop(); return; } AnalyzeResponseIngenico(sRet); } else if (Program.m_eftposType == "vxlink" || Program.m_eftposType == "vllink") { AnalyzeResponseVxlink(sRet); } else if (Program.m_eftposType == "smartpay") { AnalyzeResponseSmartPay(sRet); } else if (Program.m_eftposType == "nitro") { AnalyzeResponseNitro(sRet); } }