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));
        }
Beispiel #2
0
 public async Task <IActionResult> GetClientToken()
 {
     return(Ok(await _braintreeConfiguration.GetClientToken()));
 }