示例#1
0
        public ActionResult PaymentSuccessful(string paymentId, string token, string PayerID)
        {
            // Execute Payment
            var payment = PayPalPaymentService.ExecutePayment(paymentId, PayerID);

            return(View());
        }
示例#2
0
        public ActionResult PaymentSuccessful(string paymentId, string token, string PayerID)
        {
            // Execute Payment
            var payment = PayPalPaymentService.ExecutePayment(paymentId, PayerID);

            Session["Cart"] = null;

            ConfirmationViewModel confirmModel = (ConfirmationViewModel)Session["Command"];

            var toAddress   = confirmModel.coordonneesViewModel.Email;
            var fromAddress = "*****@*****.**";
            var subject     = "Your Ticket";
            var message     = new StringBuilder();
            int j           = 0;

            foreach (var trip in confirmModel.superTripViewModel) //make disctionnary trip, people
            {
                for (var i = 0; i < trip.Quantity; i++)
                {
                    message.Append("Ticket for trip from : " + trip.DepartureStation + " to " + trip.ArrivalStation + "\n");
                    message.Append("Departure date : " + trip.DepartureDate + " Arrival date " + trip.ArrivalDate + "\n");
                    message.Append("Ticket For : " + confirmModel.personneViewModel[j + i].FirstName + confirmModel.personneViewModel[j + i].LastName + "\n");
                }
                j++;
            }

            //start email Thread
            var tEmail = new Thread(() => SendEmail(toAddress, fromAddress, subject, message.ToString()));

            tEmail.Start();

            //TODO mail success + save database
            return(RedirectToAction("Buy"));
        }
示例#3
0
        public ActionResult CreatePaymentRequest(string emailId, decimal amount)
        {
            string paypalEmailID = String.Empty;

            using (var conn = new MySqlConnection(ConnectionString.Get("EscademyDB")))
            {
                conn.Open();


                using (var cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "SELECT * FROM esc_accounts WHERE Email=@EmailId";
                    cmd.Parameters.AddWithValue("@EmailId", emailId);
                    var reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        paypalEmailID = reader.GetString("PaypalEmail");
                    }
                }
                conn.Close();
            }
            var payment = PayPalPaymentService.CreatePayment(GetBaseUrl(), "sale", paypalEmailID, amount);

            return(Redirect(payment.GetApprovalUrl()));
        }
        public async Task <IActionResult> AuthorizeSuccessful(string paymentId, string token, string PayerID)
        {
            // Capture Payment
            var capture = await PayPalPaymentService.CapturePayment(paymentId, PayerID);

            return(View());
        }
示例#5
0
        public IActionResult AuthorizeSuccessful(string paymentId, string token, string PayerID)
        {
            // Capture Payment
            var capture = PayPalPaymentService.CapturePayment(paymentId);

            return(Ok());
        }
        public async Task <IActionResult> PaymentSuccessfull(string paymentId, string token, string PayerID)
        {
            List <user>     users      = _context.users.ToList();
            List <category> categories = _context.categories.ToList();
            // Execute Payment
            var payment        = PayPalPaymentService.ExecutePayment(paymentId, PayerID);
            var pjid           = HttpContext.Session.GetInt32("pjid");
            var currentProject = await _context.projects.FirstOrDefaultAsync(m => m.id == pjid);

            int userSub = currentProject.fkuser.id;

            HttpContext.Session.SetInt32("userSub", userSub);

            var donation = HttpContext.Session.GetString("donation");

            currentProject.projectamountraised = currentProject.projectamountraised + Double.Parse(donation);
            int subOrdinary     = Convert.ToInt32(HttpContext.Session.GetInt32("subOrdinary"));
            int subPreferencial = Convert.ToInt32(HttpContext.Session.GetInt32("subPreferencial"));
            int subNonvoting    = Convert.ToInt32(HttpContext.Session.GetInt32("subNonvoting"));
            int subRedeemable   = Convert.ToInt32(HttpContext.Session.GetInt32("subRedeemable"));

            currentProject.nbshareordinary     = currentProject.nbshareordinary - subOrdinary;
            currentProject.nbsharepreferencial = currentProject.nbsharepreferencial - subPreferencial;
            currentProject.nbsharenonvoting    = currentProject.nbsharenonvoting - subNonvoting;
            currentProject.nbshareredeemable   = currentProject.nbshareredeemable - subRedeemable;

            _context.Update(currentProject);
            await _context.SaveChangesAsync();

            //updateUserShares();
            return(RedirectToAction("createNewTransaction", "project"));
        }
示例#7
0
        public ActionResult CreatePayment()
        {
            var baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/";
            var payment = PayPalPaymentService.CreatePayment(baseUrl, "sale");

            return(Redirect(payment.GetApprovalUrl()));
        }
        public async Task <IActionResult> AuthorizePayment()
        {
            var payment = await PayPalPaymentService.CreatePayment(GetBaseUrl(), "authorize");

            var redirectUrl = payment.Links.FirstOrDefault(f => f.Rel == "approval_url").Href;

            return(Redirect(redirectUrl));
        }
