public ActionResult ProceedToPaypal(Student student) { try { string encodemodel = System.Web.Helpers.Json.Encode(student); string data = Uri.EscapeDataString(encodemodel); Context db = new Context(); string subdomain = Request.Url.Host.Split(new char[] { '.' })[0]; var oSetting = (from setting in db.EnrolSetting join company in db.Company on setting.CompanyID equals company.CompanyID where setting.SiteName == subdomain select new { companyid = setting.CompanyID, brand = company.CompanyName, domain = setting.SiteName, logo = setting.LogoUrl, webexperienceid = setting.WebExperienceID, payee = setting.PaypalEmail }).FirstOrDefault(); string WebExperienceProfileID = oSetting.webexperienceid; if (string.IsNullOrWhiteSpace(WebExperienceProfileID)) { WebExperienceProfileID = PaypalService.webexperience(oSetting.domain, oSetting.brand, oSetting.logo); string query = "Update EnrollSettings Set WebExperienceID = '" + WebExperienceProfileID + "' Where CompanyID = " + oSetting.companyid; var QueryResult = db.Database.ExecuteSqlCommand(query); } var payment = PaypalService.CreatePayment(GetBaseUrl(), "sale", (student.TotalClassPrice - student.DiscountPrice).ToString(), oSetting.payee, WebExperienceProfileID, data); string approvlurl = payment.GetApprovalUrl(); return(Redirect(approvlurl)); } catch (Exception ex) { FlashMessage.Warning(ex.Message); return(RedirectToAction("RegistrationError")); } }
public PaymentService(PaypalService paypalService, FairplaytubeDatabaseContext fairplaytubeDatabaseContext, ILogger <CustomHttpClientHandler> customHttpClientHandlerLogger) { this.FairplaytubeDatabaseContext = fairplaytubeDatabaseContext; this.PaypalService = paypalService; this.CustomHttpClientHandlerLogger = customHttpClientHandlerLogger; }
public PaypalController(PaypalService paypalService, PackageService packageService, SessionHandler sessionHandler, DonationTransactionService cashTransactionService) { _paypalService = paypalService; _packageService = packageService; _donationTransactionService = cashTransactionService; _sessionUser = sessionHandler.GetSessionUser(); }
public PayoutService(PaypalService paypalService, FairplaytubeDatabaseContext fairplaytubeDatabaseContext, ICurrentUserProvider currentUserProvider, IStringLocalizer <PayoutService> localizer) { this.PaypalService = paypalService; this.FairplaytubeDatabaseContext = fairplaytubeDatabaseContext; this.CurrentUserProvider = currentUserProvider; Localizer = localizer; }
public async Task <PaymentProcessed> VerifyRequest([ActivityTrigger] string reqBody, ILogger log) { log.LogInformation("Started VerifyRequest"); var result = await PaypalService.VerifyRequestAsync(reqBody); log.LogInformation(result.IsSuccess.ToString()); log.LogInformation(result.Error); log.LogInformation("Exited VerifyRequest"); return(result.Result); }
public void Run() { loginer = new Loginer(); registration = new Registration(); passwordWriter = new PasswordWriter(); dbManager = new DbManager(); users = new List <User>(); cart = new List <Product>(); paypalService = new PaypalService(); while (true) { switch (MainMenu()) { case 1: { if (LoginMenu()) { InnerMenu(); } break; } case 2: { users = dbManager.SelectUsers(); User newUser; if (registration.TryAddUser(users, out newUser)) { WriteLine("Регистрация успешна!"); dbManager.InsertUser(newUser); } else { WriteLine("Регистрация прервана."); } break; } case 3: { WriteLine("До свидания!"); Environment.Exit(0); break; } } } }
protected void CheckoutWithPaypal(object sender, EventArgs e) { if (!Page.IsValid) { LoadBasket(); return; } Log("Start Payment Process - Paypal: " + DateTime.Now + Environment.NewLine + "Lock session for checkout: " + DateTime.Now); var customerSession = UpdateCustomerSession(); var basket = GetBasketByExternalSession(); if (basket == null)//we are in trouble. { var externalSessionId = AuthenticationService.GetExternalSessionId(ExternalBasketCookieName); DisplayError(GetTranslation("Session_Basket_NotFound"), "No Basket was found matching sessionId: " + externalSessionId); return; } var sessionId = AuthenticationService.GetSessionId(SessionCookieName); // var session = AuthenticationService.GetSession(sessionId); PaypalService.SetUserSessionId(sessionId.ToString()); var paypalOrder = BasketService.BuildPayPalOrder(basket); var paypalResult = PaypalService.ShortcutExpressCheckout(PayPalSuccessUrl, PayPalCancelUrl, null, paypalOrder, false, "Mark"); if (paypalResult.IsError) { Response.Redirect("~/Error/ExternalAPiError/"); } else { CurrentSession.PayPalToken = paypalResult.Token; CurrentSession.PayPalOrderId = paypalResult.Transaction_Id; AuthenticationService.UpdateSession(CurrentSession); Response.Redirect(paypalResult.RedirectURL); } }
public ActionResult OnAuthorizedPayment(string data, string paymentID, string payerID) { try { Context db = new Context(); JavaScriptSerializer jss = new JavaScriptSerializer(); Student model = jss.Deserialize <Student>(data); var payment = PaypalService.ExecutePayment(paymentID, payerID); if (payment.state == "approved") { int StudentID = SaveRegistration(model); StudentPayment pay = new StudentPayment(); pay.PaymentID = 0; pay.PaymentDate = DateTime.Now.Date; pay.TransactionID = payment.id; pay.type = "Paypal"; pay.StudentID = StudentID; pay.Detail = ""; pay.Amount = (model.TotalClassPrice - model.DiscountPrice); db.StudentPayment.Add(pay); db.SaveChanges(); Utilities.AssignKeycodesToCourseAddons(model.SelectedOptions, model.FirstName, model.LastName, model.Email, model.ClassID, StudentID); Utilities.SendClassRegistrationConfirmationToStudent(model); return(RedirectToAction("RegistrationConfirmed", new { id = StudentID })); } else { FlashMessage.Warning("Paypal Transaction Fail"); return(RedirectToAction("RegistrationError")); } } catch (Exception ex) { FlashMessage.Warning(ex.Message); return(RedirectToAction("RegistrationError")); } }
private void GetPayerDetails() { Log("BookingAddressPayPal => GetPayerDetails() - started."); if (_session == null) { _session = GetSession(); } Log("BookingAddressPayPal => GetPayerDetails() - Confirming Checkout Details."); var paypalDetails = PaypalService.ConfirmCheckoutDetails(_session.PayPalToken); Log("Updating Paypal Payment details"); _session.PayPalPayerId = paypalDetails.PayPalReturnUserInfo.Payer_Id; _session.PayPalOrderId = paypalDetails.Transaction_Id; AuthenticationService.UpdateSession(_session); if (paypalDetails.PayPalReturnUserInfo.Firstname != null) { //populate user details form. and update address session details. PopulateCustomerDetails(paypalDetails); } }
protected void CompletePaypalCheckout(object sender, EventArgs e) { if (!Page.IsValid) { return; } var orderId = string.Empty; var bCheckoutCompleted = false; try { // end create new user var newUser = CreateUser(); _session.InCheckoutProccess = false; _session.InOrderCreationProcess = true; AuthenticationService.UpdateSession(_session); if (_session.BasketId == null) { Log("Invalid or missing basket in session. Id:" + _session.Id); return; } //_basket = BasketService.GetBasket(_session.BasketId.Value); var isoCurrencyCode = CurrencyService.GetCurrencyIsoCodeById(_session.CurrencyId); Log("Paypal log- payment to take next, next is order"); var payPalReturn = PaypalService.ConfirmPayment((_basket.Total.ToString(CultureInfo.InvariantCulture)), isoCurrencyCode, _session.PayPalToken, _session.PayPalPayerId); Log("Paypal log- payment taken, next is order, paypal return status: " + payPalReturn.ErrorMessage); _session.PayPalOrderId = payPalReturn.Transaction_Id; AuthenticationService.UpdateSession(_session); if (payPalReturn.IsError) { throw new Exception(payPalReturn.ErrorMessage); } //create the order. var order = CheckoutService.CreateOrderPayPal(_session, _basket, newUser, GetClientIpAddress(), CurrentLanguageId, MicrositeId); //persist address CheckoutService.CreateAddressPaypal(order, _session, newUser); //create barcodes Log("Payment success - Generate barcode"); GenerateOrderBarcodes(order); //send booking to ECR. Log("Sending booking to ECR basketid: " + _basket.Id); var result = SendBookingToEcr(order); //result from booking must be there. if (result == null) { JumpToOrderCreationError("Booking_failed", "SendBooking() to Ecr Failed"); return; } //clear cookie sessions and remove session from checkout mode ClearCheckoutCookies(); //Prepare email notifications CreateOrderConfirmationEmail(order); orderId = order.Id.ToString(); bCheckoutCompleted = true; } catch (Exception ex) { Log("Paypal Payment Error: " + ex.Message); bCheckoutCompleted = false; } finally { UnlockSessionFromOrderCreationLock(_session); Log("PayPal Payment - Session unlocked"); } //Redirect user to order confirmation page or error Response.Redirect(bCheckoutCompleted ? string.Format("~/BookingCompleted.aspx?oid={0}", orderId) : @"~/ErrorPages/BookingError.aspx"); }