private static void Main(string[] args)
        {
            // Declare credentials to be used with the Stage Transaction Request
            string credentialsName   = "TEST MERCHANT";
            string credentialsSiteID = "XXXXXXXX";
            string credentialsKey    = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX";

            // Build Transport request details
            Console.WriteLine("Staging Transaction{0}", Environment.NewLine);
            TransportServiceSoapClient transportServiceSoapClient = new TransportServiceSoapClient();
            TransportRequest           transportRequest           = new TransportRequest
            {
                TransactionType = "sale",
                Amount          = 1.01M,
                ClerkId         = "1",
                OrderNumber     = "1126",
                Dba             = "Test DBA",
                SoftwareName    = "Test Software",
                SoftwareVersion = "1.0",
                TransactionId   = "102911",
                TerminalId      = "01",
                PoNumber        = "PO12345",
                ForceDuplicate  = true,
            };

            // Stage Transaction
            TransportResponse transportResponse = transportServiceSoapClient.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, transportRequest);
            string            transportKey      = transportResponse.TransportKey;

            Console.WriteLine("TransportKey Received = {0}{1}", transportKey, Environment.NewLine);

            // Close application
            Console.WriteLine("Press Any Key to Close");
            Console.ReadKey();
        }
Exemple #2
0
        private static void Main(string[] args)
        {
            // Declare credentials to be used with the Stage Transaction Request
            string credentialsName   = "TEST MERCHANT";
            string credentialsSiteID = "XXXXXXXX";
            string credentialsKey    = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX";
            string ipAddress         = "192.168.0.123";

            // Build Transport request details
            Console.WriteLine("Staging Transaction{0}", Environment.NewLine);
            TransportServiceSoapClient transportServiceSoapClient = new TransportServiceSoapClient();
            TransportRequest           transportRequest           = new TransportRequest
            {
                TransactionType = "sale",
                Amount          = 1.01M,
                ClerkId         = "1",
                OrderNumber     = "1126",
                Dba             = "Test DBA",
                SoftwareName    = "Test Software",
                SoftwareVersion = "1.0",
                TransactionId   = "102911",
                TerminalId      = "01",
                PoNumber        = "PO12345",
                ForceDuplicate  = true,
            };

            // Stage Transaction
            TransportResponse transportResponse = transportServiceSoapClient.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, transportRequest);
            string            transportKey      = transportResponse.TransportKey;

            Console.WriteLine("TransportKey Received = {0}{1}", transportKey, Environment.NewLine);

            // Initiate transaction with TransportKey
            WebRequest webReq = WebRequest.Create($"http://{ipAddress}:8080/v2/pos?TransportKey={transportKey}&Format=XML");

            using (WebResponse webResp = webReq.GetResponse())
            {
                using (Stream responseStream = webResp.GetResponseStream())
                {
                    // Validate XML to Genius XSD class
                    StreamReader      streamReader      = new StreamReader(responseStream);
                    XmlSerializer     xmlSerializer     = new XmlSerializer(typeof(TransactionResult));
                    TransactionResult transactionResult = (TransactionResult)xmlSerializer.Deserialize(streamReader);
                    Console.WriteLine("Transaction Result: {0}", transactionResult.Status);
                    Console.WriteLine("Amount: {0}", transactionResult.AmountApproved);
                    Console.WriteLine("AuthCode: {0}", transactionResult.AuthorizationCode);
                    Console.WriteLine("Token: {0}", transactionResult.Token);
                    Console.WriteLine("Account Number: {0}", transactionResult.AccountNumber);
                }
            }

            // Close application
            Console.WriteLine("Press Any Key to Close");
            Console.ReadKey();
        }
        private static void Main(string[] args)
        {
            // Declare credentials to be used with the Stage Transaction Request
            string credentialsName   = "TEST MERCHANT";
            string credentialsSiteID = "XXXXXXXX";
            string credentialsKey    = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX";
            string ipAddress         = "192.168.0.123";

            // Build Transport request details
            Console.WriteLine("Staging Transaction{0}", Environment.NewLine);
            TransportServiceSoapClient transportServiceSoapClient = new TransportServiceSoapClient();
            TransportRequest           transportRequest           = new TransportRequest
            {
                TransactionType = "sale",
                Amount          = 1.01M,
                ClerkId         = "1",
                OrderNumber     = "1126",
                Dba             = "Test DBA",
                SoftwareName    = "Test Software",
                SoftwareVersion = "1.0",
                TransactionId   = "102911",
                TerminalId      = "01",
                PoNumber        = "PO12345",
                ForceDuplicate  = true,
            };

            // Stage Transaction
            TransportResponse transportResponse = transportServiceSoapClient.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, transportRequest);
            string            transportKey      = transportResponse.TransportKey;

            Console.WriteLine("TransportKey Received = {0}{1}", transportKey, Environment.NewLine);
            // Initiate transaction thread with received TransportKey
            Task <object> transactionResultTask = GeniusRequest($"http://{ipAddress}:8080/v2/pos?TransportKey={transportKey}&Format=XML", typeof(TransactionResult));

            // Wait 5 seconds
            Console.WriteLine("Waiting 5 seconds before canceling transaction");
            Thread.Sleep(5000);
            CancelResult cancelResult = (CancelResult)GeniusRequest($"http://{ipAddress}:8080/pos?Action=Cancel&Format=XML", typeof(CancelResult)).Result;

            Console.WriteLine("Cancel Result: {0}", cancelResult.Status);
            // Wait for Transaction Results then output
            transactionResultTask.Wait();
            TransactionResult transactionResult = (TransactionResult)transactionResultTask.Result;

            Console.WriteLine("Transaction Result: {0}", transactionResult.Status);
            Console.WriteLine("Amount: {0}", transactionResult.AmountApproved);
            Console.WriteLine("AuthCode: {0}", transactionResult.AuthorizationCode);
            Console.WriteLine("Token: {0}", transactionResult.Token);
            Console.WriteLine("Account Number: {0}", transactionResult.AccountNumber);

            // Close application
            Console.WriteLine("Press Any Key to Close");
            Console.ReadKey();
        }
