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(); }
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(); }
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(); }