/// <summary> /// Method that runs our payment and calls the various /// methods required to make the payment /// </summary> /// <param name="uvm">UserViewModel</param> /// <returns>string</returns> public string Run(UserViewModel uvm) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = Configuration["AuthNet:Name"], ItemElementName = ItemChoiceType.transactionKey, Item = Configuration["AuthNet:TransactionKey"] }; var request = new createTransactionRequest { transactionRequest = TransactionRequest(uvm, GetAddress(uvm)) }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); TransactionLogging(response); return("invalid"); }
public static void Run(String ApiLoginID, String ApiTransactionKey, string TransactionID) { Console.WriteLine("Credit Bank Account"); 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 bankAccount = new bankAccountType { accountNumber = "4111111", routingNumber = "325070760", echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) nameOnAccount = "Test Name" }; //standard api call to retrieve response var paymentType = new paymentType { Item = bankAccount }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.refundTransaction.ToString(), // refund type payment = paymentType, amount = 126.44m, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Transaction Code : " + response.transactionResponse.transId); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public void SampleCodeCreateUnlinkedCredit() { ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = TestEnvironment; decimal txnAmount = SetValidTransactionAmount(Counter) / 100; //Set payment info for credit var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0622" }; var paymentType = new paymentType { Item = creditCard }; //Create credit request transactionRequestType txnType = new transactionRequestType { amount = txnAmount, transactionType = transactionTypeEnum.refundTransaction.ToString(), payment = paymentType, }; createTransactionRequest creditReq = new createTransactionRequest { transactionRequest = txnType }; createTransactionController creditCont = new createTransactionController(creditReq); creditCont.Execute(); createTransactionResponse creditResp = creditCont.GetApiResponse(); //validate Assert.AreEqual("1", creditResp.transactionResponse.messages[0].code); }
public void CreateTransactionWithECheck_AuthCapture() { //Common code to set for all requests ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; //set up data based on transaction var transactionAmount = SetValidTransactionAmount(Counter); var echeck = new bankAccountType { accountNumber = "123456", accountType = bankAccountTypeEnum.checking, checkNumber = "1234", bankName = "Bank of Seattle", routingNumber = "125000024", echeckType = echeckTypeEnum.WEB, nameOnAccount = "Joe Customer" }; //standard api call to retrieve api response var paymentType = new paymentType { Item = echeck }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), payment = paymentType, amount = (decimal)transactionAmount, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //validate Assert.AreEqual("1", response.transactionResponse.messages[0].code); }
public static void Run(String ApiLoginID, String ApiTransactionKey, string TransactionID) { Console.WriteLine("PayPal Get Details Transaction"); 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 payPalType = new payPalType { cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262", successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262", // the url where the user will be returned to }; //standard api call to retrieve response var paymentType = new paymentType { Item = payPalType }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.getDetailsTransaction.ToString(), // get the customer PayerID, email and shipping info payment = paymentType, amount = 19.45m, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { var shippingResponse = response.transactionResponse.shipTo; Console.WriteLine("Shipping address : " + shippingResponse.address + ", " + shippingResponse.city + ", " + shippingResponse.state + ", " + shippingResponse.country); Console.WriteLine("Payer ID : " + response.transactionResponse.secureAcceptance.PayerID); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public void CreateTransactionWithECheckAuth_Only() { //Common code to set for all requests ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = TestEnvironment; //set up data based on transaction decimal transactionAmount = SetValidTransactionAmount(Counter); var echeck = new bankAccountType { accountNumber = "123456", accountType = bankAccountTypeEnum.checking, checkNumber = "1234", bankName = "Bank of Seattle", routingNumber = "125000024", echeckType = echeckTypeEnum.WEB, nameOnAccount = "Joe Customer" }; //standard api call to retrieve response var paymentType = new paymentType { Item = echeck }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), payment = paymentType, amount = transactionAmount, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //validate Assert.AreEqual("1", response.transactionResponse.messages[0].code); }
public void CaptureAmount(SubscriptionModel cCnumber) { 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 creditCard = new creditCardType { cardNumber = cCnumber.CardNumber, expirationDate = "0718" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(), // capture prior only payment = paymentType, amount = TransactionAmount, refTransId = "2244814046" }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Debug.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Debug.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public static void Run(string ApiLoginID, string ApiTransactionKey) { Console.WriteLine("Charge Credit Card 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 creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0719" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = 133.45m, payment = paymentType }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
/// <summary> /// Voids a payment /// </summary> /// <param name="voidPaymentRequest">Request</param> /// <returns>Result</returns> public VoidPaymentResult Void(VoidPaymentRequest voidPaymentRequest) { var result = new VoidPaymentResult(); PrepareAuthorizeNet(); var maskedCreditCardNumberDecrypted = _encryptionService.DecryptText(voidPaymentRequest.Order.MaskedCreditCardNumber); if (String.IsNullOrEmpty(maskedCreditCardNumberDecrypted) || maskedCreditCardNumberDecrypted.Length < 4) { result.AddError("Last four digits of Credit Card Not Available"); return(result); } var lastFourDigitsCardNumber = maskedCreditCardNumberDecrypted.Substring(maskedCreditCardNumberDecrypted.Length - 4); var expirationDate = voidPaymentRequest.Order.CardExpirationMonth + voidPaymentRequest.Order.CardExpirationYear; if (!expirationDate.Any() && _authorizeNetPaymentSettings.UseSandbox) { expirationDate = DateTime.Now.ToString("MMyyyy"); } var creditCard = new creditCardType { cardNumber = lastFourDigitsCardNumber, expirationDate = expirationDate }; var codes = (string.IsNullOrEmpty(voidPaymentRequest.Order.CaptureTransactionId) ? voidPaymentRequest.Order.AuthorizationTransactionCode : voidPaymentRequest.Order.CaptureTransactionId).Split(','); var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.voidTransaction.ToString(), refTransId = codes[0], payment = new paymentType { Item = creditCard } }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (GetErrors(response, result.Errors)) { return(result); } result.NewPaymentStatus = PaymentStatus.Voided; return(result); }
public void SampleCodeCreateTransactionWithCreditCard() { //Common code to set for all requests ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = TestEnvironment; //set up data for transaction var transactionAmount = SetValidTransactionAmount(Counter); var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0622" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), payment = paymentType, amount = transactionAmount, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //validate Assert.AreEqual("1", response.transactionResponse.messages[0].code); }
public bool Run(Order order) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = Configuration["AuthorizeNetName"], ItemElementName = ItemChoiceType.transactionKey, Item = Configuration["AuthorizeNetTransKey"] }; creditCardType creditCard = new creditCardType { cardNumber = Configuration["CreditCardNumber"], expirationDate = Configuration["ExpirationDate"] }; customerAddressType billingAddress = GetAddress(order); paymentType paymentType = new paymentType { Item = creditCard }; transactionRequestType transReqType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = 9.45m, payment = paymentType, billTo = billingAddress }; createTransactionRequest request = new createTransactionRequest { transactionRequest = transReqType }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { return(true); } else { return(false); } } return(false); }
public static void Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Running VisaCheckoutTransaction Sample ..."); // The test setup. ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, ItemElementName = ItemChoiceType.transactionKey, Item = ApiTransactionKey, }; ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; //set up data based on transaction var transactionAmount = Convert.ToDecimal(25.60); var opaqueDataType = new opaqueDataType { dataDescriptor = "COMMON.VCO.ONLINE.PAYMENT", dataKey = "NQzcMISSxLX789w+CGX+tXi3lKntO1dpZbZaREOUprVRByJkg1xnpc2Wx9aT5/BLOxQmHqmIsjjy+tF6HqKKGwovvXjIS3fE3y3tBRNbz8D7y6vYMup+AWbEvZqDEBSi", dataValue = "+6hn53rUcggeZZti2IdBp3qNLa9ohAH87cFSc1BggZFNEpsrfdJbRViWwv/JbCNkHkOD6CpFlRO3gCDH2VEQTd8laqWR1ccHiZpdYDnOxfhUQpU9E18ZByW7j17puVWogh7HaItbDUL0YvIxxfClX9bohurOo1JHyUgBO9YxTj3CLY2RdRkjmipAQqOyxiGX9enFQjAHdPgKj2RxnVMYe8on5ei94zbtYUbI3fXrp3I+DJcZCGZ4SzrlnPAPpcn20qaIoaOTX/xuD+voRAUKb/KE5oy+CuSNBtyMBgrvWU0Lf3SLjGfE/FJx3Bh9/LABCwWBYQvtpo3DQkDItp8P5/3EOz7JwBFbFd9UQs8wm/J8YvJMd3Kf4MkQ1+KYyg17RH6OAcoNaqQxT3MjOSvVv3KAlKV82ZDco+IRTVPcjyVd/Vff0qDIqes08fPCQDhttefl/bh18urrmCnM9PcP7xJ0A8Ek7LRMLF19c81O7IIaEn0FXxq+UuV5oZArY+mE4GD08xizyd0hoW9pvsdZ7RkuPu4yK1yXPTAKbc3vTxrj0kamFWd4kRHapwLxcvawIQzrlQGQj5AUFkpEg1o1UGWz0vtGgqE08hplJehsTZwPw9KSaA+u5M79gXM3uLR8g2RlE5cEDRLy3aEv0ufeag+lt8zME9wzrfTK8zhjTdBGIAJqSUYto1JbiW9IEMJgjLaqEJhwO49pNlUgOJVp7BXO9JoHPM8PyS+vZlOCX6b0bip/+mCEok09L9B0IhnLjs95Q4kDZfCcQNfDIdLEPe5tLp8eGaSkK3HDoQFbZKCFyGmUTEEF19PScZURbYuGrwpxHqqAAhU87ZmdhRRdJbMTrWPhIvk9/kRzRIP2ciKu8ClNZIJ9azafIUBo7WdlYs+6QbLCn8UCNvYczrLXo3tGhVvHPheWWgmuxDYbHDyJu7SIPKgVvi6LrPYgg8g+I0pMWPojWmBdp85tMt+sQrWk2x325/pOrYXj8fc2W8PHtOAka1EltTdZiNsRKzA8orzLQrtvqtxhzgXMSTOEmosEAxA7DuQdKscL2BWWmiYsAOCNYQxtm/nR6PBAKZ5PDS6Wjk73hKTOeB6kA5E/H1ij15iJqNK6O1+4b4gpJHnHm7tccVQIK5w1EeLR1waqO2G4FMM5FoyA1WsSEQURQncDek0bK1ohcu73l5FLiq8he/H6gF3dEsKL6Z367ki59HKwnnJXfWj/WOUZxTbIho4H5i/lIcc0vSgFH84ReTjjiANEm+ccl5PcFV9wEVlbGXiOiJfeZ0mEzo9ghDyKEAGEDzZtHDwZzKEYyT92oFXkeewGQ6DJX7GSQPZ1MW17jAQODAqmzJcmwMunc7PwGvJcscRbxkXpGe7/asq2H4POz3ByBrBQHCl/+oUVtw8hEbavCpuEgXfWl09Sc3Dfg69UP8XBR80vWsP1YL8YtBxOmL2hinZc5SJZ4boulAOHiMQyKBwwkg2D1gJDEY9JzUJtbg3p06swB0UthNmVuo/1mV8047sB5QrjGCugEo87+vh9eV1EVvyLZLRFS+RIZoIpLR3UkO6Pe1s7MnO7ZvCsbz9sKNb0GtQPoFtU9b7KaCHgQ20vL7xjqTEmR2QwkHEriuGJ8a7oMdSd88w/e2InL1SfHCnS2JeWY9vY6RSTvmjkEf3BFGhHjFP5QRR3Bd8AVH/1YrFcxtSSJP5GeY3CVnJgjZToK+ngxsRzpDcEm6pz3RPUEIBNkk3c9plpdlMbyvuVVKXLSFdTdtAALRfiD9qhdpgGMqboZ0kXi+qn3irYXT19q8oQktoZ4ILkbzewloftLbfUTqQprA8cddy7/ikUKKhBoBVs/DAupRe9aRP3TLgIEz6eNNilZszXoFfUv9EgqOZ0EBb83KNV3HvbE2xGJcTArjRpmzszQQkNOpJnyRDtvPj7FU7K16UYQ9zQBrxnx5vnoWSaqNhzOxikd+hWZ6i5G7EPpCO+utdoMdyOTOoDAjBmiy5JsDHSVv4zvkT9ySYPH2PmS47mMEpZICKTAxuDrm3zTpT064P+7ivcGmaIyaBCkc4udIHaWSbi5XJ/ciXUxSqAtqaVcd5HD++6vjBzKhbAPU4shSBav6qCSp/XqFurEAJbkLB3VmXe7bghcM+VNPJHHiYlIdzndDaFENyaZCukypggK0Gf4cH+8CKI9YnQx9s4JMs4lX57i4IkkoJE7fjWaOHyxYM/AiKvWlMQtRO8Y5Yta454JfHVq7Mg11Wqu2Ex4q5QLNqKudVt3wveu3G1zoNFanW6i+d0Aa3hTdxerl9BacX/" }; //standard api call to retrieve response var paymentType = new paymentType { Item = opaqueDataType }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), payment = paymentType, amount = transactionAmount, callId = "1482912778237697701" }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public string Run() { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define our merchant information ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = Configuration["AuthorizeNetName"], ItemElementName = ItemChoiceType.transactionKey, Item = Configuration["AuthorizeNetTransKey"] }; creditCardType creditCard = new creditCardType { cardNumber = Configuration["CreditCardNumber"], expirationDate = Configuration["ExpirationDate"] }; customerAddressType billingAddress = GetAddress(); paymentType paymentType = new paymentType { Item = creditCard }; transactionRequestType transReqType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = 123.45m, payment = paymentType, billTo = billingAddress }; createTransactionRequest request = new createTransactionRequest { transactionRequest = transReqType }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { // out transaction was successful. return("OK"); } else { // it was not successful } } return("NOT OK"); }
private createTransactionResponse HandlePayment(Payment payment, Participant participant) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.PRODUCTION; ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType { // Dev Account: name = "3QeAr3WX7z", name = "2B4f4zGR", ItemElementName = ItemChoiceType.transactionKey, //Item = "9f896x36Uy242FQf" Item = "5D3E9PK7Ms6p3Txr" }; var opaqueData = new opaqueDataType { dataDescriptor = payment.DataDescriptor, dataValue = payment.DataValue }; var paymentType = new paymentType { Item = opaqueData }; var billToType = new customerAddressType { firstName = participant.FirstName, lastName = participant.LastName }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = payment.Amount, payment = paymentType, billTo = billToType }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); if (response.messages.resultCode == messageTypeEnum.Ok) { return(response); } else { throw new Exception("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text + " | Response: " + response.ToJson()); } }
public string RunPayment(CheckoutViewModel cvm) { // Set the environment that will be running ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id ) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = Configuration["Auth.Net:ApiId"], ItemElementName = ItemChoiceType.transactionKey, Item = Configuration["Auth.Net:TransactionKey"], }; customerAddressType billingAddress = GetAddress(cvm); var request = GetPaymentInfo(cvm); // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse.messages != null) { // passed var r1 = response.transactionResponse.transId; var r2 = response.transactionResponse.responseCode; var r3 = response.transactionResponse.messages[0].code; var r4 = response.transactionResponse.messages[0].description; var r5 = response.transactionResponse.authCode; return($"passed, {r4}"); } else { // failed var r1 = response.transactionResponse.transId; var r2 = response.transactionResponse.responseCode; var r3 = response.transactionResponse.messages[0].code; var r4 = response.transactionResponse.messages[0].description; var r5 = response.transactionResponse.authCode; return($"Payment failed, {r4}"); } } else { // failed var r1 = response.transactionResponse.errors[0].errorCode; var r2 = response.transactionResponse.errors[0].errorText; return($"Paymed failed, {r2}"); } }
public static void Run(string apiLoginId, string apiTransactionKey, string transactionId, string payerId) { Console.WriteLine("PayPal Authorize Only-Continue Transaction"); 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 payPalType = new payPalType { cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262", successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262", // the url where the user will be returned to payerID = payerId }; //standard api call to retrieve response var paymentType = new paymentType { Item = payPalType }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyContinueTransaction.ToString(), // capture the card only payment = paymentType, amount = 19.45m, refTransId = transactionId, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public static void Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Charge Customer Profile"); 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 }; //create a customer payment profile customerProfilePaymentType profileToCharge = new customerProfilePaymentType(); profileToCharge.customerProfileId = "36731856"; profileToCharge.paymentProfile = new paymentProfile { paymentProfileId = "33211899" }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // refund type amount = 2.00m, profile = profileToCharge }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the collector that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
/// <summary> /// Capture a Transaction Previously Submitted Via CaptureOnly /// </summary> /// <param name="ApiLoginID">Your ApiLoginID</param> /// <param name="ApiTransactionKey">Your ApiTransactionKey</param> /// <param name="TransactionAmount">The amount submitted with CaptureOnly</param> /// <param name="TransactionID">The TransactionID of the previous CaptureOnly operation</param> public static void Run(String ApiLoginID, String ApiTransactionKey, decimal TransactionAmount, string TransactionID) { Console.WriteLine("Capture Previously Authorized Amount"); 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 creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(), // capture prior only payment = paymentType, amount = TransactionAmount, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public static void Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Charge Tokenized Credit Card 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 creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718", cryptogram = Guid.NewGuid().ToString() // Set this to the value of the cryptogram received from the token provide }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = 133.45m, payment = paymentType }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public static void Run(String ApiLoginID, String ApiTransactionKey, string TransactionID) { Console.WriteLine("PayPal Void Transaction"); 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 payPalType = new payPalType { cancelUrl = "", successUrl = "", // the url where the user will be returned to }; //standard api call to retrieve response var paymentType = new paymentType { Item = payPalType }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.voidTransaction.ToString(), // refund type payment = paymentType, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public override ApiInfo RefundPayment(Order order, IDictionary <string, string> settings) { ApiInfo apiInfo = null; try { order.MustNotBeNull("order"); settings.MustNotBeNull("settings"); settings.MustContainKey("mode", "settings"); settings.MustContainKey(settings["mode"] + "_api_login_id", "settings"); settings.MustContainKey(settings["mode"] + "_transaction_key", "settings"); // Configure AuthorizeNet ConfigureAuthorizeNet(settings); // Refund the transaction var transactionRequest = new createTransactionRequest { transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.refundTransaction.ToString(), amount = ToTwoDecimalPlaces(order.TransactionInformation.AmountAuthorized.Value), refTransId = order.TransactionInformation.TransactionId, payment = new paymentType { Item = new creditCardType { cardNumber = order.TransactionInformation.PaymentIdentifier.TrimStart('X'), expirationDate = "XXXX" } } } }; var controller = new createTransactionController(transactionRequest); controller.Execute(); var transactionResponse = controller.GetApiResponse(); if (transactionResponse != null && transactionResponse.messages.resultCode == messageTypeEnum.Ok) { apiInfo = new ApiInfo(order.TransactionInformation.TransactionId, PaymentState.Refunded); } else { // Payment might not have settled yet so try canceling instead return(CancelPayment(order, settings)); } } catch (Exception exp) { LoggingService.Instance.Error <AuthorizeNet>("Authorize.net(" + order.OrderNumber + ") - RefundPayment", exp); } return(apiInfo); }
public static void Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Create Apple Pay 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, }; //set up data based on transaction var opaqueData = new opaqueDataType { dataDescriptor = "COMMON.APPLE.INAPP.PAYMENT", dataValue = "eyJkYXRhIjoiQkRQTldTdE1tR2V3UVVXR2c0bzdFXC9qKzFjcTFUNzhxeVU4NGI2N2l0amNZSTh3UFlBT2hzaGpoWlBycWRVcjRYd1BNYmo0emNHTWR5KysxSDJWa1BPWStCT01GMjV1YjE5Y1g0bkN2a1hVVU9UakRsbEIxVGdTcjhKSFp4Z3A5ckNnc1NVZ2JCZ0tmNjBYS3V0WGY2YWpcL284WkliS25yS1E4U2gwb3VMQUtsb1VNbit2UHU0K0E3V0tycXJhdXo5SnZPUXA2dmhJcStIS2pVY1VOQ0lUUHlGaG1PRXRxK0grdzB2UmExQ0U2V2hGQk5uQ0hxenpXS2NrQlwvMG5xTFpSVFliRjBwK3Z5QmlWYVdIZWdoRVJmSHhSdGJ6cGVjelJQUHVGc2ZwSFZzNDhvUExDXC9rXC8xTU5kNDdrelwvcEhEY1JcL0R5NmFVTStsTmZvaWx5XC9RSk4rdFMzbTBIZk90SVNBUHFPbVhlbXZyNnhKQ2pDWmxDdXcwQzltWHpcL29iSHBvZnVJRVM4cjljcUdHc1VBUERwdzdnNjQybTRQendLRitIQnVZVW5lV0RCTlNEMnU2amJBRzMiLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiOTRlZTA1OTMzNWU1ODdlNTAxY2M0YmY5MDYxM2UwODE0ZjAwYTdiMDhiYzdjNjQ4ZmQ4NjVhMmFmNmEyMmNjMiIsInRyYW5zYWN0aW9uSWQiOiJjMWNhZjVhZTcyZjAwMzlhODJiYWQ5MmI4MjgzNjM3MzRmODViZjJmOWNhZGYxOTNkMWJhZDlkZGNiNjBhNzk1IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJHbStnc2wwUFpGVFwva0RkVVNreHd5Zm84SnB3VFFRekJtOWxKSm5tVGw0REdVdkFENEdzZUdqXC9wc2hCWjBLM1RldXFEdFwvdERMYkUrOFwvbTB5Q21veHc9IiwicHVibGljS2V5SGFzaCI6IlwvYmI5Q05DMzZ1QmhlSEZQYm1vaEI3T28xT3NYMkora0pxdjQ4ek9WVmlRPSJ9LCJzaWduYXR1cmUiOiJNSUlEUWdZSktvWklodmNOQVFjQ29JSURNekNDQXk4Q0FRRXhDekFKQmdVckRnTUNHZ1VBTUFzR0NTcUdTSWIzRFFFSEFhQ0NBaXN3Z2dJbk1JSUJsS0FEQWdFQ0FoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQXdKekVsTUNNR0ExVUVBeDRjQUdNQWFBQnRBR0VBYVFCQUFIWUFhUUJ6QUdFQUxnQmpBRzhBYlRBZUZ3MHhOREF4TURFd05qQXdNREJhRncweU5EQXhNREV3TmpBd01EQmFNQ2N4SlRBakJnTlZCQU1lSEFCakFHZ0FiUUJoQUdrQVFBQjJBR2tBY3dCaEFDNEFZd0J2QUcwd2daOHdEUVlKS29aSWh2Y05BUUVCQlFBRGdZMEFNSUdKQW9HQkFOQzgra2d0Z212V0YxT3pqZ0ROcmpURUJSdW9cLzVNS3ZsTTE0NnBBZjdHeDQxYmxFOXc0ZklYSkFEN0ZmTzdRS2pJWFlOdDM5ckx5eTd4RHdiXC81SWtaTTYwVFoyaUkxcGo1NVVjOGZkNGZ6T3BrM2Z0WmFRR1hOTFlwdEcxZDlWN0lTODJPdXA5TU1vMUJQVnJYVFBITmNzTTk5RVBVblBxZGJlR2M4N20wckFnTUJBQUdqWERCYU1GZ0dBMVVkQVFSUk1FK0FFSFpXUHJXdEpkN1laNDMxaENnN1lGU2hLVEFuTVNVd0l3WURWUVFESGh3QVl3Qm9BRzBBWVFCcEFFQUFkZ0JwQUhNQVlRQXVBR01BYndCdGdoQmNsK1BmMytVNHBrMTNuVkQ5bndRUU1Ba0dCU3NPQXdJZEJRQURnWUVBYlVLWUNrdUlLUzlRUTJtRmNNWVJFSW0ybCtYZzhcL0pYditHQlZRSmtPS29zY1k0aU5ERkFcL2JRbG9nZjlMTFU4NFRId05SbnN2VjNQcnY3UlRZODFncTBkdEM4elljQWFBa0NISUkzeXFNbko0QU91NkVPVzlrSmsyMzJnU0U3V2xDdEhiZkxTS2Z1U2dRWDhLWFFZdVpMazJScjYzTjhBcFhzWHdCTDNjSjB4Z2VBd2dkMENBUUV3T3pBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWFCUUF3RFFZSktvWklodmNOQVFFQkJRQUVnWUJhSzNFbE9zdGJIOFdvb3NlREFCZitKZ1wvMTI5SmNJYXdtN2M2VnhuN1phc05iQXEzdEF0OFB0eSt1UUNnc3NYcVprTEE3a3oyR3pNb2xOdHY5d1ltdTlVandhcjFQSFlTK0JcL29Hbm96NTkxd2phZ1hXUnowbk1vNXkzTzFLelgwZDhDUkhBVmE4OFNyVjFhNUpJaVJldjNvU3RJcXd2NXh1WmxkYWc2VHI4dz09In0=" }; //standard api call to retrieve response var paymentType = new paymentType { Item = opaqueData }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString() , // authorize and capture transaction amount = 39.86m, payment = paymentType }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Successfully made a purchase, authorization code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public static void Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Running VisaCheckoutTransaction Sample ..."); // The test setup. ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, ItemElementName = ItemChoiceType.transactionKey, Item = ApiTransactionKey, }; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX; //set up data based on transaction var transactionAmount = Convert.ToDecimal(25.60); var opaqueDataType = new opaqueDataType { dataDescriptor = "COMMON.VCO.ONLINE.PAYMENT", dataKey = "NQzcMISSxLX789w+CGX+tXi3lKntO1dpZbZaREOUprVRByJkg1xnpc2Wx9aT5/BLOxQmHqmIsjjy+tF6HqKKGwovvXjIS3fE3y3tBRNbz8D7y6vYMup+AWbEvZqDEBSi", dataValue = "+6hn53rUcggeZZti2IdBp3qNLa9ohAH87cFSc1BggZFNEpsrfdJbRViWwv/JbCNkHkOD6CpFlRO3gCDH2VEQTd8laqWR1ccHiZpdYDnOxfhUQpU9E18ZByW7j17puVWogh7HaItbDUL0YvIxxfClX9bohurOo1JHyUgBO9YxTj3CLY2RdRkjmipAQqOyxiGX9enFQjAHdPgKj2RxnVMYe8on5ei94zbtYUbI3fXrp3I+DJcZCGZ4SzrlnPAPpcn20qaIoaOTX/xuD+voRAUKb/KE5oy+CuSNBtyMBgrvWU0Lf3SLjGfE/FJx3Bh9/LABCwWBYQvtpo3DQkDItp8P5/3EOz7JwBFbFd9UQs8wm/J8YvJMd3Kf4MkQ1+KYyg17RH6OAcoNaqQxT3MjOSvVv3KAlKV82ZDco+IRTVPcjyVd/Vff0qDIqes08fPCQDhttefl/bh18urrmCnM9PcP7xJ0A8Ek7LRMLF19c81O7IIaEn0FXxq+UuV5oZArY+mE4GD08xizyd0hoW9pvsdZ7RkuPu4yK1yXPTAKbc3vTxrj0kamFWd4kRHapwLxcvawIQzrlQGQj5AUFkpEg1o1UGWz0vtGgqE08hplJehsTZwPw9KSaA+u5M79gXM3uLR8g2RlE5cEDRLy3aEv0ufeag+lt8zME9wzrfTK8zhjTdBGIAJqSUYto1JbiW9IEMJgjLaqEJhwO49pNlUgOJVp7BXO9JoHPM8PyS+vZlOCX6b0bip/+mCEok09L9B0IhnLjs95Q4kDZfCcQNfDIdLEPe5tLp8eGaSkK3HDoQFbZKCFyGmUTEEF19PScZURbYuGrwpxHqqAAhU87ZmdhRRdJbMTrWPhIvk9/kRzRIP2ciKu8ClNZIJ9azafIUBo7WdlYs+6QbLCn8UCNvYczrLXo3tGhVvHPheWWgmuxDYbHDyJu7SIPKgVvi6LrPYgg8g+I0pMWPojWmBdp85tMt+sQrWk2x325/pOrYXj8fc2W8PHtOAka1EltTdZiNsRKzA8orzLQrtvqtxhzgXMSTOEmosEAxA7DuQdKscL2BWWmiYsAOCNYQxtm/nR6PBAKZ5PDS6Wjk73hKTOeB6kA5E/H1ij15iJqNK6O1+4b4gpJHnHm7tccVQIK5w1EeLR1waqO2G4FMM5FoyA1WsSEQURQncDek0bK1ohcu73l5FLiq8he/H6gF3dEsKL6Z367ki59HKwnnJXfWj/WOUZxTbIho4H5i/lIcc0vSgFH84ReTjjiANEm+ccl5PcFV9wEVlbGXiOiJfeZ0mEzo9ghDyKEAGEDzZtHDwZzKEYyT92oFXkeewGQ6DJX7GSQPZ1MW17jAQODAqmzJcmwMunc7PwGvJcscRbxkXpGe7/asq2H4POz3ByBrBQHCl/+oUVtw8hEbavCpuEgXfWl09Sc3Dfg69UP8XBR80vWsP1YL8YtBxOmL2hinZc5SJZ4boulAOHiMQyKBwwkg2D1gJDEY9JzUJtbg3p06swB0UthNmVuo/1mV8047sB5QrjGCugEo87+vh9eV1EVvyLZLRFS+RIZoIpLR3UkO6Pe1s7MnO7ZvCsbz9sKNb0GtQPoFtU9b7KaCHgQ20vL7xjqTEmR2QwkHEriuGJ8a7oMdSd88w/e2InL1SfHCnS2JeWY9vY6RSTvmjkEf3BFGhHjFP5QRR3Bd8AVH/1YrFcxtSSJP5GeY3CVnJgjZToK+ngxsRzpDcEm6pz3RPUEIBNkk3c9plpdlMbyvuVVKXLSFdTdtAALRfiD9qhdpgGMqboZ0kXi+qn3irYXT19q8oQktoZ4ILkbzewloftLbfUTqQprA8cddy7/ikUKKhBoBVs/DAupRe9aRP3TLgIEz6eNNilZszXoFfUv9EgqOZ0EBb83KNV3HvbE2xGJcTArjRpmzszQQkNOpJnyRDtvPj7FU7K16UYQ9zQBrxnx5vnoWSaqNhzOxikd+hWZ6i5G7EPpCO+utdoMdyOTOoDAjBmiy5JsDHSVv4zvkT9ySYPH2PmS47mMEpZICKTAxuDrm3zTpT064P+7ivcGmaIyaBCkc4udIHaWSbi5XJ/ciXUxSqAtqaVcd5HD++6vjBzKhbAPU4shSBav6qCSp/XqFurEAJbkLB3VmXe7bghcM+VNPJHHiYlIdzndDaFENyaZCukypggK0Gf4cH+8CKI9YnQx9s4JMs4lX57i4IkkoJE7fjWaOHyxYM/AiKvWlMQtRO8Y5Yta454JfHVq7Mg11Wqu2Ex4q5QLNqKudVt3wveu3G1zoNFanW6i+d0Aa3hTdxerl9BacX/" }; //standard api call to retrieve response var paymentType = new paymentType { Item = opaqueDataType }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), payment = paymentType, amount = transactionAmount, callId = "1482912778237697701" }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code +" "+response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
/// <summary> /// Refunds a payment /// </summary> /// <param name="refundPaymentRequest">Request</param> /// <returns>Result</returns> public RefundPaymentResult Refund(RefundPaymentRequest refundPaymentRequest) { var result = new RefundPaymentResult(); PrepareAuthorizeNet(); var maskedCreditCardNumberDecrypted = _encryptionService.DecryptText(refundPaymentRequest.Order.MaskedCreditCardNumber); if (String.IsNullOrEmpty(maskedCreditCardNumberDecrypted) || maskedCreditCardNumberDecrypted.Length < 4) { result.AddError("Last four digits of Credit Card Not Available"); return(result); } var lastFourDigitsCardNumber = maskedCreditCardNumberDecrypted.Substring(maskedCreditCardNumberDecrypted.Length - 4); var creditCard = new creditCardType { cardNumber = lastFourDigitsCardNumber, expirationDate = "XXXX" }; var codes = (string.IsNullOrEmpty(refundPaymentRequest.Order.CaptureTransactionId) ? refundPaymentRequest.Order.AuthorizationTransactionCode : refundPaymentRequest.Order.CaptureTransactionId).Split(','); var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.refundTransaction.ToString(), amount = Math.Round(refundPaymentRequest.AmountToRefund, 2), refTransId = codes[0], currencyCode = _currencyService.GetCurrencyById(_currencySettings.PrimaryStoreCurrencyId).CurrencyCode, order = new orderType { //x_invoice_num is 20 chars maximum. hece we also pass x_description invoiceNumber = refundPaymentRequest.Order.OrderGuid.ToString().Substring(0, 20), description = string.Format("Full order #{0}", refundPaymentRequest.Order.OrderGuid) }, payment = new paymentType { Item = creditCard } }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); GetApiResponse(controller, result.Errors); result.NewPaymentStatus = PaymentStatus.PartiallyRefunded; return(result); }
public string Run(CheckoutViewModel sa) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = Configuration["AUTHNET_LOGIN_ID"], ItemElementName = ItemChoiceType.transactionKey, Item = Configuration["AUTH_TRANSACTION_KEY"] }; creditCardType creditCard = new creditCardType { cardNumber = Configuration["CreditCardNumber"], expirationDate = Configuration["ExpirationDate"] }; customerAddressType billingAddress = GetAddress(sa); paymentType payment = new paymentType { Item = creditCard }; transactionRequestType transRequestType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = 123.45m, payment = payment, billTo = billingAddress }; createTransactionRequest request = new createTransactionRequest { transactionRequest = transRequestType }; var contoller = new createTransactionController(request); contoller.Execute(); var response = contoller.GetApiResponse(); if (response == null) { if (response.messages.resultCode == messageTypeEnum.Ok) { return("Groomed to Perfection ;{"); } } else { return("Not Groomed :["); } return("Not Groomed :["); }
public string Run() { // decalred the type of environment ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // setup our merchant account credentials ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new AuthorizeNet.Api.Contracts.V1.merchantAuthenticationType() { name = _config["AuthorizeLoginid"], ItemElementName = ItemChoiceType.transactionKey, Item = _config["AuthorizeTransactionKey"] }; // create the card we want on file. // I want you to store these in your secrets file, adn choose a dropdown for the user in the checkout process var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "1020", cardCode = "555" }; customerAddressType billingAddress = GetsBillingAddress(3); //declare that thuse is going to use an existing Credit Cart to pay var paymentType = new paymentType { Item = creditCard }; // // make the transactionRequest var transRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = 150.75m, payment = paymentType, billTo = billingAddress }; // made teh transaction type, now we need to make the request var request = new createTransactionRequest { transactionRequest = transRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); return(""); }
/// <summary> /// controllers.Base for authorize.net. Sets up the environment needed for authorize.net to run. We had also created/ set up a credit card, sets up our transactions /// </summary> /// <param name="checkoutInput">The users input from the checkout form</param> /// <returns></returns> public string Run(CheckoutInput checkoutInput) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = _config["AN-ApiLoginID"], ItemElementName = ItemChoiceType.transactionKey, Item = _config["AN-TransactionKey"] }; // creates the credits cards and passes in the type of card the user chooses to use. Either it be mastercard, visa, or american express var creditCard = new creditCardType { cardNumber = checkoutInput.Payment, expirationDate = "1021", cardCode = "102" }; customerAddressType billingAddress = GetAddress(checkoutInput); var paymentType = new paymentType { Item = creditCard }; var transaction = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = 200.0m, payment = paymentType, billTo = billingAddress }; var request = new createTransactionRequest { transactionRequest = transaction }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); // if the response fails, the user will see an error that the payment has failed to recieve a response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { return("Response recieved."); } } return("Failed to recieve response"); }
public void SampleCodeCreateTransaction() { LogHelper.info(Logger, "Sample createTransaction"); ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = TestEnvironment; //create a transaction var transactionRequestType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = SetValidTransactionAmount(Counter), payment = PaymentOne, order = OrderType, customer = CustomerDataOne, billTo = CustomerAddressOne, }; var createRequest = new createTransactionRequest { refId = RefId, transactionRequest = transactionRequestType, }; //create controller, execute request and get response var createController = new createTransactionController(createRequest); createController.Execute(); var createResponse = createController.GetApiResponse(); //Test response Assert.IsNotNull(createResponse.transactionResponse); LogHelper.info(Logger, "Response: {0}", createResponse); DisplayResponse(createResponse, "Create Transaction Response"); LogHelper.info(Logger, "Created Transaction: {0}", createResponse.transactionResponse); Assert.IsNotNull(createResponse.transactionResponse.transId); long transId; Assert.IsTrue(long.TryParse(createResponse.transactionResponse.transId, out transId)); if (0 == transId) { ValidateFailure <createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse); Assert.IsNotNull(createResponse.transactionResponse.errors); foreach (var error in createResponse.transactionResponse.errors) { LogHelper.info(Logger, "Error-> Code:{0}, Text:{1}", error.errorCode, error.errorText); } } else { Assert.AreNotEqual(0, transId); ValidateSuccess <createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse); } }
/// <summary> /// Capture a Transaction Previously Submitted Via CaptureOnly /// </summary> /// <param name="ApiLoginID">Your ApiLoginID</param> /// <param name="ApiTransactionKey">Your ApiTransactionKey</param> /// <param name="TransactionAmount">The amount submitted with CaptureOnly</param> /// <param name="TransactionID">The TransactionID of the previous CaptureOnly operation</param> public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal TransactionAmount, string TransactionID) { Console.WriteLine("Capture Previously Authorized Amount"); 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 transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(), // capture prior only amount = TransactionAmount, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null && response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else if (response != null) { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } return(response); }
public static void Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Charge Customer Profile"); 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 }; //create a customer payment profile customerProfilePaymentType profileToCharge = new customerProfilePaymentType(); profileToCharge.customerProfileId = "36731856"; profileToCharge.paymentProfile = new paymentProfile { paymentProfileId = "33211899" }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // refund type amount = 2.00m, profile = profileToCharge }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the collector that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
public void SampleCodeCreateTransaction() { LogHelper.info(Logger, "Sample createTransaction"); ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; //create a transaction var transactionRequestType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = SetValidTransactionAmount(Counter), payment = PaymentOne, order = OrderType, customer = CustomerDataOne, billTo = CustomerAddressOne, }; var createRequest = new createTransactionRequest { refId = RefId, transactionRequest = transactionRequestType, }; //create controller, execute request and get response var createController = new createTransactionController(createRequest); createController.Execute(); var createResponse = createController.GetApiResponse(); //Test response Assert.IsNotNull(createResponse.transactionResponse); LogHelper.info(Logger, "Response: {0}", createResponse); DisplayResponse(createResponse, "Create Transaction Response"); LogHelper.info(Logger, "Created Transaction: {0}", createResponse.transactionResponse); Assert.IsNotNull(createResponse.transactionResponse.transId); long transId; Assert.IsTrue( long.TryParse(createResponse.transactionResponse.transId, out transId)); if (0 == transId) { ValidateFailure<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse); Assert.IsNotNull(createResponse.transactionResponse.errors); foreach (var error in createResponse.transactionResponse.errors) { LogHelper.info(Logger, "Error-> Code:{0}, Text:{1}", error.errorCode, error.errorText); } } else { Assert.AreNotEqual(0, transId); ValidateSuccess<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse); } }
public createTransactionResponse RunCard(int orderAmount, string expDate, string number) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = _configuration.GetConnectionString("AuthorizeNet:ClientId"), ItemElementName = ItemChoiceType.transactionKey, Item = _configuration.GetConnectionString("Authorize:TransactionKey"), }; var creditCard = new creditCardType { cardNumber = number, expirationDate = expDate }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; // Set Max for Payment if (orderAmount > 4000) { orderAmount = 4000; } var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = orderAmount, payment = paymentType }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); return(response); }
public ANetApiResponse RefundTransaction(decimal TransactionAmount, string TransactionID, string cardNumber) { Console.WriteLine("Refund Transaction"); ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = "35WkY7AsU", ItemElementName = ItemChoiceType.transactionKey, Item = "85T8Hsv4JMu76P5b" }; var creditCard = new creditCardType { cardNumber = cardNumber, expirationDate = "XXXX" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.refundTransaction.ToString(), // refund type payment = paymentType, amount = TransactionAmount, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); // validate response return(response); }
public static AuthorizeNetResponse CapturePreviouslyAuthorizeAmount(decimal amount, string transactionId, bool simulation = false) { AuthorizeNetResponse finalResponse = new AuthorizeNetResponse(); try { InitEnvironmentAndAccount(simulation); //if (simulation) // ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX; //else // ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.PRODUCTION; //// define the merchant information (authentication / transaction id) //ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType() //{ // name = apiLoginId, // ItemElementName = ItemChoiceType.transactionKey, // Item = apiTransactionKey //}; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(), // capture prior only amount = amount, refTransId = transactionId }; System.Net.ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; // .net3.5沒有Tls12 var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); finalResponse = ParseResponse(response); } catch (Exception ex) { finalResponse = GenerateExceptionResponse(ex.Message); } return(finalResponse); }
public static createTransactionController DebitBankAccount(bankAccountType bankAccount, lineItemType[] lineItems, customerAddressType address, decimal billamount, int invoiceNumber) { 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 bankAccount = new bankAccountType //{ // accountNumber = "4111111", // routingNumber = "325070760", // echeckType = echeckTypeEnum.WEB, // change based on how you take the payment (web, telephone, etc) // nameOnAccount = "Test Name" //}; //standard api call to retrieve response var paymentType = new paymentType { Item = bankAccount }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = billamount, payment = paymentType, lineItems = lineItems, billTo = address }; var order = new AuthorizeNet.Api.Contracts.V1.orderType { invoiceNumber = "INV-" + invoiceNumber.ToString(), description = "Product Purchases" }; transactionRequest.order = order; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) return(controller); }
//private string authorizeNetUrl = "https://apitest.authorize.net/xml/v1/request.api"; //private string authorizeNetUrl = "https://api.authorize.net/xml/v1/request.api"; public createTransactionResponse RunCharge(String ApiLoginID, String ApiTransactionKey, creditCardType creditCard, customerAddressType billingAddress, lineItemType[] lineItems, decimal amount) { 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, }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = amount, payment = paymentType, billTo = billingAddress, lineItems = lineItems }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); // validate response if (response != null) { return(response); } else { return(null); } }
private long GetTransactionId() { //Creates a credit card transaction and returns the transactions ID. //Common code to set for all requests ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = TestEnvironment; //set up data based on transaction var transactionAmount = SetValidTransactionAmount(Counter); var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0622" }; var aCustomer = new customerDataType { email = string.Format("{0}@b.bla", Counter) }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), payment = paymentType, amount = transactionAmount, customer = aCustomer, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //validate Assert.NotNull(response); Assert.NotNull(response.messages); Assert.NotNull(response.transactionResponse); Assert.AreEqual(messageTypeEnum.Ok, response.messages.resultCode); Assert.False(string.IsNullOrEmpty(response.transactionResponse.transId)); long transactionId; long.TryParse(response.transactionResponse.transId, out transactionId); Assert.AreNotEqual(0, transactionId); return(transactionId); }
public static createTransactionController ChargeCreditCard(creditCardType creditCard, lineItemType[] lineItems, customerAddressType address, decimal billamount, int invoiceNumber) { 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 creditCard = new creditCardType //{ // cardNumber = "4111111111111111", // expirationDate = "0718", // cardCode = "123" //}; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = billamount, payment = paymentType, lineItems = lineItems, billTo = address }; var order = new AuthorizeNet.Api.Contracts.V1.orderType { invoiceNumber = "INV-" + invoiceNumber.ToString(), description = "Product Purchases" }; transactionRequest.order = order; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) return(controller); }
//private string authorizeNetUrl = "https://apitest.authorize.net/xml/v1/request.api"; //private string authorizeNetUrl = "https://api.authorize.net/xml/v1/request.api"; //NOTE: cardCode not a required element of creditCardType for a refund, and only last four numbers of cardNumber needeed public createTransactionResponse RunRefund(String ApiLoginID, String ApiTransactionKey, creditCardType creditCard, decimal TransactionAmount, string TransactionID) { 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 }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.refundTransaction.ToString(), // refund type payment = paymentType, amount = TransactionAmount, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the controller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); // validate response if (response != null) { return(response); } else { return(null); } }
public void TransactionRequest_HandleError() { LogHelper.info(Logger, "CreateProfileWithCreateTransactionRequestTest"); ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = TestEnvironment; //create a transaction var transactionRequestType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = SetValidTransactionAmount(Counter), payment = new paymentType { Item = new creditCardType { cardNumber = "0111111111111111", expirationDate = "122035" } }, order = OrderType, customer = CustomerDataOne, billTo = CustomerAddressOne, shipTo = CustomerAddressOne, }; var createRequest = new createTransactionRequest { refId = RefId, transactionRequest = transactionRequestType, }; //create controller, execute and get response var createController = new createTransactionController(createRequest); createController.Execute(); var createResponse = createController.GetApiResponse(); //Validate error code where request is submitted properly, but request fails. Assert.AreEqual("6", createResponse.transactionResponse.errors[0].errorCode); //Validate error code where submission of request fails. ((creditCardType)transactionRequestType.payment.Item).cardNumber = "01"; createController = new createTransactionController(createRequest); createController.Execute(); if (createController.GetApiResponse() == null) { var errorResponse = createController.GetErrorResponse(); Assert.AreEqual("E00003", errorResponse.messages.message[0].code); } }
/// <summary> /// Running authorization net /// </summary> /// <param name="addressType">Addresstype object that carries user's information</param> /// <param name="totalAmount">total amount that user owes</param> /// <returns>boolean if the payment went through</returns> public bool Run(customerAddressType addressType, decimal totalAmount) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType { name = _config["An-ApiId"], ItemElementName = ItemChoiceType.transactionKey, Item = _config["An-TransactionKey"] }; var CreditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0521", cardCode = "102" }; var paymentType = new paymentType { Item = CreditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = totalAmount, payment = paymentType, billTo = addressType }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { return(true); } } return(false); }
public void SampleCodeCreateUnlinkedCredit() { ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; decimal txnAmount = SetValidTransactionAmount(Counter) / 100; //Set payment info for credit var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0622" }; var paymentType = new paymentType { Item = creditCard }; //Create credit request transactionRequestType txnType = new transactionRequestType { amount = txnAmount, transactionType = transactionTypeEnum.refundTransaction.ToString(), payment = paymentType, }; createTransactionRequest creditReq = new createTransactionRequest { transactionRequest = txnType }; createTransactionController creditCont = new createTransactionController(creditReq); creditCont.Execute(); createTransactionResponse creditResp = creditCont.GetApiResponse(); //validate Assert.AreEqual("1", creditResp.transactionResponse.messages[0].code); }
/// <summary> /// Capture a Transaction Previously Submitted Via CaptureOnly /// </summary> /// <param name="ApiLoginID">Your ApiLoginID</param> /// <param name="ApiTransactionKey">Your ApiTransactionKey</param> /// <param name="TransactionAmount">The amount submitted with CaptureOnly</param> /// <param name="TransactionID">The TransactionID of the previous CaptureOnly operation</param> public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal TransactionAmount, string TransactionID) { Console.WriteLine("Capture Previously Authorized Amount"); 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 transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(), // capture prior only amount = TransactionAmount, refTransId = TransactionID }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }
public void SampleCodeCreateTransactionPriorAuthCapture() { //Common code to set for all requests ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; //set up data based on transaction var transactionAmount = SetValidTransactionAmount(Counter); var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0622" }; //Build auth only transaction request. var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), payment = paymentType, amount = transactionAmount, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //Get transaction details var getDetailsReq = new getTransactionDetailsRequest { transId = response.transactionResponse.transId }; var getDetailsCont = new getTransactionDetailsController(getDetailsReq); getDetailsCont.Execute(); var getDetailsResp = getDetailsCont.GetApiResponse(); //Build and execute the capture request. var capCC = new creditCardType { cardNumber = ((creditCardMaskedType)(getDetailsResp.transaction.payment.Item)).cardNumber.TrimStart(new char[] { 'X' }), expirationDate = "XXXX", }; var capPayment = new paymentType { Item = capCC }; var capTransactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(), refTransId = getDetailsResp.transaction.transId, authCode = getDetailsResp.transaction.authCode, }; request = new createTransactionRequest { transactionRequest = capTransactionRequest }; controller = new createTransactionController(request); controller.Execute(); var capResponse = controller.GetApiResponse(); //validate Assert.AreEqual("1", capResponse.transactionResponse.messages[0].code); }
public void TransactionRequest_HandleError() { LogHelper.info(Logger, "CreateProfileWithCreateTransactionRequestTest"); ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; //create a transaction var transactionRequestType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = SetValidTransactionAmount(Counter), payment = new paymentType { Item = new creditCardType { cardNumber = "0111111111111111", expirationDate = "122035" } }, order = OrderType, customer = CustomerDataOne, billTo = CustomerAddressOne, shipTo = CustomerAddressOne, }; var createRequest = new createTransactionRequest { refId = RefId, transactionRequest = transactionRequestType, }; //create controller, execute and get response var createController = new createTransactionController(createRequest); createController.Execute(); var createResponse = createController.GetApiResponse(); //Validate error code where request is submitted properly, but request fails. Assert.AreEqual("6", createResponse.transactionResponse.errors[0].errorCode); //Validate error code where submission of request fails. ((creditCardType)transactionRequestType.payment.Item).cardNumber = "01"; createController = new createTransactionController(createRequest); createController.Execute(); if (createController.GetApiResponse() == null) { var errorResponse = createController.GetErrorResponse(); Assert.AreEqual("E00003", errorResponse.messages.message[0].code); } }
public void CreateTransactionFromProfile() { //Creates a customer profile and customer payment profile //Then uses those profiles to create a transaction request //Common code to set for all requests ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; Random rnd = new Random(DateTime.Now.Millisecond); string profileRandom = rnd.Next(9999).ToString(); //Create profile to use in transaction creation var profileShipTo = new customerAddressType { address = profileRandom + " First St NE", city = "Bellevue", state = "WA", zip = "98007", company = "Sample Co " + profileRandom, country = "USA", firstName = "Sample" + profileRandom, lastName = "Name" + profileRandom, phoneNumber = "425 123 4567", }; var paymentProfile = new customerPaymentProfileType { billTo = profileShipTo, customerType = customerTypeEnum.individual, payment = new paymentType { Item = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0622" } }, }; var createProfileReq = new createCustomerProfileRequest { profile = new customerProfileType { description = "SampleProfile " + profileRandom, email = "SampleEmail" + profileRandom + "@Visa.com", shipToList = new customerAddressType[] { profileShipTo }, paymentProfiles = new customerPaymentProfileType[] { paymentProfile } } }; var createProfileCont = new createCustomerProfileController(createProfileReq); createProfileCont.Execute(); var createProfileResp = createProfileCont.GetApiResponse(); //Get profile using getCustomerProfileRequest var getCustReq = new getCustomerProfileRequest { customerProfileId = createProfileResp.customerProfileId }; var getCustCont = new getCustomerProfileController(getCustReq); getCustCont.Execute(); var getCustResp = getCustCont.GetApiResponse(); //Create Transaction //Create instance of customer payment profile using the profile IDs from the profile we loaded above. var custPaymentProfile = new AuthorizeNet.Api.Contracts.V1.customerProfilePaymentType { customerProfileId = getCustResp.profile.customerProfileId, paymentProfile = new paymentProfile { paymentProfileId = getCustResp.profile.paymentProfiles[0].customerPaymentProfileId } }; var testTxn = new transactionRequestType { profile = custPaymentProfile, amount = (decimal)rnd.Next(9999) / 100, transactionType = transactionTypeEnum.authCaptureTransaction.ToString() }; var txnControler = new createTransactionController(new createTransactionRequest { transactionRequest = testTxn }); txnControler.Execute(); var txnControlerResp = txnControler.GetApiResponse(); //verify transaction succeeded. Assert.AreEqual("1", txnControlerResp.transactionResponse.messages[0].code); }
public void CreateTransactionWithECheckCapturePriorAuth() { //Common code to set for all requests ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; var rnd = new AnetRandom(DateTime.Now.Millisecond); //Build and submit an Auth only transaction that can later be captured. //set up data based on transaction var transactionAmount = SetValidTransactionAmount(Counter); var echeck = new bankAccountType { accountNumber = "123456", accountType = bankAccountTypeEnum.checking, checkNumber = "1234", bankName = "Bank of Seattle", routingNumber = "125000024", echeckType = echeckTypeEnum.WEB, nameOnAccount = "Joe Customer" }; //standard api call to retrieve response var paymentType = new paymentType { Item = echeck }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), payment = paymentType, amount = transactionAmount, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //Get transaction details var getDetailsReq = new getTransactionDetailsRequest { transId = response.transactionResponse.transId }; var getDetailsCont = new getTransactionDetailsController(getDetailsReq); getDetailsCont.Execute(); var getDetailsResp = getDetailsCont.GetApiResponse(); //Build and execute the capture request. var capECheck = new bankAccountType { accountNumber = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).accountNumber.TrimStart(new char[] { 'X' }), routingNumber = "XXXX", nameOnAccount = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).nameOnAccount, bankName = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).bankName, echeckType = ((AuthorizeNet.Api.Contracts.V1.bankAccountMaskedType)(getDetailsResp.transaction.payment.Item)).echeckType, }; var capPayment = new paymentType { Item = capECheck }; var capTransactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.priorAuthCaptureTransaction.ToString(), refTransId = getDetailsResp.transaction.transId, }; request = new createTransactionRequest { transactionRequest = capTransactionRequest }; controller = new createTransactionController(request); controller.Execute(); var capResponse = controller.GetApiResponse(); //validate Assert.AreEqual("1", capResponse.transactionResponse.messages[0].code); }
public void CreateCustomerProfileFromECheckTransaction() { var rnd = new AnetRandom(DateTime.Now.Millisecond); string customerIndx = rnd.Next(99999).ToString(); ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; //set up data based on transaction var transactionAmount = SetValidTransactionAmount(Counter); var echeck = new bankAccountType { accountNumber = "123456", accountType = bankAccountTypeEnum.checking, checkNumber = "1234", bankName = "Bank of Seattle", routingNumber = "125000024", echeckType = echeckTypeEnum.WEB, nameOnAccount = "Joe Customer" }; //Create and submit transaction with customer info to create profile from. var paymentType = new paymentType { Item = echeck }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), payment = paymentType, amount = (decimal)transactionAmount, customer = new customerDataType { email = string.Format("Customer{0}@visa.com", customerIndx), taxId = string.Format("{0}{1}{2}", rnd.Next(999).ToString("000"), rnd.Next(99).ToString("00"), rnd.Next(9999).ToString("0000")) }, billTo = new customerAddressType { firstName = "New", lastName = string.Format("Customer{0}", customerIndx), company = "New Company", address = "1234 Sample St NE", city = "Bellevue", state = "WA", zip = "98001" }, shipTo = new customerAddressType { firstName = "New", lastName = string.Format("Customer{0}", customerIndx), company = "New Company", address = "1234 Sample St NE", city = "Bellevue", state = "WA", zip = "98001" } }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //Verify that transaction was accepted and save the transaction ID Assert.AreEqual(messageTypeEnum.Ok, response.messages.resultCode); string txnID = response.transactionResponse.transId; //Build and submit request to create Customer Profile based on the accepted transaction createCustomerProfileFromTransactionRequest profileFromTransReq = new createCustomerProfileFromTransactionRequest(); profileFromTransReq.transId = txnID; createCustomerProfileFromTransactionController profileFromTrxnController = new createCustomerProfileFromTransactionController(profileFromTransReq); profileFromTrxnController.Execute(); createCustomerProfileResponse createProfResp = profileFromTrxnController.GetApiResponse(); Assert.AreEqual(messageTypeEnum.Ok, createProfResp.messages.resultCode); //Get customer profile and verify that profile data matches the data submitted with the transaction getCustomerProfileRequest profileReq = new getCustomerProfileRequest { customerProfileId = createProfResp.customerProfileId }; getCustomerProfileController getCustContr = new getCustomerProfileController(profileReq); getCustContr.Execute(); var getCustResp = getCustContr.GetApiResponse(); //validate Assert.AreEqual("1", response.transactionResponse.messages[0].code); }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, Decimal Amount) { Console.WriteLine("Create an Accept 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, }; //set up data based on transaction var opaqueData = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = "9471471570959063005001" }; //standard api call to retrieve response var paymentType = new paymentType { Item = opaqueData }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // authorize and capture transaction amount = Amount, payment = paymentType }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created an accept transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) { Console.WriteLine("Charge Credit Card 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 creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718", cardCode = "123" }; var billingAddress = new customerAddressType { firstName = "John", lastName = "Doe", address = "123 My St", city = "OurTown", zip = "98004" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; // Add line Items var lineItems = new lineItemType[2]; lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) }; lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(450.00) }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = amount, payment = paymentType, billTo = billingAddress, lineItems = lineItems }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }
public void SampleCodeCreateTransactionUsingProfile() { LogHelper.info(Logger, "Sample createTransaction using Profile"); ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; // Use CIM to create the profile we're going to charge var customerProfileId = "0"; var paymentProfileId = "0"; Assert.IsTrue(createProfile(out customerProfileId, out paymentProfileId)); //create a customer payment profile customerProfilePaymentType profileToCharge = new customerProfilePaymentType(); profileToCharge.customerProfileId = customerProfileId; profileToCharge.paymentProfile = new paymentProfile { paymentProfileId = paymentProfileId}; var transactionRequestType = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = SetValidTransactionAmount(Counter), profile = profileToCharge }; var createRequest = new createTransactionRequest { refId = RefId, transactionRequest = transactionRequestType, }; //create controller, execute and get response var createController = new createTransactionController(createRequest); createController.Execute(); var createResponse = createController.GetApiResponse(); //test response Assert.IsNotNull(createResponse.transactionResponse); LogHelper.info(Logger, "Response: {0}", createResponse); DisplayResponse(createResponse, "Create Transaction Response"); LogHelper.info(Logger, "Created Transaction: {0}", createResponse.transactionResponse); Assert.IsNotNull(createResponse.transactionResponse.transId); long transId; Assert.IsTrue(long.TryParse(createResponse.transactionResponse.transId, out transId)); if (0 == transId) { ValidateFailure<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse); Assert.IsNotNull(createResponse.transactionResponse.errors); foreach (var error in createResponse.transactionResponse.errors) { LogHelper.info(Logger, "Error-> Code:{0}, Text:{1}", error.errorCode, error.errorText); } } else { Assert.AreNotEqual(0, transId); ValidateSuccess<createTransactionRequest, createTransactionResponse, createTransactionController>(createController, createResponse); } }
public static void Run(String ApiLoginID, String ApiTransactionKey) { Console.WriteLine("Charge Credit Card 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 creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718", cardCode = "123" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; // Add line Items var lineItems = new lineItemType[2]; lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) }; lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(450.00) }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = 133.45m, payment = paymentType, lineItems = lineItems }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse != null) { Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } } else { Console.WriteLine("Error: " + response.messages.message[0].code + " " + response.messages.message[0].text); if (response.transactionResponse != null) { Console.WriteLine("Transaction Error : " + response.transactionResponse.errors[0].errorCode + " " + response.transactionResponse.errors[0].errorText); } } }
private long GetTransactionId() { //Creates a credit card transaction and returns the transactions ID. //Common code to set for all requests ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; //set up data based on transaction var transactionAmount = SetValidTransactionAmount(Counter); var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0622" }; var aCustomer = new customerDataType { email = string.Format( "{0}@b.bla", Counter)}; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), payment = paymentType, amount = transactionAmount, customer = aCustomer, }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); //validate Assert.NotNull(response); Assert.NotNull(response.messages); Assert.NotNull(response.transactionResponse); Assert.AreEqual(messageTypeEnum.Ok, response.messages.resultCode); Assert.False(string.IsNullOrEmpty(response.transactionResponse.transId)); long transactionId; long.TryParse(response.transactionResponse.transId, out transactionId); Assert.AreNotEqual(0, transactionId); return transactionId; }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) { Console.WriteLine("Charge Track Data 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, }; // You can pass either track 1 or track 2 but not both var trackData = new creditCardTrackType { ItemElementName = ItemChoiceType1.track2, Item = "4111111111111111=170310199999888" }; //standard api call, simply use cardData in place of creditcard type var paymentType = new paymentType { Item = trackData }; // Add line Items var lineItems = new lineItemType[2]; lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) }; lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(450.00) }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = amount, payment = paymentType, lineItems = lineItems, // Retail data required for POS transactions retail = new transRetailInfoType { deviceType = "1", marketType = "2" } }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, string customerProfileId, string customerPaymentProfileId, decimal Amount) { Console.WriteLine("Charge Customer Profile"); 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 }; //create a customer payment profile customerProfilePaymentType profileToCharge = new customerProfilePaymentType(); profileToCharge.customerProfileId = customerProfileId; profileToCharge.paymentProfile = new paymentProfile { paymentProfileId = customerPaymentProfileId }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // refund type amount = Amount, profile = profileToCharge }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the collector that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal Amount) { Console.WriteLine("PayPal Authorize Only Transaction"); 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 payPalType = new payPalType { cancelUrl = "http://www.merchanteCommerceSite.com/Success/TC25262", successUrl = "http://www.merchanteCommerceSite.com/Success/TC25262", // the url where the user will be returned to }; //standard api call to retrieve response var paymentType = new paymentType { Item = payPalType }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authOnlyTransaction.ToString(), // capture the card only payment = paymentType, amount = Amount }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }
public void CreateCreditRequestForSettledECheckTransaction() { var rnd = new AnetRandom(DateTime.Now.Millisecond); ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; // Find a settled credit card transaction and set txnToCredit to its transaction ID string txnToCredit = "Not Set"; if (txnToCredit == "Not Set") { Assert.Fail("This test requires that you set txnToCredit to the transaction ID of a settled eCheck card transaction"); } //get details of the specified transaction decimal txnAmount = 0m; string txnCardNo = string.Empty; var gtdReq = new getTransactionDetailsRequest { transId = txnToCredit }; var gtdCont = new getTransactionDetailsController(gtdReq); gtdCont.Execute(); var gtdResp = gtdCont.GetApiResponse(); txnAmount = gtdResp.transaction.settleAmount; txnCardNo = ((AuthorizeNet.Api.Contracts.V1.creditCardMaskedType)(gtdResp.transaction.payment.Item)).cardNumber; //Create payment type that matches transaction to credit var creditCard = new creditCardType { cardNumber = txnCardNo.TrimStart(new char[] { 'X' }), expirationDate = "XXXX" }; var paymentType = new paymentType { Item = creditCard }; //Create credit request transactionRequestType txnType = new transactionRequestType { amount = txnAmount, refTransId = txnToCredit, transactionType = transactionTypeEnum.refundTransaction.ToString(), payment = paymentType, }; createTransactionRequest creditReq = new createTransactionRequest { transactionRequest = txnType }; createTransactionController creditCont = new createTransactionController(creditReq); creditCont.Execute(); createTransactionResponse creditResp = creditCont.GetApiResponse(); //validate Assert.AreEqual("1", creditResp.transactionResponse.messages[0].code); }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) { Console.WriteLine("Charge Encrypted Track Data 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, }; // Track data goes in EncryptedTrack Data Type var cardData = new encryptedTrackDataType(); // KeyManagementScheme corresponds to the encryption settings and data from the reader var scheme = new KeyManagementScheme(); scheme.DUKPT = new KeyManagementSchemeDUKPT { Operation = OperationType.DECRYPT, DeviceInfo = new KeyManagementSchemeDUKPTDeviceInfo { Description = "4649443D4944544543482E556E694D61672E416E64726F69642E53646B7631" }, EncryptedData = new KeyManagementSchemeDUKPTEncryptedData { Value = "02f300801f342600039b252a343237352a2a2a2a2a2a2a2a353637355e332f54455354205e2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3f2a3b343237352a2a2a2a2a2a2a2a353637353d2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a2a3f2a521db2603bfe6169fc371211161c4ad6edd7294a8352af1ba8b388c527d8d6335286413ad67521b8be085da998cef7ae3621b0b72eecd6d61953a4a268e02a8cdff3d365216df73646b326d8dac369c11a2a3a4a9336addc4a15ae5d8843e0163bae895b9b4df3253439b4dd885363ad108604ea04f2e4fac701a5a0e65c54e1301a5ed7706eb88762994901000000400015ac1e03" }, Mode = new KeyManagementSchemeDUKPTMode { Data = null, PIN = "1" } }; cardData.FormOfPayment = new KeyBlock { Value = new KeyValue { Encoding = EncodingType.Hex, EncryptionAlgorithm = EncryptionAlgorithmType.TDES, Scheme = scheme } }; //standard api call, simply use cardData in place of creditcard type var paymentType = new paymentType { Item = cardData }; // Add line Items var lineItems = new lineItemType[2]; lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) }; lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(450.00) }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = amount, payment = paymentType, lineItems = lineItems, // Retail data required for POS transactions retail = new transRetailInfoType { deviceType = "1", marketType = "2" } }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }
public void CreateTransactionInvalidRequestSchemaValidationTest() { ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = CustomMerchantAuthenticationType; ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = TestEnvironment; //create a transaction var transactionRequestType = new transactionRequestType { //removing the transaction type here is important to expect the schema validation error //transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = SetValidTransactionAmount(Counter), payment = PaymentOne, order = OrderType, customer = CustomerDataOne, billTo = CustomerAddressOne, }; var createRequest = new createTransactionRequest { refId = RefId, transactionRequest = transactionRequestType, }; //create controller, execute and get response var createController = new createTransactionController(createRequest); createController.Execute(); var createResponse = createController.GetApiResponse(); //validate response Assert.IsNull(createResponse); var errorResponse = createController.GetErrorResponse(); Assert.IsNotNull(errorResponse); Assert.IsNotNull(errorResponse.messages); Assert.IsNotNull(errorResponse.messages.message); Assert.AreEqual(messageTypeEnum.Error, errorResponse.messages.resultCode); Assert.AreEqual(1, errorResponse.messages.message.Length); Assert.AreEqual("E00003", errorResponse.messages.message[0].code); ValidateErrorCode(errorResponse.messages, "E00003"); }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal Amount) { Console.WriteLine("Running CaptureFundsAuthorizedThroughAnotherChannel 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 creditCard = new creditCardType { // Change the cardNumber and expiration Date as required cardNumber = "4111111111111111", expirationDate = "0718" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { // capture the funds that authorized through another channel transactionType = transactionTypeEnum.captureOnlyTransaction.ToString(), // Change the amount that needs to be captured as required amount = Amount, payment = paymentType, // Change the authCode that came from successfully authorized transaction through any channel. authCode = "ROHNFQ" }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if(response.transactionResponse.messages != null) { Console.WriteLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); Console.WriteLine("Response Code: " + response.transactionResponse.responseCode); Console.WriteLine("Message Code: " + response.transactionResponse.messages[0].code); Console.WriteLine("Description: " + response.transactionResponse.messages[0].description); Console.WriteLine("Success, Auth Code : " + response.transactionResponse.authCode); } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { Console.WriteLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); } return response; }