Exemple #4
0
        static void Main(string[] args)
        {
            GeniusMethods gMethods = new GeniusMethods();
            //Ask user to input MerchantWARE Credentials
            //Console.WriteLine("Enter MerchantWARE credentials - Name, SiteID, Key" + Environment.NewLine);
            //Console.WriteLine("Press Enter after each value" + Environment.NewLine);

            //Declare credentials entered as String, to be used with the Stage Transaction Request
            string credentialsName   = "mltest";                        //Console.ReadLine();
            string credentialsSiteID = "11111111";                      // Console.ReadLine();
            string credentialsKey    = "11111-11111-11111-11111-11111"; //Console.ReadLine();

            //Console.WriteLine("" + Environment.NewLine);

            //Request for TransportKey
            Console.WriteLine("Staging Transaction" + Environment.NewLine);
            TransportServiceSoapClient TransportSoap = new TransportServiceSoapClient();
            TransportRequest           TransportReq  = new TransportRequest();
            TransportResponse          TransportRes  = new TransportResponse();

            //TransportRequest Object Parameters
            TransportReq.TransactionType = "sale";
            TransportReq.Amount          = 1.01M;
            TransportReq.ClerkId         = "1";
            TransportReq.OrderNumber     = "1126";
            TransportReq.Dba             = "Test DBA";
            TransportReq.SoftwareName    = "Test Software";
            TransportReq.SoftwareVersion = "1.0";
            TransportReq.TransactionId   = "102911";
            TransportReq.TerminalId      = "01";
            TransportReq.PoNumber        = "PO12345";
            TransportReq.ForceDuplicate  = true;

            //Stage Transaction Request Parameters
            TransportRes = TransportSoap.CreateTransaction(credentialsName, credentialsSiteID, credentialsKey, TransportReq);

            //Receive TransportKey, Declare as String, display TransportKey on-screen
            string TPKey = TransportRes.TransportKey;

            Console.WriteLine("TransportKey Received = " + TPKey + Environment.NewLine);

            //Ask user to input IP Address of Genius
            Console.WriteLine("Enter Genius IP Address and press Enter" + Environment.NewLine);
            string ipAddress = Console.ReadLine();

            Console.WriteLine(lineBreak);

            //Initiate transaction
            GeniusThreader(ipAddress, TPKey, "TransportKey", "XML");
            Thread.Sleep(200);
            GeniusThreader(ipAddress, "", "Status", "XML");
            Thread.Sleep(200);
            GeniusThreader(ipAddress, "", "Status", "XML");

            //Default function to status
            string function = "status";

            //Start loop for additional functions
            while (true)
            {
                //Request function from user. Escape the loop on a blank input
                function = Console.ReadLine();
                if (function != "")
                {
                    GeniusThreader(ipAddress, TPKey, function, "XML");
                }
                else
                {
                    break;
                }
            }

            //Close application
            Console.WriteLine("Press Enter to Close");
            Console.ReadKey();
        }