public async Task <IActionResult> Pay(string id) { var userId = this.userManager.GetUserId(this.User); var payment = await this.paymentService.GetPaymentDetailsAsync(id, userId); if (payment.RecipientHasStripeAccount == false && this.User.IsInRole(OwnerRoleName)) { return(this.RedirectToAction("Index", "Dashboard", new { area = ManagementArea }) .WithWarning(string.Empty, string.Format(ManagerHasNotStripeAccount, payment.To))); } var viewModel = new CheckoutPaymentViewModel { Id = payment.Id, Date = payment.Date, To = payment.To, ToStripeAccountId = payment.ToStripeAccountId, Reason = payment.Reason, Amount = payment.Amount, Status = payment.Status, Address = payment.Address, }; return(this.View(viewModel)); }
public async Task <IActionResult> Success(string sessionId) { var userId = this.userManager.GetUserId(this.User); bool compare = await this.paymentCommonService.CompareData(sessionId); if (string.IsNullOrWhiteSpace(sessionId) || compare == false) { return(this.RedirectToAction(nameof(ProfileController.Index), "Home", new { area = string.Empty }) .WithWarning(string.Empty, NiceTry)); } var paymentId = await this.paymentCommonService.GetPaymentId(sessionId); var model = await this.paymentCommonService.GetPaymentDetailsAsync(paymentId, userId); var viewModel = new CheckoutPaymentViewModel { Reason = model.Reason, Amount = model.Amount, To = model.To, Address = model.Address, TransactionDate = model.TransactionDate?.ToString(DateFormatWithTime), }; return(this.View(viewModel)); }
public virtual ActionResult CheckoutPayment() { var checkoutPaymentViewModel = new CheckoutPaymentViewModel { IsLoading = true }; var getPaymentProvidersParam = new GetPaymentProvidersParam { Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo }; checkoutPaymentViewModel.Context.Add("PaymentProviders", PaymentViewService.GetPaymentProvidersAsync(getPaymentProvidersParam).Result.ToList()); return(View("CheckoutPaymentContainer", checkoutPaymentViewModel)); }
protected virtual async Task <CheckoutPaymentViewModel> MapCheckoutPaymentViewModel(Overture.ServiceModel.Orders.Cart cart, List <IPaymentMethodViewModel> paymentMethodViewModels, CultureInfo cultureInfo, bool isAuthenticated) { var payment = GetActivePayment(cart); if (payment == null) { return(null); } var paymentId = payment.Id; ActivePaymentViewModel activePaymentVm = null; if (payment.PaymentMethod != null) { var provider = PaymentProviderFactory.ResolveProvider(payment.PaymentMethod.PaymentProviderName); activePaymentVm = GetActivePaymentViewModel(new GetActivePaymentViewModelParam { Cart = cart, CultureInfo = cultureInfo, PaymentProvider = provider, IsAuthenticated = isAuthenticated }); var activePaymentMethodVm = paymentMethodViewModels.FirstOrDefault( pm => pm.Id == payment.PaymentMethod.Id && pm.PaymentProviderName == payment.PaymentMethod.PaymentProviderName && pm.IsValid); if (activePaymentMethodVm != null) { activePaymentMethodVm.IsSelected = true; } // If active payment is set to soemthing that doesn't exists anymore // Select the first payment method available... if (activePaymentVm != null && activePaymentMethodVm == null) { activePaymentVm = await UpdateActivePaymentMethodAsync(new UpdatePaymentMethodParam { CartName = cart.Name, CultureInfo = cultureInfo, CustomerId = cart.CustomerId, IsAuthenticated = isAuthenticated, Scope = cart.ScopeId, PaymentId = activePaymentVm.Id, PaymentMethodId = paymentMethodViewModels.First().Id, PaymentProviderName = paymentMethodViewModels.First().PaymentProviderName, }).ConfigureAwait(false); paymentId = activePaymentVm.Id; paymentMethodViewModels.First().IsSelected = true; } } var vm = new CheckoutPaymentViewModel { PaymentId = paymentId, PaymentMethods = paymentMethodViewModels, ActivePaymentViewModel = activePaymentVm }; return(vm); }