public string SavePayPalTransaction(string userID, string amountPaid) { Domain.Socioboard.Domain.PaymentTransaction objPaymentTransaction = new Domain.Socioboard.Domain.PaymentTransaction(); objPaymentTransaction.AmountPaid = amountPaid; objPaymentTransaction.PaymentDate = DateTime.Now; objPaymentTransaction.PaymentStatus = "paid"; objPaymentTransaction.UserId = Guid.Parse(userID); string paymentResponse = objPaymentTransactionRepository.SavePayPalTransaction(objPaymentTransaction); return(new JavaScriptSerializer().Serialize(paymentResponse)); }
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); } }