Esempio n. 1
0
        public ActionResult PayPalConfirm(PayPalExpressCheckoutConfirmation data)
        {
            var operation = new PayPalDoExpressCheckoutPaymentOperation
            {
                PayerId = data.PayerId,
                Token   = data.Token,
            };

            this.FillOperationDetails(operation, true);

            this.DoExpressCheckoutPayment(operation);

            return(this.RedirectToAction("PaymentConfirmed"));
        }
Esempio n. 2
0
 public ActionResult PaymentConfirmed(PayPalExpressCheckoutConfirmation data)
 {
     return(this.View());
 }
        /// <summary>
        /// Action that termitates the payment process, and then redirects to PaymentConfirmed action.
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public ActionResult PayPalConfirm(PayPalExpressCheckoutConfirmation data)
        {
            var operation = new PayPalDoExpressCheckoutPaymentOperation
            {
                PayerId = data.PayerId,
                Token = data.Token,
            };
            FillOperationDetails(operation, null, null, null);

            this.DoExpressCheckoutPayment(operation);

            return this.RedirectToAction("PaymentConfirmed");
        }
        public ActionResult PayPalConfirm(string practice, PayPalExpressCheckoutConfirmation data)
        {
            var mainContract = dbPractice.AccountContract;

            var billing = db.Billings.Single(b => b.PracticeId == dbPractice.Id
                && b.MainAccountContractId == dbPractice.ActiveAccountContractId
                && b.ReferenceDate == null);

            var utcNow = this.GetUtcNow();

            dbPractice.VerificationDate = utcNow;
            dbPractice.VerificationMethod = "PAYMENT";
            mainContract.StartDate = utcNow;
            mainContract.IsPartialBillingInfo = false;
            billing.ReferenceDate = utcNow;
            if (mainContract.BillingPeriodType == "M" && mainContract.BillingPeriodSize.HasValue)
                billing.ReferenceDateEnd = utcNow.AddMonths(mainContract.BillingPeriodSize.Value);
            else
                throw new NotImplementedException();

            this.db.SaveChanges();

            var operation = new PayPalDoExpressCheckoutPaymentOperation
            {
                PayerId = data.PayerId,
                Token = data.Token,
            };
            ConfigAccountController.FillOperationDetails(operation, dbPractice, mainContract, billing);

            this.DoExpressCheckoutPayment(operation);

            return this.RedirectToAction("PayPalConfirmed", new { practice });
        }
 public ActionResult PaymentConfirmed(PayPalExpressCheckoutConfirmation data)
 {
     return this.View();
 }