Exemple #1
0
        public static PaymentResult Request(TransactionRequest request)
        {
            using (var client = new HttpClient())
            {
                PaymentResult result = null;
                client.BaseAddress = new Uri("http://localhost:4635/");
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                // HTTP POST

                var response =  client.PostAsJsonAsync("api/payment", request).Result;
                if (response.IsSuccessStatusCode)
                {
                    dynamic content = JsonConvert.DeserializeObject <PaymentResult>(response.Content.ReadAsStringAsync().Result);

                    // Access variables from the returned JSON object
                    result = content;
                }

                return result;

            }
        }
        public PaymentResult Sale(TransactionRequest request)
        {
            _result = new PaymentResult();
            if (request.PrivateKey == "c4660e3571ca74392d20cc91f4568748" && request.PublicKey == "y5yfh9kcnvt8qf4x")
            {
                if (request.Amount > 0 && request.TransactionCreditCardRequest.ExpirationYear == "2016")
                {
                    _result.Succeeded = true;
                    _result.TransactionDate = DateTime.Now;
                    _result.TransactionId = Guid.NewGuid().ToString();
                    _result.Message = "Pass";
                }
                else
                {

                    _result.Succeeded = false;
                    _result.TransactionDate = DateTime.Now.Date;
                    _result.TransactionId = "-1";
                    _result.Message = "Failed";

                }
            }
            return _result;
        }
        public PaymentResult Checkout(CheckoutViewModel model)
        {
            var items = GetCartItems();

            var order = new Order()
            {
                FirstName = model.FirstName,
                LastName = model.LastName,

                Email = model.Email,
                OrderDate = DateTime.Now,
                UserId = HttpContext.Current.User.Identity.GetUserId()

            };

            foreach (var item in items)
            {

                var detail = new OrderDetail()
                {
                    ProductId = item.ProductId,
                    UnitPrice = item.Product.Price,
                    Quantity = item.Count
                };

                order.Total += (item.Product.Price * item.Count);

                order.OrderDetails.Add(detail);
            }

            model.Total = order.Total;

            var request = new TransactionRequest()
               {
               PrivateKey = "c4660e3571ca74392d20cc91f4568748",
               PublicKey = "y5yfh9kcnvt8qf4x",
               Amount = model.Total,

               TransactionCreditCardRequest = new CreditCardDetails()
               {
                   Number = model.CardNumber,
                   CVV = model.Cvv,
                   ExpirationMonth = model.Month,
                   ExpirationYear = model.Year
               }
               };
            var result = Utility.Request(request);
            if (result.Message == "Pass")
            {
                order.TransactionId = result.TransactionId;
                _db.Orders.Add(order);
                _db.SaveChanges();
            }

            return result;
        }
 public PaymentResult ProcessPayment(TransactionRequest request)
 {
     return _gateWay.ProcessPayment(request);
 }