Пример #1
0
          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;
          }
Пример #2
0
 public static void lineItemType(lineItemType request)
 {
     if (null != request)
     {
         if (request.taxable)
         {
             request.taxableSpecified = true;
         }
     }
 }
Пример #3
0
          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);
          }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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);
        }
Пример #6
0
          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);
          }
Пример #7
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        // 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);
        }
Пример #10
0
        /// <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);
        }
Пример #11
0
        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);
        }
Пример #12
0
        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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
        }
Пример #15
0
 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);
     }
 }
Пример #16
0
        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());
        }
Пример #17
0
        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);
        }
Пример #18
0
        /// <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);
        }
Пример #19
0
        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);
        }
Пример #20
0
        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);
        }
Пример #21
0
        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);
        }
Пример #22
0
        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);
        }
Пример #24
0
        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);
        }
Пример #26
0
        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);
        }
Пример #28
0
        //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);
        }
Пример #29
0
        /// <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());
        }