// GET: Paypal public ActionResult Confirmacion(string codigo) { int clave = int.Parse(Session["CodigoTarea"].ToString()); int estudiante = int.Parse(codigo); ViewData["CodigoTarea"] = clave; if (Request.HttpMethod != "POST") { authToken = "UQZqpZAq_ZGRCh_3d__MLmA4IxIBkIm1U4AowLfjqYQ47C_Y7hUZsX94_3a"; ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.UseNagleAlgorithm = true; ServicePointManager.Expect100Continue = true; ServicePointManager.CheckCertificateRevocationList = true; ServicePointManager.DefaultConnectionLimit = ServicePointManager.DefaultPersistentConnectionLimit; txToken = Request.QueryString.Get("tx"); query = string.Format("cmd=_notify-synch&tx={0}&at={1}", txToken, authToken); string url = "https://www.sandbox.paypal.com/cgi-bin/webscr"; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = query.Length; StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(query); stOut.Close(); StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); stIn.Close(); if (strResponse.StartsWith("SUCCESS")) { PDTHolder pdt = PDTHolder.Parse(strResponse); ViewBag.mensaje = string.Format("Cuenta en la que se realizo el pago {0} {1} [{2}] Monto del pago {3} {4}!", pdt.PayerFirstName, pdt.PayerLastName, pdt.PayerEmail, pdt.GrossTotal, pdt.Currency); if (pdt.PaymentStatus == "Completed") { int empleador = int.Parse(Session["Codigo"].ToString()); ObjDAO.Aceptarpostulados(estudiante, clave); msg.AgregarPago(empleador, pdt.GrossTotal, pdt.PayerEmail, clave, estudiante); } } else { PDTHolder pdt = PDTHolder.Parse(strResponse); ViewBag.mensaje = string.Format("Cuenta en la que se realizo el pago {0} {1} [{2}] Monto del pago {3} {4}! no fue correcta, por favor contacta al administrador", pdt.PayerFirstName, pdt.PayerLastName, pdt.PayerEmail, pdt.GrossTotal, pdt.Currency); } } //return Redirect("~/Tareas/DetalleTareaDispo?Codigo='" + clave + "'"); return(View()); }
public ActionResult Checkout(int Id) { double dollarRate = double.Parse(Settings.get("DollarRate")); ViewBag.TicketId = Id; Ticket ticket = unitOfWork.TicketRepository.GetById(Id); double shippingCost; if (ticket.ShippingCost == null) { shippingCost = double.Parse(Settings.get("ShippingCost")); } else { shippingCost = (double)ticket.ShippingCost; } string eventname = Utils.ConvertVN(ticket.Event.EventName); PDTHolder pp = new PDTHolder() { item_name = eventname, amount = System.Math.Round((ticket.SellPrice / dollarRate), 2), shipping = System.Math.Round((shippingCost / dollarRate), 2), custom = ticket.TicketId, }; Session["BuyingTicket"] = ticket; return(View(pp)); }
public IActionResult Success() { try { var result = PDTHolder.Success(Request.Query["tx"]); if (result != null) { var membership = ocmde.MemberShips.Find(result.MemberShipId); var accountVendor = ocmde.AccountVendors.SingleOrDefault(v => v.Email.Equals(HttpContext.Session.GetString("email_customer"))); MemberShipVendor memberShipVendor = new MemberShipVendor() { MemerShipId = membership.Id, VendorId = accountVendor.VendorId, Price = membership.Price, StartDate = DateTime.Now, EndDate = DateTime.Now.AddMonths(membership.Month) }; ocmde.MemberShipVendors.Add(memberShipVendor); ocmde.SaveChanges(); ViewBag.msg = "Success"; } else { ViewBag.msg = "Error"; } return(View("Success")); } catch (Exception e) { throw; } }
public ActionResult Success() { try { var result = PDTHolder.Success(Request.QueryString.Get("tx")); if (result != null) { var membership = ocmde.MemberShips.Find(result.MemberShipId); var vendor = (Clitzy.Models.Vendor)SessionPersister.account; MemberShipVendor memberShipVendor = new MemberShipVendor() { MemerShipId = membership.Id, VendorId = vendor.Id, Price = membership.Price, StartDate = DateTime.Now, EndDate = DateTime.Now.AddMonths(membership.Month) }; ocmde.MemberShipVendors.Add(memberShipVendor); ocmde.SaveChanges(); ViewBag.msg = "Success"; } else { ViewBag.msg = "Error"; } return(View("Success")); } catch (Exception e) { return(View("Error", new HandleErrorInfo(e, "Vendors", "Success"))); } }
public IActionResult Success(CheckoutViewModel checkoutViewModel) { var result = PDTHolder.Success(Request.Query["tx"].ToString()); checkoutViewModel.cartItem = SessionHelper.GetObjectFromJson <List <CartItem> >(HttpContext.Session, "cart"); SessionHelper.RemoveSession(HttpContext.Session, "cart"); return(View(checkoutViewModel)); }
public IActionResult Success() { var result = PDTHolder.Success(Request.Query["tx"].ToString()); if (result != null) { return(RedirectToAction("CheckOut", new { id = "paypal" })); } return(RedirectToAction("False")); }
public IActionResult Success() { //PDTHolder pdtHolder = new PDTHolder(); var result = PDTHolder.Success(Request.Query["tx"].ToString()); Debug.WriteLine("First Name: " + result.PayerFirstName); Debug.WriteLine("Last Name: " + result.PayerLastName); Debug.WriteLine("Email: " + result.PayerEmail); Debug.WriteLine("InvoiceNumber: " + result.InvoiceNumber); Debug.WriteLine("GrossTotal: " + result.GrossTotal); return(View("Success")); }
public async Task <IActionResult> Success(CheckoutViewModel checkoutViewModel) { var result = PDTHolder.Success(Request.Query["tx"].ToString()); checkoutViewModel.cartItem = SessionHelper.GetObjectFromJson <List <CartItem> >(HttpContext.Session, "cart"); checkoutViewModel.BillCheckout = SessionHelper.GetObjectFromJson <BillViewModel>(HttpContext.Session, "billInfo"); if (checkoutViewModel.BillCheckout == null) { return(NotFound()); } var currentBill = _mapper.Map <Bill>(checkoutViewModel.BillCheckout); if (_signInManager.IsSignedIn(User)) { var userId = _userManager.GetUserId(User); currentBill.AccountId = userId; var userUpdateMoney = await _userManager.FindByIdAsync(userId); var amount = checkoutViewModel.cartItem.Sum(x => x.product.DiscountPrice * x.Quantity) + Convert.ToDouble(userUpdateMoney.MoneySpended); userUpdateMoney.MoneySpended = amount; var resultUpdate = await _userManager.UpdateAsync(userUpdateMoney); } await _context.Bill.AddAsync(currentBill); var addedBill = await _context.SaveChangesAsync(); if (addedBill > 0) { List <BillDetails> newDetail = new List <BillDetails>(); foreach (var item in checkoutViewModel.cartItem) { var temp = _mapper.Map <BillDetails>(item); temp.BillId = currentBill.BillId; newDetail.Add(temp); } await _context.BillDetails.AddRangeAsync(newDetail); var addedBillDetail = await _context.SaveChangesAsync(); SessionHelper.RemoveSession(HttpContext.Session, "cart"); SessionHelper.RemoveSession(HttpContext.Session, "billInfo"); } return(View(checkoutViewModel)); }
public ActionResult Success() { ViewBag.result = PDTHolder.Success(Request.QueryString.Get("tx")); PayPalModel newPayPal = new PayPalModel() { Date = DateTime.Now, PaymentAmount = ViewBag.result.GrossTotal, PayPalTransactionID = ViewBag.result.TransactionId }; db.PayPalModel.Add(newPayPal); db.SaveChanges(); return(View("Success")); }
public IActionResult Success() { var result = PDTHolder.Success(Request.Query["tx"].ToString()); return(View()); }
protected void Page_Load(object sender, EventArgs e) { getCompanyName(); if (!Page.IsPostBack) { string strToken = string.Empty; string strSubmitUrl = string.Empty; DataSet dsGetPaymentOption = new DataSet(); dsGetPaymentOption = dbInfo.GetPaymentOptionDetails(); if (dsGetPaymentOption.Tables.Count > 0) { if (dsGetPaymentOption != null && dsGetPaymentOption.Tables.Count > 0 && dsGetPaymentOption.Tables[0].Rows.Count > 0) { foreach (DataRow dtrow in dsGetPaymentOption.Tables[0].Rows) { ViewState["PaymentOption"] = Convert.ToString(dtrow["payment_Id"]); //PayPalIpn //ViewState["PayPalUrl"] = Convert.ToString(dtrow["PaypalUrl"]); //ViewState["BusinessEmail"] = Convert.ToString(dtrow["PaypalEmail"]); strSubmitUrl = Convert.ToString(dtrow["PaypalSubUrl"]); strToken = Convert.ToString(dtrow["PDTToken"]); } } } // authToken = ConfigurationManager.AppSettings["PDTToken"]; authToken = strToken; //EmailGenerator _emailGenerator = new EmailGenerator(); //bool mailStatus = _emailGenerator.userForgotPasswordEmail("Ritu", "", "*****@*****.**"); //read in txn token from querystring txToken = Request.QueryString.Get("tx"); query = string.Format("cmd=_notify-synch&tx={0}&at={1}", txToken, authToken); // Create the request back string url = strSubmitUrl; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); // Set values for the request back req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = query.Length; // Write the request back IPN strings StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(query); stOut.Close(); // Do the request to PayPal and get the response StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); stIn.Close(); // sanity check // Label2.Text = strResponse; // If response was SUCCESS, parse response string and output details if (strResponse.StartsWith("SUCCESS")) { int orderNum = 0; string strTransId = string.Empty; int insertOrder = 0; string strOrdPayType = string.Empty; PDTHolder pdt = PDTHolder.Parse(strResponse); lblResponse.Text = string.Format("Thank you {0} {1} [{2}] for your payment of {3} {4}!", pdt.PayerFirstName, pdt.PayerLastName, pdt.PayerEmail, pdt.GrossTotal, pdt.Custom); orderNum = Convert.ToInt32(pdt.Custom); strTransId = Convert.ToString(pdt.TransactionId); if (Request.Cookies["DepositFund"] != null && Request.Cookies["DepositFund"].Value != "") { string StrFund = Convert.ToString(Request.Cookies["DepositFund"].Value); string[] splitter = { "|@|" }; string[] dateInfo = StrFund.Split(splitter, StringSplitOptions.None); int i = 0; string strfirst = dateInfo[i]; if (Convert.ToString(strfirst) == "NoFund") { string StrShop = Convert.ToString(Request.Cookies["ShoppingCart"].Value); SplitShopString(StrShop); string StrShipping = Convert.ToString(Request.Cookies["UserShopAddInfo"].Value); SplitUserShopAddInfo(StrShipping); getPaymentDropDown(); double totFinal = Convert.ToDouble(ViewState["intGroceryTot"]) + Convert.ToDouble(ViewState["strTippingAmt"]); ViewState["TotalFinal"] = Convert.ToString(totFinal); if (Request.Cookies["PaypalShopping"] != null && Request.Cookies["PaypalShopping"].Value != "") { strOrdPayType = Convert.ToString(Request.Cookies["PaypalShopping"].Value); insertOrder = dbInfo.InsertOrderInformation(Convert.ToInt32(Request.Cookies["userId"].Value), Convert.ToString(ViewState["strAddress1"]), Convert.ToString(ViewState["strAddress2"]), Convert.ToString(ViewState["strCity"]), Convert.ToString(ViewState["strState"]), Convert.ToString(ViewState["strZip"]), Convert.ToString(ViewState["strSpecial"]), DateTime.Now, Convert.ToDateTime(ViewState["strDelDate"]), Convert.ToString(ViewState["strTimeValue"]), Convert.ToDouble(ViewState["TotalFinal"]), Convert.ToDouble(ViewState["grocerytotal"]), Convert.ToDouble(ViewState["strTippingAmt"]), Convert.ToDouble(ViewState["OrdSoda"]), Convert.ToDouble(ViewState["OrdDelFee"]), Convert.ToDouble(ViewState["CompCost"]), orderNum, Convert.ToString(strOrdPayType), Convert.ToDouble(ViewState["OrdTax"]), 1, 1, 1, 1, 1); if (insertOrder > 0) { //Insert order product Information InsertProductOrderInfo(insertOrder); //Insert Transaction Information if (strOrdPayType == Convert.ToString(AppConstants.strAFCC)) { InsertTransactionDetails(strOrdPayType, insertOrder, strTransId); } //Insert Loyality Fund Information //InsertLoyalityFund(insertOrder); //update delivery capacity information UpdateDeliveryTime(); HttpCookie DepositFund = new HttpCookie("DepositFund", null); Response.Cookies.Add(DepositFund); Response.Redirect("OrderConfirmation.aspx?orderId=" + insertOrder, false); } } else { int intAdd = AddTransaction(strTransId, Convert.ToString(Request.Cookies["DepositFund"].Value)); if (intAdd == 1) { HttpCookie DepositFund = new HttpCookie("DepositFund", null); Response.Cookies.Add(DepositFund); Response.Redirect("AccountFunds.aspx?checkDep=1", false); } // Response.Redirect("AccountFunds.aspx?checkDep=1&id=" + strTransId, false); } } else { int intAdd = AddTransaction(strTransId, Convert.ToString(Request.Cookies["DepositFund"].Value)); if (intAdd == 1) { HttpCookie DepositFund = new HttpCookie("DepositFund", null); Response.Cookies.Add(DepositFund); Response.Redirect("AccountFunds.aspx?checkDep=1", false); } // Response.Redirect("AccountFunds.aspx?checkDep=1&id=" + strTransId, false); } } } } }
public static PDTHolder Parse(string postData) { String sKey, sValue; PDTHolder ph = new PDTHolder(); try { //split response into string array using whitespace delimeter String[] StringArray = postData.Split('\n'); // NOTE: /* * loop is set to start at 1 rather than 0 because first * string in array will be single word SUCCESS or FAIL * Only used to verify post data */ // use split to split array we already have using "=" as delimiter int i; for (i = 1; i < StringArray.Length - 1; i++) { String[] StringArray1 = StringArray[i].Split('='); sKey = StringArray1[0]; sValue = HttpUtility.UrlDecode(StringArray1[1]); // set string vars to hold variable names using a switch switch (sKey) { case "mc_gross": ph.GrossTotal = Convert.ToDouble(sValue); break; case "invoice": ph.InvoiceNumber = Convert.ToInt32(sValue); break; case "payment_status": ph.PaymentStatus = Convert.ToString(sValue); break; case "first_name": ph.PayerFirstName = Convert.ToString(sValue); break; case "mc_fee": ph.PaymentFee = Convert.ToDouble(sValue); break; case "business": ph.BusinessEmail = Convert.ToString(sValue); break; case "payer_email": ph.PayerEmail = Convert.ToString(sValue); break; case "Tx Token": ph.TxToken = Convert.ToString(sValue); break; case "last_name": ph.PayerLastName = Convert.ToString(sValue); break; case "receiver_email": ph.ReceiverEmail = Convert.ToString(sValue); break; case "item_name": ph.ItemName = Convert.ToString(sValue); break; case "mc_currency": ph.Currency = Convert.ToString(sValue); break; case "txn_id": ph.TransactionId = Convert.ToString(sValue); break; case "custom": ph.Custom = Convert.ToString(sValue); break; case "subscr_id": ph.SubscriberId = Convert.ToString(sValue); break; } } return(ph); } catch (Exception ex) { throw ex; } }
public static PDTHolder Parse(string postData) { String sKey, sValue; PDTHolder ph = new PDTHolder(); try { //split response into string array using whitespace delimeter String[] StringArray = postData.Split('\n'); // NOTE: /* * loop is set to start at 1 rather than 0 because first string in array will be single word SUCCESS or FAIL Only used to verify post data */ // use split to split array we already have using "=" as delimiter int i; for (i = 1; i < StringArray.Length - 1; i++) { String[] StringArray1 = StringArray[i].Split('='); sKey = StringArray1[0]; sValue = HttpUtility.UrlDecode(StringArray1[1]); // set string vars to hold variable names using a switch switch (sKey) { case "mc_gross": ph.GrossTotal = Convert.ToDouble(sValue); break; case "invoice": ph.InvoiceNumber = Convert.ToInt32(sValue); break; case "payment_status": ph.PaymentStatus = Convert.ToString(sValue); break; case "first_name": ph.PayerFirstName = Convert.ToString(sValue); break; case "mc_fee": ph.PaymentFee = Convert.ToDouble(sValue); break; case "business": ph.BusinessEmail = Convert.ToString(sValue); break; case "payer_email": ph.PayerEmail = Convert.ToString(sValue); break; case "Tx Token": ph.TxToken = Convert.ToString(sValue); break; case "last_name": ph.PayerLastName = Convert.ToString(sValue); break; case "receiver_email": ph.ReceiverEmail = Convert.ToString(sValue); break; case "item_name": ph.ItemName = Convert.ToString(sValue); break; case "mc_currency": ph.Currency = Convert.ToString(sValue); break; case "txn_id": ph.TransactionId = Convert.ToString(sValue); break; case "custom": ph.Custom = Convert.ToString(sValue); break; case "subscr_id": ph.SubscriberId = Convert.ToString(sValue); break; } } return ph; } catch (Exception ex) { throw ex; } }
public ActionResult Success() { string authToken, txToken, query; string strResponse; if (Request.HttpMethod != "POST") { authToken = WebConfigurationManager.AppSettings["PDTToken"]; // read in txn token from querystring txToken = Request.QueryString.Get("tx"); query = string.Format("cmd=_notify-synch&tx={0}&at={1}", txToken, authToken); // crate the request back string url = WebConfigurationManager.AppSettings["PayPalSubmitUrl"]; HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); // Set values for the request back req.Method = "POST"; req.ContentType = "application/x-www-form-urlencoded"; req.ContentLength = query.Length; // Write the request back IPN strings StreamWriter stOut = new StreamWriter(req.GetRequestStream(), System.Text.Encoding.ASCII); stOut.Write(query); stOut.Close(); // Do the request to PayPal and get the response StreamReader stIn = new StreamReader(req.GetResponse().GetResponseStream()); strResponse = stIn.ReadToEnd(); stIn.Close(); // If response was SUCCESS, parse response string and output details if (strResponse.StartsWith("SUCCESS")) { PDTHolder pdt = PDTHolder.Parse(strResponse); int pTicketId = int.Parse(pdt.Custom); // ViewBag.Text = string.Format("Thank you {0} {1} [{2}] for your payment of {3} {4}!", // pdt.PayerFirstName, pdt.PayerLastName, pdt.PayerEmail, pdt.GrossTotal, pdt.Custom); Ticket ticket = this.unitOfWork.TicketRepository.Get(t => t.TicketId == pTicketId).FirstOrDefault(); Ticket oldTicket = (Ticket)Session["BuyingTicket"]; if (oldTicket != null) { if (oldTicket.EventId != ticket.EventId || oldTicket.SeriesNumber != ticket.SeriesNumber || oldTicket.Status != ticket.Status || oldTicket.Seat != ticket.Seat || oldTicket.SellPrice != ticket.SellPrice) { return(View("Changed")); } } ViewBag.PayerFirstName = pdt.PayerFirstName; ViewBag.User = ticket.User.UserName; ViewBag.PayerLastName = pdt.PayerLastName; ViewBag.OrderId = pdt.TransactionId; ViewBag.Name = ticket.Event.EventName; ViewBag.Price = pdt.GrossTotal; ViewBag.Currency = pdt.Currency; if (ModelState.IsValid) { if (ticket.TranStatus == null) { if (ticket.TranType == (int)Statuses.TranType.InstantPayment) { Ticket checkout = new Ticket() { TicketId = ticket.TicketId, SeriesNumber = ticket.SeriesNumber, TranUserId = ticket.TranUserId, TranFullName = ticket.TranFullName, TranAddress = ticket.TranAddress, TranType = ticket.TranType, TranStatus = (int)Statuses.Transaction.Paid, EventId = ticket.EventId, UserId = ticket.UserId, SellPrice = ticket.SellPrice, ReceiveMoney = ticket.ReceiveMoney, ShippingCost = ticket.ShippingCost, Seat = ticket.Seat, Status = ticket.Status, Description = ticket.Description, CreatedDate = ticket.CreatedDate, TranCreatedDate = ticket.TranCreatedDate, TranModifiedDate = DateTime.Now, TranDescription = ticket.TranDescription, TranPaymentStatus = (int)Statuses.Payment.Transfered }; this.unitOfWork.TicketRepository.AddOrUpdate(checkout); this.unitOfWork.Save(); } else { Ticket checkout = new Ticket() { TicketId = ticket.TicketId, SeriesNumber = ticket.SeriesNumber, TranUserId = ticket.TranUserId, TranFullName = ticket.TranFullName, TranAddress = ticket.TranAddress, TranType = ticket.TranType, TranStatus = (int)Statuses.Transaction.Paid, EventId = ticket.EventId, UserId = ticket.UserId, SellPrice = ticket.SellPrice, ReceiveMoney = ticket.ReceiveMoney, ShippingCost = ticket.ShippingCost, Seat = ticket.Seat, Status = ticket.Status, Description = ticket.Description, CreatedDate = ticket.CreatedDate, TranCreatedDate = ticket.TranCreatedDate, TranModifiedDate = DateTime.Now, TranDescription = ticket.TranDescription }; this.unitOfWork.TicketRepository.AddOrUpdate(checkout); this.unitOfWork.Save(); } } else { return(View("Error")); } } } else { ViewBag.Text = "Cố lỗi xảy ra"; } } return(View()); }
public ActionResult Success() { ViewBag.result = PDTHolder.Success(Request.QueryString.Get("tx")); return(View("Success")); }
public ActionResult OrderConfirmation() { ViewBag.result = PDTHolder.Success(Request.QueryString.Get("tx")); return(View("orderConfirmation")); }
public async Task <IActionResult> Success() { //This action returns the result of the payment. //This is when the order will receive it's first update: it's either payed or encountered an error. var result = PDTHolder.Success(Request.Query["tx"].ToString()); //Update the order status and history, update the offeredservice //Get previously entered order information string form = HttpContext.Session.GetString("FORM"); char separator = ';'; string[] formVars = form.Split(separator); //Send a confirmation email await ConstructOrderVerificationMailAsync(formVars); string email = formVars[4]; List <int> offeredServiceIds = ParsePursToList(); foreach (int olsId in offeredServiceIds) { //Fetch the order id int orderId = MollShopContext.FindOrderId(olsId, email); //Insert a new order history tbl_orderhistory history = new tbl_orderhistory(); history.fld_ActionDate = DateTime.Now; history.fld_lastAction = "Paid order"; history.fld_orderstatus = "Sent"; history.fld_orderid = orderId; MollShopContext.CreateRow(history, "tbl_orderhistory"); //Insert a new order status tbl_orderstatus orderStatus = new tbl_orderstatus(); orderStatus.fld_dateOrdered = DateTime.Now; orderStatus.fld_orderid = orderId; orderStatus.fld_targetDeliveryDate = DateTime.Now.AddDays(7); orderStatus.fld_DateUpdated = DateTime.Now; MollShopContext.CreateRow(orderStatus); //Set the availability of the service to 'N' //ElasticSearch EsUpdater <OfferedLabourerService> .UpdateField("" + olsId, "fld_stillavailable", 'N'); //Database tbl_offeredservicesdata os = new tbl_offeredservicesdata(); os.fld_stillavailable = 'N'; MollShopContext.UpdateRow(os, "fld_OfferedServiceId", olsId); } return(View("Success")); }