Exemplo n.º 1
0
        public CNitro()
        {
            nitroClientIP             = new EFTClientIP();
            nitroClientIP.Application = TerminalApplication.EFTPOS;
            nitroClientIP.HostName    = "127.0.0.1";
            nitroClientIP.HostPort    = 2011;         //52076;
            //			nitroClientIP.UseSSL = false;

            nitroClientIP.OnSocketFail          += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnSocketFail);
            nitroClientIP.OnDisplay             += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnDisplay);
            nitroClientIP.OnDisplayControlPanel += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnDisplayControlPanel);
            nitroClientIP.OnLogon       += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnLogon);
            nitroClientIP.OnSettlement  += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnSettlement);
            nitroClientIP.OnReceipt     += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnReceipt);
            nitroClientIP.OnTerminated  += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnTerminated);
            nitroClientIP.OnTransaction += new EFTClientIP.EFTClientIPEventHandler(nitroClientIP_OnTransaction);
        }
Exemplo n.º 2
0
    public void Run(CommandArgs args)
    {
        // Create new connection to EFT-Client
        var eft = new EFTClientIP()
        {
            HostName = args.Host,
            HostPort = args.Port,
            UseSSL   = args.Ssl
        };

        // Hook up events
        eft.OnDisplay += delegate(object sender, EFTEventArgs <EFTDisplayResponse> e) {
            foreach (var Str in e.Response.DisplayText)
            {
                var isApproved = Str.Trim() == "APPROVED";
                if (isApproved)
                {
                    // This automatically presses the OK button
                    // from the APPROVED popup produced by
                    // EftClntUI making a faster successful
                    // transaction,
                    eft.DoSendKey(new EFTSendKeyRequest()
                    {
                        Key = EFTPOSKey.OkCancel
                    });
                }
            }
        };
        eft.OnReceipt     += Eft_OnReceipt;;
        eft.OnTransaction += Eft_OnTransaction;
        eft.OnTerminated  += Eft_OnTerminated;
        // Connect
        if (!eft.Connect())
        {
            // Handle failed connection
            Console.Error.WriteLine("Connect failed");
            return;
        }

        // Build transaction request
        var r = new EFTTransactionRequest()
        {
            // TxnType is required
            TxnType = TransactionType.PurchaseCash,
            // Set TxnRef to something unique
            TxnRef = DateTime.Now.ToString("YYMMddHHmmsszzz"),
            // Set AmtCash for cash out, and AmtPurchase for purchase/refund
            AmtPurchase = args.Amount,
            AmtCash     = 0.00M,
            // Set POS or pinpad printer
            ReceiptPrintMode = ReceiptPrintModeType.POSPrinter,
            // Set application. Used for gift card & 3rd party payment
            Application = TerminalApplication.EFTPOS
        };

        // Send transaction
        if (!eft.DoTransaction(r))
        {
            // Handle failed send
            Console.Error.WriteLine("Send failed");
            return;
        }

        txnFired.WaitOne();
        eft.Disconnect();
        eft.Dispose();
    }