public async Task <IViewComponentResult> InvokeAsync() { var stripeProvider = await _paymentProviderRepository.Query().FirstOrDefaultAsync(x => x.Id == PaymentProviderHelper.BraintreeProviderId); var stripeSetting = JsonConvert.DeserializeObject <BraintreeConfigForm>(stripeProvider.AdditionalSettings); var curentUser = await _workContext.GetCurrentUser(); var cart = await _cartService.GetActiveCartDetails(curentUser.Id); var zeroDecimalAmount = cart.OrderTotal; if (!CurrencyHelper.IsZeroDecimalCurrencies()) { zeroDecimalAmount = zeroDecimalAmount * 100; } var regionInfo = new RegionInfo(CultureInfo.CurrentCulture.LCID); var model = new BraintreeCheckoutForm { ClientToken = await _braintreeConfiguration.GetClientToken(), Amount = (int)zeroDecimalAmount, ISOCurrencyCode = regionInfo.ISOCurrencySymbol }; return(View(this.GetViewPath(), model)); }
public async Task <IActionResult> GetClientToken() { return(Ok(await _braintreeConfiguration.GetClientToken())); }