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));
            }
        }
Example #2
0
        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);
        }