public async Task <IViewComponentResult> InvokeAsync() { var stripeProvider = await _paymentProviderRepository.Query().FirstOrDefaultAsync(x => x.Id == PaymentProviderHelper.StripeProviderId); var stripeSetting = JsonConvert.DeserializeObject <StripeConfigForm>(stripeProvider.AdditionalSettings); var curentUser = await _workContext.GetCurrentUser(); var cart = await _cartService.GetActiveCartDetails(curentUser.Id); var zeroDecimalAmount = cart.OrderTotal; if (!CurrencyHelper.IsZeroDecimalCurrencies(_currencyService.CurrencyCulture)) { zeroDecimalAmount = zeroDecimalAmount * 100; } var regionInfo = new RegionInfo(_currencyService.CurrencyCulture.LCID); var model = new StripeCheckoutForm(); model.PublicKey = stripeSetting.PublicKey; model.Amount = (long)zeroDecimalAmount; model.ISOCurrencyCode = regionInfo.ISOCurrencySymbol; return(View(this.GetViewPath(), model)); }
public async Task <IViewComponentResult> InvokeAsync() { var stripeProvider = await _paymentProviderRepository.Query().FirstOrDefaultAsync(x => x.Id == PaymentProviderHelper.StripeProviderId); var stripeSetting = JsonConvert.DeserializeObject <StripeConfigForm>(stripeProvider.AdditionalSettings); var curentUser = await _workContext.GetCurrentUser(); var cart = await _cartService.GetCart(curentUser.Id); var zeroDecimalAmount = cart.OrderTotal; if (!CurrencyHelper.IsZeroDecimalCurrencies()) { zeroDecimalAmount = zeroDecimalAmount * 100; } var regionInfo = new RegionInfo(CultureInfo.CurrentCulture.LCID); var model = new StripeCheckoutForm(); model.PublicKey = stripeSetting.PublicKey; model.Amount = (int)zeroDecimalAmount; model.ISOCurrencyCode = regionInfo.ISOCurrencySymbol; return(View("/Modules/SimplCommerce.Module.PaymentStripe/Views/Components/StripeLanding.cshtml", model)); }