示例#9
0
        public ActionResult CreatePayment(ConfirmationViewModel model)
        {
            //need model state valid + redirect to action if error
            Session["Command"] = model;
            var payment = PayPalPaymentService.CreatePayment(GetBaseUrl(), "sale", (double)Session["TotalPrice"]);

            return(Redirect(payment.GetApprovalUrl()));
        }
        public void Add_New_Payment_If_Payment_Is_Null()
        {
            // Create object PayPalService
            var payPalService = new PayPalPaymentService(mockPayment.Object, mockDefrayal.Object, mockCart.Object);

            PayPal.Api.Payment paymentTest = null;

            // Write result method AddPayment in actual1
            Assert.Throws <InvalideDecerializableExceptions>(() => payPalService.AddPayment(paymentTest, 1));
        }
        public void Add_New_Payment_If_Payment_State_Is_Failed()
        {
            // Setup mockPayment
            mockPayment.Setup(item => item.Find(It.IsAny <Expression <Func <PayPalPaymentDbModel, bool> > >()))
            .Returns(() => new Collection <PayPalPaymentDbModel>());

            payment.state = "failed";

            // Create object PayPalService
            var payPalService = new PayPalPaymentService(mockPayment.Object, mockDefrayal.Object, mockCart.Object);

            // Check result method AddPayment in actual1
            Assert.Throws <OperationPaymentException>(() => payPalService.AddPayment(payment, 1));
        }
        public void Add_New_Payment_If_Payment_Exist_In_Payment()
        {
            var collectionFind = new Collection <PayPalPaymentDbModel> {
                new PayPalPaymentDbModel()
            };

            // Setup mockPayment
            mockPayment.Setup(item => item.Find(It.IsAny <Expression <Func <PayPalPaymentDbModel, bool> > >()))
            .Returns(() => collectionFind);

            // Create object PayPalService
            var payPalService = new PayPalPaymentService(mockPayment.Object, mockDefrayal.Object, mockCart.Object);

            // Check result method AddPayment in actual1
            Assert.Throws <ExistPaymentException>(() => payPalService.AddPayment(payment, 1));
        }
        public void Add_New_Payment_If_Data_Valid()
        {
            // Object as return in method SetState
            var contentCartDtoInPaid = new ContentCartDto()
            {
                ContentId = 5, StateContent = Common.Enums.CartEnums.StateCartContent.InPaid
            };

            // Setup mockCart
            mockCart.Setup(item => item.SetState(It.IsAny <long>(), It.IsAny <long>(),
                                                 It.Is <MediaShop.Common.Enums.CartEnums.StateCartContent>
                                                     (s => s == MediaShop.Common.Enums.CartEnums.StateCartContent.InPaid ||
                                                     s == MediaShop.Common.Enums.CartEnums.StateCartContent.InCart)))
            .Returns(() => contentCartDtoInPaid);
            mockCart.Setup(item => item.GetCart(It.IsAny <long>()))
            .Returns(() => cart);

            // Object as return in method Add
            var defrayalAddObject = new DefrayalDbModel()
            {
                Id = 0, ContentId = 5
            };

            //Setup mockDefrayal
            mockDefrayal.Setup(item => item.Add(It.IsAny <DefrayalDbModel>()))
            .Returns(() => defrayalAddObject).Callback(() => defrayalAddObject.Id++);

            // Setup mockPayment
            mockPayment.Setup(item => item.Find(It.IsAny <Expression <Func <PayPalPaymentDbModel, bool> > >()))
            .Returns(() => new Collection <PayPalPaymentDbModel>());
            mockPayment.Setup(item => item.Add(It.IsAny <PayPalPaymentDbModel>()))
            .Returns(() => payPalPaymentDbModel).Callback(() => payPalPaymentDbModel.Id++);

            // Create object PayPalService
            var payPalService = new PayPalPaymentService(mockPayment.Object, mockDefrayal.Object, mockCart.Object);

            // Write result method AddPayment in actual1
            var actual1 = payPalService.AddPayment(payment, 1);

            Assert.AreEqual("USD", actual1.Currency);
            Assert.AreEqual(60, actual1.Total);
            Assert.AreEqual(3, actual1.Items.Count);
        }
        public void Add_New_Payment_If_Operation_SetState_Is_Invalid()
        {
            // Setup mockCart
            mockCart.Setup(item => item.SetState(It.IsAny <long>(), It.IsAny <long>(),
                                                 It.Is <MediaShop.Common.Enums.CartEnums.StateCartContent>
                                                     (s => s == MediaShop.Common.Enums.CartEnums.StateCartContent.InPaid ||
                                                     s == MediaShop.Common.Enums.CartEnums.StateCartContent.InCart)))
            .Returns(() => throw new UpdateContentInCartExseptions());

            // Setup mockPayment
            mockPayment.Setup(item => item.Find(It.IsAny <Expression <Func <PayPalPaymentDbModel, bool> > >()))
            .Returns(() => new Collection <PayPalPaymentDbModel>());
            mockPayment.Setup(item => item.Add(It.IsAny <PayPalPaymentDbModel>()))
            .Returns(() => payPalPaymentDbModel).Callback(() => payPalPaymentDbModel.Id++);

            // Create object PayPalService
            var payPalService = new PayPalPaymentService(mockPayment.Object, mockDefrayal.Object, mockCart.Object);

            // Check result method AddPayment in actual1
            Assert.Throws <UpdateContentInCartExseptions>(() => payPalService.AddPayment(payment, 1));
        }
示例#15
0
        public IActionResult CreatePayment()
        {
            var payment = PayPalPaymentService.CreatePayment("string", "sale");

            return(Redirect(payment.GetApprovalUrl()));
        }
示例#16
0
        public IActionResult AuthorizePayment()
        {
            var payment = PayPalPaymentService.CreatePayment(GetBaseUrl(), "authorize");

            return(Redirect(payment.GetApprovalUrl()));
        }