コード例 #1
0
        public ActionResult PayBuyCreditsPartial([ModelBinder(typeof(DevExpressEditorsBinder))] Models.Credits item)
        {
            if (string.IsNullOrEmpty(Request.Params["PayerID"]))
            {
                var credits        = unitOfWork.CreditsRepo.Find(m => m.Id == item.Id);
                var guid           = Guid.NewGuid().ToString().ToLower().Replace("-", "");
                var createdPayment = paypalHelper.CreatePayment(guid, paypalHelper.BuyCredit(credits?.Credit));
                credits.PayId = createdPayment.id;
                unitOfWork.Save();
                Session.Add(guid, createdPayment.id);
                return(Redirect(
                           createdPayment.links.FirstOrDefault(m => m.rel.ToLower().Contains("approval_url"))?.href));
            }
            else
            {
                string paymentId = Session[Request.Params["guid"]].ToString();

                var payment = paypalHelper.ExecutePayment(Request.Params["PayerID"], paymentId);
                var credits = unitOfWork.CreditsRepo.Find(m => m.PayId == paymentId);
                credits.State      = "Paid";
                credits.AmountPaid = (0.05M + (credits.Credit * 0.05M));
                credits.PayBy      = User.Identity.GetUserId();
                credits.DatePaid   = DateTime.Now;
                unitOfWork.Save();
            }

            return(RedirectToAction("buycredit"));
        }
コード例 #2
0
        public ActionResult PaymentWithPaypal()
        {
            APIContext apiContext = paypalHelper.GetAPIContext();

            try
            {
                string payerId = Request.Params["PayerID"];
                if (string.IsNullOrEmpty(payerId))
                {
                    var createdPayment = paypalHelper.CreatePayment("", paypalHelper.BuyCredit(3));
                    var links          = createdPayment.links.FirstOrDefault(m => m.rel.ToLower().Contains("approval_url"));
                    //while (links.MoveNext())
                    //{
                    //    Links lnk = links.Current;
                    //    if (lnk.rel.ToLower().Trim().Equals("approval_url"))
                    //    {
                    //        paypalRedirectUrl = lnk.href;
                    //    }
                    //}

                    return(Redirect(links.href));
                }
                else
                {
                    var guid            = Request.Params["guid"];
                    var executedPayment = paypalHelper.ExecutePayment(payerId, Session[guid] as string);
                    if (executedPayment.state.ToLower() != "approved")
                    {
                    }
                }
            }
            catch (Exception ex)
            {
            }
            //on successful payment, show success page to user.
            return(RedirectToAction("buycredit", "credits"));
        }