public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Approve held transaction sample"); ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, ItemElementName = ItemChoiceType.transactionKey, Item = ApiTransactionKey, }; var request = new updateHeldTransactionRequest(); request.heldTransactionRequest = new heldTransactionRequestType { action = afdsTransactionEnum.approve, refTransId = "60012192922" }; // instantiate the controller that will call the service var controller = new updateHeldTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { Console.WriteLine("Transaction Approved: " + response.transactionResponse.transId); } else if (response != null) { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); } return(response); }
//public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey) //{ // Console.WriteLine("Approve held transaction sample"); // ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNET.Environment.SANDBOX; // // define the merchant information (authentication / transaction id) // ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType() // { // name = ApiLoginID, // ItemElementName = ItemChoiceType.transactionKey, // Item = ApiTransactionKey, // }; // var request = new updateHeldTransactionRequest(); // request.heldTransactionRequest = new heldTransactionRequestType // { // action = afdsTransactionEnum.approve, // refTransId = "60012192922" // }; // // instantiate the controller that will call the service // var controller = new updateHeldTransactionController(request); // controller.Execute(); // // get the response from the service (errors contained if any) // var response = controller.GetApiResponse(); // if (response != null && response.messages.resultCode == messageTypeEnum.Ok) // { // Console.WriteLine("Transaction Approved: "+response.transactionResponse.transId); // } // else if (response != null) // { // Console.WriteLine("Error: " + response.messages.message[0].code + " " + // response.messages.message[0].text); // } // return response; //} public static void ApproveOrDeclineHeldTransactionExec(String ApiLoginID, String ApiTransactionKey) { using (CsvReader csv = new CsvReader(new StreamReader(new FileStream(@"../../../CSV_DATA/ApproveOrDeclineHeldTransaction.csv", FileMode.Open)), true)) { Console.WriteLine("Approve held transaction sample"); int flag = 0; int fieldCount = csv.FieldCount; string[] headers = csv.GetFieldHeaders(); //Append data var item1 = DataAppend.ReadPrevData(); using (CsvFileWriter writer = new CsvFileWriter(new FileStream(@"../../../CSV_DATA/Outputfile.csv", FileMode.Open))) { while (csv.ReadNextRecord()) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNET.Environment.SANDBOX; string apiLogin = null; string transactionKey = null; string TestcaseID = null; //int count = 0; for (int i = 0; i < fieldCount; i++) { // Read the headers with values from the test data input file switch (headers[i]) { case "apiLogin": apiLogin = csv[i]; break; case "transactionKey": transactionKey = csv[i]; break; case "TestcaseID": TestcaseID = csv[i]; //count++; break; default: break; } } // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = apiLogin, ItemElementName = ItemChoiceType.transactionKey, Item = transactionKey, }; CsvRow row = new CsvRow(); try { if (flag == 0) { row.Add("TestCaseId"); row.Add("APIName"); row.Add("Status"); row.Add("TimeStamp"); writer.WriteRow(row); flag = flag + 1; //Append Results foreach (var item in item1) { writer.WriteRow(item); } } var request = new updateHeldTransactionRequest(); request.heldTransactionRequest = new heldTransactionRequestType { action = afdsTransactionEnum.approve, refTransId = "60012192922" }; // instantiate the controller that will call the service var controller = new updateHeldTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { /*****************************/ try { //Assert.AreEqual(response.Id, customerProfileId); //Console.WriteLine("Assertion Succeed! Valid customerProfileId fetched."); CsvRow row1 = new CsvRow(); row1.Add("ADHT_00" + flag.ToString()); row1.Add("ApproveOrDeclineHeldTransaction"); row1.Add("Pass"); row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff")); writer.WriteRow(row1); // Console.WriteLine("Success " + TestcaseID + " CustomerID : " + response.Id); flag = flag + 1; Console.WriteLine("Transaction Approved: " + response.transactionResponse.transId); } catch { CsvRow row1 = new CsvRow(); row1.Add("ADHT_00" + flag.ToString()); row1.Add("ApproveOrDeclineHeldTransaction"); row1.Add("Assertion Failed!"); row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff")); writer.WriteRow(row1); //Console.WriteLine("Assertion Failed! Invalid CustomerPaymentProfile fetched."); flag = flag + 1; } /*******************/ } else { CsvRow row1 = new CsvRow(); row1.Add("ADHT_00" + flag.ToString()); row1.Add("ApproveOrDeclineHeldTransaction"); row1.Add("Fail"); row1.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff")); writer.WriteRow(row1); flag = flag + 1; } //else if (response != null) //{ // Console.WriteLine("Error: " + response.messages.message[0].code + " " + // response.messages.message[0].text); //} } //return response; catch (Exception e) { CsvRow row2 = new CsvRow(); row2.Add("ADHT_00" + flag.ToString()); row2.Add("ApproveOrDeclineHeldTransaction"); row2.Add("Fail"); row2.Add(DateTime.Now.ToString("yyyy/MM/dd" + "::" + "HH:mm:ss:fff")); writer.WriteRow(row2); flag = flag + 1; //Console.WriteLine(TestCaseId + " Error Message " + e.Message); } } } } }