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); }