public List <PaypalShippingOption> Get(PaypalShippingInfo info) { CartModel cart = _paypalExpressCartLoader.GetCart(info.Token); if (cart == null) { return(new List <PaypalShippingOption>()); } _cartManager.SetShippingAddress(info.ToAddress(), cart.UserGuid); cart = _cartBuilder.BuildCart(cart.UserGuid); IOrderedEnumerable <IShippingMethod> orderedEnumerable = _shippingMethodUIService.GetEnabledMethods() .FindAll(method => method.CanBeUsed(cart)) .OrderBy(method => method.GetShippingTotal(cart)); List <PaypalShippingOption> paypalShippingOptions = orderedEnumerable.Select(x => new PaypalShippingOption { Amount = x.GetShippingTotal(cart), Default = false, InsuranceAmount = 0m, DisplayName = x.DisplayName, Label = string.Format("({0})", x.Name), TotalTax = cart.ItemTax }).ToList(); if (paypalShippingOptions.Any()) { paypalShippingOptions[0].Default = true; } return(paypalShippingOptions); }
public ActionResult Handler(PaypalShippingInfo info) { var options = _getPaypalShippingOptions.Get(info); return(new CallbackResponseResult(options)); }