public ActionResult DeleteConfirmed(int id) { PayPalListenerModel payPalListenerModel = db.PayPalListenerModels.Find(id); db.PayPalListenerModels.Remove(payPalListenerModel); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "ID,_PayPalCheckoutInfo")] PayPalListenerModel payPalListenerModel) { if (ModelState.IsValid) { db.Entry(payPalListenerModel).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(payPalListenerModel)); }
public ActionResult Create([Bind(Include = "ID,_PayPalCheckoutInfo")] PayPalListenerModel payPalListenerModel) { if (ModelState.IsValid) { db.PayPalListenerModels.Add(payPalListenerModel); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(payPalListenerModel)); }
public bool ProcessReservationPayment(PayPalCheckoutInfo info, byte[] parameters) { var accepted = false; var model = new PayPalListenerModel(); model.PayPalCheckoutInfo = info; if (parameters != null) { model.ProcessParameters(parameters); } if (model.IsVerified && model.IsPaymentCompleted) { int reservationId; if (!Int32.TryParse(info.custom, out reservationId)) { SendOrderNotFoundNotification(info); return(accepted); } var reservation = GetReservation(reservationId); if (reservation == null) { SendOrderNotFoundNotification(info); return(accepted); } reservation.TransactionId = info.txn_id; reservation.AmountPaid = info.Total; var isPaymentValid = reservation.AmountPaid == reservation.OrderTotal; if (!isPaymentValid) { reservation.Status = _appdb.RejectedStatus; SendInvalidPaymentNotifications(reservation); } else { reservation.Status = _appdb.AcceptedStatus; accepted = true; reservation.PaymentCompletedTimestamp = info.TrxnDate; ContactManager.AddContact(reservation.CustomerInfo); //TODO: Brivo API } _appdb.SaveChanges(); } return(accepted); }
public EmptyResult PayPalPaymentNotification(PayPalCheckoutInfo payPalCheckoutInfo) { PayPalListenerModel model = new PayPalListenerModel(); model._PayPalCheckoutInfo = payPalCheckoutInfo; byte[] parameters = Request.BinaryRead(Request.ContentLength); if (parameters != null) { model.GetStatus(parameters); } return(new EmptyResult()); }
// GET: PayPalListenerModels/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PayPalListenerModel payPalListenerModel = db.PayPalListenerModels.Find(id); if (payPalListenerModel == null) { return(HttpNotFound()); } return(View(payPalListenerModel)); }
public ActionResult Index(PayPalCheckoutInfo payPalCheckoutInfo) { PayPalListenerModel model = new PayPalListenerModel(); model._PayPalCheckoutInfo = payPalCheckoutInfo; byte[] parameters = Request.BinaryRead(Request.ContentLength); if (parameters != null && parameters.Length > 0) { model.GetStatus(parameters); db.PayPalListenerModels.Add(model); string request = model._PayPalCheckoutInfo.memo; foreach (var z in db.PayPalListenerModels.ToList()) { if (z._PayPalCheckoutInfo.txn_id == model._PayPalCheckoutInfo.txn_id) { db.PayPalListenerModels.Remove(model); } } db.SaveChanges(); return(new EmptyResult()); } return(View()); }
public HttpStatusCodeResult IPN(FormCollection result) { try { var payPalPaymentInfo = new PayPalPaymentInfo(); TryUpdateModel(payPalPaymentInfo, result.ToValueProvider()); var model = new PayPalListenerModel { PayPalPaymentInfo = payPalPaymentInfo }; var parameters = Request.BinaryRead(Request.ContentLength); if (parameters.Length > 0) { model.GetStatus(parameters); PayPalLog.Debug(payPalPaymentInfo.invoice); PayPalLog.Debug(payPalPaymentInfo.payment_status); try { var order = _orderService.GetOrderByNumber(payPalPaymentInfo.invoice); OrderStatus orderStatus; switch (payPalPaymentInfo.payment_status.ToLower()) { case "completed": orderStatus = OrderStatus.Paid; break; default: orderStatus = OrderStatus.Cancelled; break; } order.Status = orderStatus; order.PaymentReference = payPalPaymentInfo.txn_id; switch (order.Status) { case OrderStatus.Paid: order.PaidAt = DateTime.Now; break; case OrderStatus.Completed: order.CompletedAt = DateTime.Now; break; case OrderStatus.Cancelled: order.CancelledAt = DateTime.Now; break; } } catch (Exception ex) { PayPalLog.Debug(string.Format("Error saving order [{0}] {1}", payPalPaymentInfo.invoice, JsonConvert.SerializeObject(payPalPaymentInfo))); PayPalLog.Error(ex); } } else { PayPalLog.Debug(string.Format("No PayPal return parameters [{0}]", JsonConvert.SerializeObject(result))); } } catch (Exception ex) { PayPalLog.Debug(string.Format("Error unknown [{0}] {1}", ex.Message, result)); PayPalLog.Error(ex); } return(new HttpStatusCodeResult(200, "Success")); }