public HttpResponseMessage PostPayPalNotification(WebPayPalIPN notification) { if (!ModelState.IsValid || notification == null) { return Request.CreateResponse(HttpStatusCode.ExpectationFailed, ModelState); } try { repo.addNotification(notification); return Request.CreateResponse(HttpStatusCode.OK); } catch (Exception e) { return Request.CreateResponse(HttpStatusCode.BadRequest, e); } }
public void addNotification(WebPayPalIPN notification) { PayPalNotification n = new PayPalNotification(); n.dateReceived = DateTime.UtcNow; n.transactionId = notification.txn_id; n.payerId = notification.payer_id; n.paymentGross = notification.payment_gross; n.paymentFee = notification.payment_fee; n.mcCurrency = notification.mc_currency; n.mcGross = notification.mc_gross; n.reasonCode = notification.reason_code; n.paymentDate = notification.payment_date; n.paymentStatus = notification.payment_status; n.custom = notification.custom; db.PayPalNotifications.Add(n); db.SaveChanges(); updateRegistrationPayment(n); }