public string SubmitOrder(HomeViewModel model) { //submit the order to processor ChargeCreditCardClient authnetChargeClient = new ChargeCreditCardClient(); creditCardType creditCard = new creditCardType { cardNumber = model.CreditCard.CardNumber, expirationDate = String.Format("{0:00}", model.CreditCard.ExpMonth) + String.Format("{0:00}", model.CreditCard.ExpYear), cardCode = model.CreditCard.CardCode }; customerAddressType billingAddress = new customerAddressType { firstName = model.CreditCard.BillFirstName, lastName = model.CreditCard.BillLastName, address = model.CreditCard.BillStreet, city = model.CreditCard.BillCity, state = model.CreditCard.BillState, zip = model.CreditCard.BillZip }; int linecount = model.Order.Items.Count; lineItemType[] lineItems = new lineItemType[linecount + 3]; for (int i = 0; i < linecount; i++) { lineItems[i] = new lineItemType { itemId = i.ToString(), name = model.Order.Items[i].ProductName + ", " + model.Order.Items[i].ProductShortDescr, quantity = model.Order.Items[i].Quantity, unitPrice = model.Order.Items[i].UnitPrice }; } lineItems[linecount] = new lineItemType { itemId = linecount.ToString(), name = "Tax", quantity = 1m, unitPrice = model.Order.Tax }; lineItems[linecount + 1] = new lineItemType { itemId = (linecount + 1).ToString(), name = "Shipping and Handling", quantity = 1m, unitPrice = model.Order.ShipHand }; lineItems[linecount + 2] = new lineItemType { itemId = (linecount + 2).ToString(), name = "Adjustment", quantity = 1m, unitPrice = model.Order.Adjustment }; string authorizeNetApiLoginID = ConfigurationManager.AppSettings["authorizeNetApiLoginID"]; string authorizeNetApiTransactionKey = ConfigurationManager.AppSettings["authorizeNetApiTransactionKey"]; //Debug.WriteLine("If this were real, your charge would be processed HERE"); //return "HI!"; createTransactionResponse response = authnetChargeClient.RunCharge(authorizeNetApiLoginID, authorizeNetApiTransactionKey, creditCard, billingAddress, lineItems, model.Order.Total); model.ResponseCode = response.transactionResponse.responseCode; model.TransactionId = response.transactionResponse.transId; model.AuthorizationCode = response.transactionResponse.authCode; //save the order in the Db model.Order.CardLastFour = model.CreditCard.CardNumber.Substring(model.CreditCard.CardNumber.Length - 4); model.Order.TransactionId = model.TransactionId; model.Order.ResponseCode = model.ResponseCode; model.Order.AuthorizationCode = model.AuthorizationCode; repository.AddOrderAsync(model.Order, false); string subject = "New MagnoVault order"; string content = "<p>A new order was submitted:</p><p>" + model.Order.ShipFirstName + " " + model.Order.ShipLastName + "</p><p> + " + linecount + " line items totalling $" + model.Order.Total + "</p>"; SendEmail(subject, content); //return the response from the gateway return model.ResponseCode; }
public static void lineItemType(lineItemType request) { if (null != request) { if (request.taxable) { request.taxableSpecified = true; } } }
public ActionResult AuthorizeNetSandbox(HomeViewModel model) { ChargeCreditCardClient authnetChargeClient = new ChargeCreditCardClient(); creditCardType creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718", cardCode = "123" }; customerAddressType billingAddress = new customerAddressType { firstName = "John", lastName = "Doe", address = "123 My St", city = "OurTown", zip = "98004" }; lineItemType[] 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) }; createTransactionResponse response = authnetChargeClient.RunCharge(authorizeNetApiLoginID, authorizeNetApiTransactionKey, creditCard, billingAddress, lineItems, 99.75m); model.ResponseCode = response.transactionResponse.responseCode; model.TransactionId = response.transactionResponse.transId; model.AuthorizationCode = response.transactionResponse.authCode; return View(model); //RefundTransactionClient authnetRefundClient = new RefundTransactionClient(); //creditCardType creditCard = new creditCardType //{ // cardNumber = "1111", // expirationDate = "XXXX" //}; //decimal amount = 99.75m; //string transactionId = "12345"; //createTransactionResponse response = authnetRefundClient.RunRefund(authorizeNetApiLoginID, authorizeNetApiTransactionKey, creditCard, amount, transactionId); //model.ResponseCode = Int32.Parse(response.transactionResponse.responseCode); //model.TransactionId = response.transactionResponse.transId; //model.AuthorizationCode = response.transactionResponse.authCode; //return View(model); }
/// <summary> /// gets line item list and the count of the items. /// </summary> /// <param name="products"></param> /// <returns> line item </returns> private lineItemType[] GetLineItemTypes(List <Coffee> products) { lineItemType[] lineitems = new lineItemType[products.Count]; int count = 0; foreach (var prod in products) { lineitems[count] = new lineItemType { itemId = "1", name = " product name", quantity = 11, unitPrice = new Decimal(5.00) }; count++; } return(lineitems); }
/// <summary> /// Method that takes in a UserViewModel to access the /// appropriate product information from the cartitems. /// This allows for us to dynamically create a sales transaction /// </summary> /// <param name="uvm">UserViewModel</param> /// <returns>LineItemType array</returns> public lineItemType[] CreateLineItems(UserViewModel uvm) { var lineItems = new lineItemType[uvm.Cart.CartItems.Count]; int index = 0; foreach (CartItem item in uvm.Cart.CartItems) { lineItems[index] = new lineItemType { itemId = $"{item.Product.ID}", name = item.Product.Name, quantity = item.Quantity, unitPrice = item.Product.Price }; index++; } return(lineItems); }
public async Task<ActionResult> AddOrder(HomeViewModel model) { //submit the order to processor ChargeCreditCardClient authnetChargeClient = new ChargeCreditCardClient(); creditCardType creditCard = new creditCardType { cardNumber = model.CreditCard.CardNumber, expirationDate = String.Format("{0:00}", model.CreditCard.ExpMonth) + String.Format("{0:00}", model.CreditCard.ExpYear), cardCode = model.CreditCard.CardCode }; customerAddressType billingAddress = new customerAddressType { firstName = model.CreditCard.BillFirstName, lastName = model.CreditCard.BillLastName, address = model.CreditCard.BillStreet, city = model.CreditCard.BillCity, zip = model.CreditCard.BillZip }; lineItemType[] lineItems = new lineItemType[model.EditOrder.Items.Count + 3]; for (int i = 0; i < model.EditOrder.Items.Count; i++) { lineItems[i] = new lineItemType { itemId = i.ToString(), name = model.EditOrder.Items[i].ProductName + ", " + model.EditOrder.Items[i].ProductShortDescr, quantity = model.EditOrder.Items[i].Quantity, unitPrice = model.EditOrder.Items[i].UnitPrice }; } lineItems[model.EditOrder.Items.Count] = new lineItemType { itemId = model.EditOrder.Items.Count.ToString(), name = "Tax", quantity = 1m, unitPrice = model.EditOrder.Tax }; lineItems[model.EditOrder.Items.Count + 1] = new lineItemType { itemId = (model.EditOrder.Items.Count + 1).ToString(), name = "Shipping and Handling", quantity = 1m, unitPrice = model.EditOrder.ShipHand }; lineItems[model.EditOrder.Items.Count + 2] = new lineItemType { itemId = (model.EditOrder.Items.Count + 2).ToString(), name = "Adjustment", quantity = 1m, unitPrice = model.EditOrder.Adjustment }; createTransactionResponse response = authnetChargeClient.RunCharge(authorizeNetApiLoginID, authorizeNetApiTransactionKey, creditCard, billingAddress, lineItems, model.EditOrder.Total); model.ResponseCode = response.transactionResponse.responseCode; model.TransactionId = response.transactionResponse.transId; model.AuthorizationCode = response.transactionResponse.authCode; //save the order in the Db model.EditOrder.CardLastFour = model.CreditCard.CardNumber.Substring(model.CreditCard.CardNumber.Length - 4); model.EditOrder.TransactionId = model.TransactionId; model.EditOrder.ResponseCode = model.ResponseCode; model.EditOrder.AuthorizationCode = model.AuthorizationCode; model.Orders = await repository.AddOrderAsync(model.EditOrder, true); return View("Orders", model); }
private lineItemType[] GetLineItems(List <Product> products) { lineItemType[] items = new lineItemType[products.Count]; int count = 0; foreach (var value in products) { //COME BACK TO THIS AND FIX UP items[count] = new lineItemType { itemId = value.ID.ToString(), name = value.Name, quantity = _basket.GetAllItems().Count(), unitPrice = (decimal)value.Price }; } return(items); }
private static lineItemType[] GetArrItem(List <BasketItem> items) { lineItemType[] lineItems = new lineItemType[items.Count]; int counter = 0; foreach (BasketItem item in items) { lineItems[counter] = new lineItemType { itemId = item.Product.ID.ToString(), name = item.Product.Name, description = item.Product.Description, quantity = item.Quantity, unitPrice = item.Product.Price }; counter++; } return(lineItems); }
// bring in a List<Products> private lineItemType[] GetLineItems(List <Post> posts) { lineItemType[] items = new lineItemType[posts.Count]; int count = 0; foreach (var item in posts) { items[count] = new lineItemType { itemId = "1", name = "This is my post's name except probably a product", quantity = 5, unitPrice = 5.00m }; } return(items); }
/// <summary> /// Gets array of line items for order /// </summary> /// <param name="order">order</param> /// <returns>Array of lineItemType</returns> private lineItemType[] GetLineItems(Basket basket) { lineItemType[] items = new lineItemType[basket.BasketItems.Count]; int count = 0; foreach (BasketItem item in basket.BasketItems) { items[count] = new lineItemType { itemId = item.ID.ToString(), name = item.Product.Name, quantity = item.Quantity, unitPrice = item.Product.Price }; count++; } return(items); }
private static lineItemType[] GetLineItems(List <OrderItems> products) { //Get line items from the order var lineItems = new lineItemType[products.Count]; int count = 0; foreach (OrderItems p in products) { lineItems[count] = new lineItemType { itemId = (p.ItemID).ToString(), name = p.ItemName, unitPrice = p.Price, quantity = p.Quantity, }; count++; } return(lineItems); }
private lineItemType[] GetLineItems(List <ShoeDesignz.Models.CartItems> products) { lineItemType[] lineItems = new lineItemType[products.Count]; int count = 0; foreach (var item in products) { lineItems[count] = new lineItemType { //itemId = productsID itemId = "1", name = "SHoes", quantity = 2, unitPrice = new Decimal(4.00) }; count++; } return(lineItems); }
private static lineItemType[] GetLineItems(List <BasketItem> basketItems) { //Get line items from the order var lineItems = new lineItemType[basketItems.Count]; int count = 0; foreach (BasketItem p in basketItems) { lineItems[count] = new lineItemType { itemId = p.ProductID.ToString(), name = p.Product.Name, quantity = p.Quantity, unitPrice = p.Product.Price }; count++; } return(lineItems); }
private static lineItemType[] GetLineItems(List <Product> products) { //Get line items from the order var lineItems = new lineItemType[products.Count]; int count = 0; foreach (Product p in products) { lineItems[count] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(15.00) }; count++; } return(lineItems); }
public void AddLineItem(string ID, string name, string description, int quantity, decimal unitPrice, bool?taxable) { if (_lineItems.Any(x => x.itemId == ID)) { var line = _lineItems.First(x => x.itemId == ID); line.quantity += quantity; } else { var item = new lineItemType { description = Description, itemId = ID, name = name, quantity = quantity, unitPrice = unitPrice, }; if (taxable.HasValue) { item.taxable = taxable.Value; item.taxableSpecified = true; } _lineItems.Add(item); } }
public static String Run(String AccessToken, String CardNumber, DateTime ExpirationDate, 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() { ItemElementName = ItemChoiceType.accessToken, Item = AccessToken, }; var creditCard = new creditCardType { cardNumber = CardNumber, expirationDate = ExpirationDate.ToString("MMyy"), cardCode = "123" }; var billingAddress = new customerAddressType { firstName = "John", lastName = "Doe", address = "123 My St", city = "OurTown", zip = "99091" }; //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 StringBuilder toReturn = new StringBuilder(); if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse.messages != null) { toReturn.AppendLine("Successfully created transaction with Transaction ID: " + response.transactionResponse.transId); toReturn.AppendLine("Response Code: " + response.transactionResponse.responseCode); toReturn.AppendLine("Message Code: " + response.transactionResponse.messages[0].code); toReturn.AppendLine("Description: " + response.transactionResponse.messages[0].description); toReturn.AppendLine("Success, Auth Code : " + response.transactionResponse.authCode); } else { toReturn.AppendLine("Failed Transaction."); if (response.transactionResponse.errors != null) { toReturn.AppendLine("Error Code: " + response.transactionResponse.errors[0].errorCode); toReturn.AppendLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { toReturn.AppendLine("Failed Transaction."); if (response.transactionResponse != null && response.transactionResponse.errors != null) { toReturn.AppendLine("Error Code: " + response.transactionResponse.errors[0].errorCode); toReturn.AppendLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { toReturn.AppendLine("Error Code: " + response.messages.message[0].code); toReturn.AppendLine("Error message: " + response.messages.message[0].text); } } } else { toReturn.AppendLine("Null Response."); } return(toReturn.ToString()); }
public TransactionResponse ChargeCredit(PaymentModel payment) { // determine run Environment to SANDBOX for developemnt level 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 = transactionKey, }; var creditCard = new creditCardType { cardNumber = payment.CardNumber, expirationDate = payment.Month + payment.Year, cardCode = payment.CardCode, }; var bilingAddress = new customerAddressType { firstName = payment.FirstName, lastName = payment.LastName, city = payment.Address1, address = payment.Address2, zip = payment.PostCode }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; //getting payment that student paying var studentAmount = new PaymentModel(); var studentID = new Student(); //Add line Items you pay to obtain these var lineItems = new lineItemType[1]; lineItems[0] = new lineItemType { itemId = studentID.ID.ToString(), name = "Tution Fees", quantity = 1, unitPrice = studentAmount.Amount, taxRate = 7.5M, totalAmount = studentAmount.Amount }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),// charge the card amount = Convert.ToDecimal(payment.Amount), payment = paymentType, billTo = bilingAddress, lineItems = lineItems }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate the contoller that will call the service var controller = new createTransactionController(request); controller.Execute(); var resCode = controller.GetResultCode(); var resAll = controller.GetResults(); //get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate TransactionResponse result = new TransactionResponse(); if (response != null) { result.ResultCode = response.messages.resultCode; if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse.messages != null) { result.TransId = response.transactionResponse.transId; result.ResponseCode = response.transactionResponse.responseCode; result.MessageCode = response.transactionResponse.messages[0].code; result.Description = response.transactionResponse.messages[0].description; result.AuthCode = response.transactionResponse.authCode; result.AmountPaid = payment.Amount; } else { if (response.transactionResponse.errors != null) { result.ErrorCode = response.transactionResponse.errors[0].errorCode; result.ErrorText = response.transactionResponse.errors[0].errorText; } } } else { if (response.transactionResponse != null && response.transactionResponse.errors != null) { result.ErrorCode = response.transactionResponse.errors[0].errorCode; result.ErrorText = response.transactionResponse.errors[0].errorText; } else { result.ErrorCode = response.messages.message[0].code; result.ErrorText = response.messages.message[0].text; } } } else { //result.errorCode = "NONE"; //result.errorText = "Failed Transaction, Unknown Error"; ANetApiResponse errorResponse = controller.GetErrorResponse(); result.ErrorText = errorResponse.messages.message[0].text; result.ErrorCode = errorResponse.messages.message[0].code; result.ResultCode = messageTypeEnum.Error; } return(result); }
/// <summary> /// This is the method that charges the user's credit card. /// </summary> /// <param name="cvm">The information we use to charge the credit card</param> /// <returns>The response from the api</returns> public ANetApiResponse RunCard(CheckoutViewModel cvm) { //make sure it's running in the sandbox environment// ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; //define the merchant information (authentication / transaction key) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = Configuration["Authorize:ApiLoginID"], ItemElementName = ItemChoiceType.transactionKey, Item = Configuration["Authorize:ApiTransactionKey"] }; long cardNumber = (long)cvm.Card; //Temp credit card to use for tests var creditCard = new creditCardType { cardNumber = cardNumber.ToString(), expirationDate = "0918", cardCode = "123" }; //address to refactor var billingAddress = new customerAddressType { firstName = cvm.FirstName, lastName = cvm.LastName, address = cvm.Street, city = cvm.City, zip = "98119" }; //Add line Items orders // lineItemType[] MakeLineItems = new lineItemType[cvm.Order.BasketItems.Count]; for (int i = 0; i < MakeLineItems.Length; i++) { MakeLineItems[i] = new lineItemType { itemId = cvm.Order.BasketItems[i].Product.ID.ToString(), name = cvm.Order.BasketItems[i].Product.Name, quantity = cvm.Order.BasketItems[i].Quantity, unitPrice = cvm.Order.BasketItems[i].Product.Price }; } //standard api call to recieve response var paymentType = new paymentType { Item = creditCard }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = cvm.Order.TotalPrice, payment = paymentType, billTo = billingAddress, lineItems = MakeLineItems }; var request = new createTransactionRequest { transactionRequest = transactionRequest }; // instantiate new controller that will call service var controller = new createTransactionController(request); controller.Execute(); //get response from service (errors contained if any) var response = controller.GetApiResponse(); //validate response 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}"); } } return(response); }
public static ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; //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, }; ; creditCardType creditCard; creditCard = LouACH.EventReceipt.creditCard; customerAddressType billingAddress; billingAddress = LouACH.EventReceipt.customerAddress; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; var lineItems = new lineItemType[1]; lineItems[0] = LouACH.EventReceipt.lineItems; 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 System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12; 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) { LouACH.EventReceipt.TransactionMessage = response.transactionResponse.messages[0].description + "(Transaction ID: " + response.transactionResponse.transId + ")"; // if (Account=="1") // {LouACH.EventReceipt.TransactionCode1 = response.transactionResponse.transId; // LouACH.EventReceipt.TransactionMessage1 = "Guest Reservation: $200" + response.transactionResponse.messages[0].description + "(Transaction ID: " + response.transactionResponse.transId + ")"; // } // else if (Account == "2") // { // LouACH.EventReceipt.TransactionCode2 = response.transactionResponse.transId; // LouACH.EventReceipt.TransactionMessage2 = "PIASC Donation: " + amount.ToString("C") + response.transactionResponse.messages[0].description + "(Transaction ID: " + response.transactionResponse.transId + ")"; // } // else if (Account == "3") // { // LouACH.EventReceipt.TransactionCode3 = response.transactionResponse.transId; // LouACH.EventReceipt.TransactionMessage3 = "IPM Donation: " + amount.ToString("C") + response.transactionResponse.messages[0].description + "(Transaction ID: " + response.transactionResponse.transId + ")"; // } // else if (Account == "4") // { // LouACH.EventReceipt.TransactionCode4 = response.transactionResponse.transId; // LouACH.EventReceipt.TransactionMessage4 = "PPAC Donation: " + amount.ToString("C") + response.transactionResponse.messages[0].description + "(Transaction ID: " + response.transactionResponse.transId + ")"; // } //} //else //{ //LouACH.EventMakePayment.sOutput = "Failed Transaction."; if (response.transactionResponse.errors != null) { LouACH.EventReceipt.TransactionMessage = "Failed Transaction"; } } } else { 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); LouACH.EventReceipt.TransactionMessage = "Transaction Error: " + response.transactionResponse.errors[0].errorText; } else { //Console.WriteLine("Error Code: " + response.messages.message[0].code); //Console.WriteLine("Error message: " + "Error Code: " + response.messages.message[0].Text); LouACH.EventReceipt.TransactionMessage = "Transaction Error: " + response.transactionResponse.errors[0].errorText; } } } else { //Console.WriteLine("Null Response."); LouACH.EventReceipt.TransactionMessage = "Transaction Error: No Response"; } return(response); }
public ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) { Console.WriteLine("Charge Credit Card Sample"); //ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.SANDBOX; 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 creditCard = new creditCardType { cardNumber = TxtCardNo.Text.Trim(), expirationDate = GetExpiration().Trim(), cardCode = TxtSecNo.Text.Trim() }; var billingAddress = new customerAddressType { firstName = TxtFirstName.Text, lastName = TxtLastName.Text, address = TxtFrstAdd.Text, city = TxtCity.Text, zip = TxtZip.Text }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; // Add line Items var lineItems = new lineItemType[1]; /*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) };*/ lineItems[0] = new lineItemType { itemId = "1", name = "subscription", quantity = 1, unitPrice = amount, description = Ddlyear.SelectedItem.Text }; 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) { 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); paymentStatus = "success"; } 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); } paymentStatus = "failed"; } } 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); } paymentStatus = "failed"; } } else { paymentStatus = "failed"; } return(response); }
public static Array PostPay(string AuthorizeLoginID, string AuthorizeTransactionKey, FetchResponse bookingDetails, PaymentViewModel payDetails, decimal AmountToBeCharged = 0) { string env = System.Configuration.ConfigurationManager.AppSettings["enviroment"].ToString(); if (env == "production") { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.PRODUCTION; } else { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; } // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = AuthorizeLoginID, ItemElementName = ItemChoiceType.transactionKey, Item = AuthorizeTransactionKey, }; var orderType = new orderType { invoiceNumber = bookingDetails.lbkg.ToString(), description = "PreCheckIn payment", }; var customerData = new customerDataType { type = customerTypeEnum.individual, email = bookingDetails.guest.emai }; var creditCard = new creditCardType { cardNumber = payDetails.cardNumber.Replace(" ", ""), // bookingDetails.stay.card.numb.Replace(" ",""), expirationDate = payDetails.cardEndDate.Replace(" ", ""), // bookingDetails.stay.card.expy.Replace("/", ""), cardCode = payDetails.cardCode // bookingDetails.stay.card.auth }; var billingAddress = new customerAddressType { firstName = bookingDetails.guest.namf, lastName = bookingDetails.guest.naml, email = bookingDetails.guest.emai, address = bookingDetails.guest.addr.line1, city = bookingDetails.guest.addr.city, state = bookingDetails.guest.addr.stat, country = bookingDetails.guest.addr.cnty, company = bookingDetails.guest.comp, phoneNumber = bookingDetails.guest.phon, zip = bookingDetails.guest.addr.posc }; var retailType = new transRetailInfoType { marketType = "2", deviceType = "8" }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; // Add line Items var lineItems = new lineItemType[1]; lineItems[0] = new lineItemType { itemId = "1", name = "PreCheckIn of booking " + bookingDetails.lbkg.ToString(), quantity = 1, unitPrice = bookingDetails.stay.fcst, totalAmount = AmountToBeCharged }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),// charge the card refTransId = bookingDetails.lbkg.ToString(), order = orderType, customer = customerData, lineItems = lineItems, payment = paymentType, amount = AmountToBeCharged, billTo = billingAddress, }; 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(); Array response_array = new string[6]; // validate response if (response != null) { if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse.messages != null) { response_array.SetValue(response.transactionResponse.responseCode, 0); //Response Code response_array.SetValue(response.transactionResponse.messages[0].code, 1); //Message Code response_array.SetValue(response.transactionResponse.messages[0].description, 2); //Description response_array.SetValue(response.transactionResponse.authCode, 3); //Success, Auth Code response_array.SetValue(response.transactionResponse.transId, 4); //Transaction ID response_array.SetValue(bookingDetails.lbkg.ToString(), 5); //Reference ID 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 { //Failed Transaction. if (response.transactionResponse.errors != null) { response_array.SetValue("2", 0); //Response Code response_array.SetValue(response.transactionResponse.errors[0].errorCode, 1); //Message Code response_array.SetValue(response.transactionResponse.errors[0].errorText, 2); //Description response_array.SetValue(response.transactionResponse.authCode, 3); //Success, Auth Code response_array.SetValue(response.transactionResponse.transId, 4); //Transaction ID response_array.SetValue(bookingDetails.lbkg.ToString(), 5); //Reference ID Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } } } else { //Failed Transaction. if (response.transactionResponse != null && response.transactionResponse.errors != null) { response_array.SetValue("2", 0); //Response Code response_array.SetValue(response.transactionResponse.errors[0].errorCode, 1); //Message Code response_array.SetValue(response.transactionResponse.errors[0].errorText, 2); //Description response_array.SetValue(response.transactionResponse.authCode, 3); //Success, Auth Code response_array.SetValue(response.transactionResponse.transId, 4); //Transaction ID response_array.SetValue(bookingDetails.lbkg.ToString(), 5); //Reference ID Console.WriteLine("Error Code: " + response.transactionResponse.errors[0].errorCode); Console.WriteLine("Error message: " + response.transactionResponse.errors[0].errorText); } else { response_array.SetValue("3", 0); //Response Code response_array.SetValue(response.messages.message[0].code, 1); //Message Code response_array.SetValue(response.messages.message[0].text, 2); //Description response_array.SetValue(response.transactionResponse.authCode, 3); //Success, Auth Code response_array.SetValue(response.transactionResponse.transId, 4); //Transaction ID response_array.SetValue(bookingDetails.lbkg.ToString(), 5); //Reference ID Console.WriteLine("Error Code: " + response.messages.message[0].code); Console.WriteLine("Error message: " + response.messages.message[0].text); } } } else { Console.WriteLine("Null Response."); response_array.SetValue("-1", 0); response_array.SetValue(bookingDetails.lbkg.ToString(), 5); //Reference ID } //return response; return(response_array); }
public static AuthorizeNetResponse ExecutePayment(Order newOrder, creditCardType creditCardInfo) { ConfigureAuthorizeNetAPI(); AuthorizeNetResponse authorizeNetResponse = new AuthorizeNetResponse(); try { var billingAddress = new customerAddressType { firstName = newOrder.CustomerName, email = newOrder.CustomerEmail, phoneNumber = newOrder.CustomerPhone, country = newOrder.CustomerCountry, city = newOrder.CustomerCity, address = newOrder.CustomerAddress, zip = newOrder.CustomerZipCode }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCardInfo }; var lineItems = new lineItemType[newOrder.OrderItems.Count]; var i = 0; foreach (var orderItem in newOrder.OrderItems) { lineItems[i] = new lineItemType { itemId = orderItem.ProductID.ToString(), name = orderItem.ProductName.ToAuthorizeNetProductName(), quantity = orderItem.Quantity, unitPrice = orderItem.ItemPrice }; i++; } var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = newOrder.FinalAmmount, payment = paymentType, billTo = billingAddress, shipTo = 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) authorizeNetResponse.Response = controller.GetApiResponse(); // validate response if (authorizeNetResponse.Response != null) { if (authorizeNetResponse.Response.messages.resultCode == messageTypeEnum.Ok) { if (authorizeNetResponse.Response.transactionResponse.messages != null) { authorizeNetResponse.Success = true; authorizeNetResponse.Message = string.Format("Transaction Successfull.{0}Transaction ID is {1}", Environment.NewLine, authorizeNetResponse.Response.transactionResponse.transId); authorizeNetResponse.Response = authorizeNetResponse.Response; } else { authorizeNetResponse.Success = false; authorizeNetResponse.Message = string.Format("Transaction Failed.{0}{1}", Environment.NewLine, string.Join(Environment.NewLine, authorizeNetResponse.Response.transactionResponse.errors.Select(x => string.Format("Error: {0}~{1}", x.errorCode, x.errorText)).ToList())); authorizeNetResponse.Response = authorizeNetResponse.Response; } } else { authorizeNetResponse.Success = false; if (authorizeNetResponse.Response.transactionResponse != null && authorizeNetResponse.Response.transactionResponse.errors != null) { authorizeNetResponse.Message = string.Format("Transaction Failed.{0}{1}", Environment.NewLine, string.Join(Environment.NewLine, authorizeNetResponse.Response.transactionResponse.errors.Select(x => string.Format("Error: {0}~{1}", x.errorCode, x.errorText)).ToList())); } else { authorizeNetResponse.Message = string.Format("Transaction Failed.{0}{1}", Environment.NewLine, string.Join(Environment.NewLine, authorizeNetResponse.Response.messages.message.Select(x => string.Format("Error: {0}~{1}", x.code, x.text)).ToList())); } authorizeNetResponse.Response = authorizeNetResponse.Response; } } else { authorizeNetResponse.Success = false; authorizeNetResponse.Message = "No valid response from Authorize.Net."; authorizeNetResponse.Response = authorizeNetResponse.Response; } } catch { authorizeNetResponse.Success = false; authorizeNetResponse.Message = string.Format("Error occured on server."); } return(authorizeNetResponse); }
public TransactionResponse ChargeCredit(PaymentModel payment) { // determine run Environment to SANDBOX for developemnt level 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 = transactionKey, }; var creditCard = new creditCardType { cardNumber = payment.CardNumber, //"Ex: x111111111111111", expirationDate = payment.Month + payment.Year, //"Ex: 0522" cardCode = payment.CardCode, //"Ex: 111" }; var billingAddress = new customerAddressType { firstName = payment.FirstName, lastName = payment.LastName, city = payment.Address1, address = payment.Address2, zip = payment.Postcode, phoneNumber = payment.Phone }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; // Add line Items you pay to obtain these var lineItems = new lineItemType[2]; lineItems[0] = new lineItemType { itemId = "1", name = "t-shirt", quantity = 2, unitPrice = new Decimal(1.00) }; lineItems[1] = new lineItemType { itemId = "2", name = "snowboard", quantity = 1, unitPrice = new Decimal(1.00) }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = 2, 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(); var resCode = controller.GetResultCode(); var resAll = controller.GetResults(); // get the response from the service (errors contained if any) var response = controller.GetApiResponse(); //validate TransactionResponse result = new TransactionResponse(); if (response != null) { result.resultCode = response.messages.resultCode; if (response.messages.resultCode == messageTypeEnum.Ok) { if (response.transactionResponse.messages != null) { result.transId = response.transactionResponse.transId; result.responseCode = response.transactionResponse.responseCode; result.messageCode = response.transactionResponse.messages[0].code; result.description = response.transactionResponse.messages[0].description; result.authCode = response.transactionResponse.authCode; } else { if (response.transactionResponse.errors != null) { result.errorCode = response.transactionResponse.errors[0].errorCode; result.errorText = response.transactionResponse.errors[0].errorText; } } } else { if (response.transactionResponse != null && response.transactionResponse.errors != null) { result.errorCode = response.transactionResponse.errors[0].errorCode; result.errorText = response.transactionResponse.errors[0].errorText; } else { result.errorCode = response.messages.message[0].code; result.errorText = response.messages.message[0].text; } } } else { result.errorCode = "NONE"; result.errorText = "Failed Transaction,, Unkown Error"; } return(result); }
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(); 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 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(); 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 ANetApiResponse Run(String ApiLoginID, String ApiTransactionKey, decimal amount) { Console.WriteLine("Create an Accept Payment Transaction Sample"); ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = ApiLoginID, ItemElementName = ItemChoiceType.transactionKey, Item = ApiTransactionKey, }; var opaqueData = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = "119eyJjb2RlIjoiNTBfMl8wNjAwMDUyN0JEODE4RjQxOUEyRjhGQkIxMkY0MzdGQjAxQUIwRTY2NjhFNEFCN0VENzE4NTUwMjlGRUU0M0JFMENERUIwQzM2M0ExOUEwMDAzNzlGRDNFMjBCODJEMDFCQjkyNEJDIiwidG9rZW4iOiI5NDkwMjMyMTAyOTQwOTk5NDA0NjAzIiwidiI6IjEuMSJ9" }; 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 = opaqueData }; // 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 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); }
//string ApiLoginID = Constants.API_LOGIN_ID; //string ApiTransactionKey = Constants.TRANSACTION_KEY; public static ANetApiResponse Run(PaymentViewModel PaymentVM) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = Constants.API_LOGIN_ID, ItemElementName = ItemChoiceType.transactionKey, Item = Constants.TRANSACTION_KEY, }; var creditCard = new creditCardType { cardNumber = PaymentVM.sCreditCardNumber, expirationDate = PaymentVM.sExpiryMonth.ToString() + PaymentVM.sExpiryYear.ToString(), cardCode = PaymentVM.sCCV.ToString() }; var billingAddress = new customerAddressType { firstName = PaymentVM.sCardName, lastName = "", address = PaymentVM.BillingAddressVM[0].StreetName, city = PaymentVM.BillingAddressVM[0].City, zip = PaymentVM.BillingAddressVM[0].Zip }; //standard api call to retrieve response var paymentType = new paymentType { Item = creditCard }; // Add line Items var lineItems = new lineItemType[1]; lineItems[0] = new lineItemType { itemId = PaymentVM.iPlanID.ToString(), name = "Test", quantity = 1, unitPrice = PaymentVM.dAmount }; var transactionRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), // charge the card amount = PaymentVM.dAmount, 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(); return(response); }
/// <summary> /// Run - Method that is used to process a user's payment information. /// </summary> /// <param name="creditCard">The user's credit card used for the purchase.</param> /// <param name="billingAddress">The user's billing address.</param> /// <param name="cart">The cart the user is attempting to process.</param> /// <returns>Transaction response, detailing whether the purchase was successful or denied.</returns> public TransactionResponse Run(creditCardType creditCard, customerAddressType billingAddress, Cart cart) { ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = _config["AuthorizeLoginId"], ItemElementName = ItemChoiceType.transactionKey, Item = _config["AuthorizeTransactionKey"] }; var paymentType = new paymentType { Item = creditCard }; decimal total = 0; lineItemType[] lineItems = new lineItemType[cart.CartItems.Count]; for (int i = 0; i < lineItems.Length; i++) { var cartItem = cart.CartItems[i]; total += cartItem.Product.Price * cartItem.Quantity; lineItems[i] = new lineItemType { itemId = cartItem.ProductId.ToString(), name = cartItem.Product.Name, quantity = cartItem.Quantity, unitPrice = cartItem.Product.Price }; } var transRequest = new transactionRequestType { transactionType = transactionTypeEnum.authCaptureTransaction.ToString(), amount = total, payment = paymentType, billTo = billingAddress, lineItems = lineItems }; var request = new createTransactionRequest { transactionRequest = transRequest }; var controller = new createTransactionController(request); controller.Execute(); var response = controller.GetApiResponse(); if (response != null) { if (response.transactionResponse != null) { return(new TransactionResponse { Successful = true, Response = $"Transaction Success: {response.transactionResponse.authCode}" }); } else if (response.transactionResponse == null) { return(new TransactionResponse { Successful = false, Response = $"Transaction Error: {response.transactionResponse.errors[0].errorCode} {response.transactionResponse.errors[0].errorText}" }); } } return(new TransactionResponse { Successful = false, Response = "" }); }
public async Task <IActionResult> AuthNetExample() { // Declare that you are using a sandbox acocunt ApiOperationBase <ANetApiRequest, ANetApiResponse> .RunEnvironment = AuthorizeNet.Environment.SANDBOX; // define the merchant information (authentication / transaction id) ApiOperationBase <ANetApiRequest, ANetApiResponse> .MerchantAuthentication = new merchantAuthenticationType() { name = "3Q36ttuxXa", ItemElementName = ItemChoiceType.transactionKey, Item = "22W45fGHPs6S42aZ", }; var creditCard = new creditCardType { cardNumber = "4111111111111111", expirationDate = "0718" }; 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 }; 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 = 10.00m, payment = paymentType, billTo = billingAddress }; 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 != 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(View()); }