protected void Page_Load(object sender, EventArgs e)
        {

            try
                {
                        byte[] parameters = Request.BinaryRead(HttpContext.Current.Request.ContentLength);
                        PaymentTransaction paymentTransaction = new PaymentTransaction();
                        PaymentTransactionRepository paymentRepo = new PaymentTransactionRepository();

                        if (parameters.Length > 0)
                        {
                            IPNMessage ipn = new IPNMessage(parameters);
                            bool isIpnValidated = ipn.Validate();
                            string transactionType = ipn.TransactionType;
                            NameValueCollection map = ipn.IpnMap;
                            
                            paymentTransaction.AmountPaid = map["payment_gross"];
                            paymentTransaction.PayPalTransactionId = map["txn_id"];
                            paymentTransaction.UserId = Guid.Parse(map["custom"].ToString());
                            paymentTransaction.Id = Guid.NewGuid();
                            paymentTransaction.IPNTrackId = map["ipn_track_id"];
                            
                            paymentTransaction.PayerEmail = map["payer_email"];
                            paymentTransaction.PayerId = map["payer_id"];
                            paymentTransaction.PaymentStatus = map["payment_status"];

                            
                            
                                logger.Info("Payment Status : " + paymentTransaction.PaymentStatus);
                                logger.Info("User Id : " +paymentTransaction.UserId);
                            

                            paymentTransaction.PaymentDate = DateTime.Now;
                            paymentTransaction.PaypalPaymentDate = map["payment_date"];
                            paymentTransaction.ReceiverId = map["receiver_id"];
                            paymentRepo.SavePayPalTransaction(paymentTransaction);
                            UserRepository userrepo = new UserRepository();
                            if (paymentTransaction.PaymentStatus == "Completed")
                            {
                                userrepo.changePaymentStatus(paymentTransaction.UserId, "paid");
                            }
                        }
                    }
                
                catch (System.Exception ex)
                {
                    logger.Error(ex.StackTrace);
                }
            
            
        }