private ReadOnlyCollection <PaymentMethod> GetPaymentMethods(PaymentOption paymentOption, Cart cart)
        {
            var paymentService = new PaymentServiceProvider();
            var request        = new GetPaymentMethodsRequest(paymentOption, cart.ShopName);

            var shippingParty = cart.Parties.FirstOrDefault(x => (string)x.Properties["Name"] == Constants.DefaultShipmentAddressName);

            if (shippingParty != null)
            {
                request.Properties["Country"] = shippingParty.Country;
            }

            return(paymentService.GetPaymentMethods(request).PaymentMethods);
        }
Esempio n. 2
0
        public ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> > GetPaymentMethods(string userId, PaymentOption paymentOption)
        {
            Assert.ArgumentNotNull(paymentOption, nameof(paymentOption));

            var result = new GetPaymentMethodsResult {
                Success = false
            };
            var cartResult = CartManager.GetCart(userId);

            if (!cartResult.ServiceProviderResult.Success || cartResult.Result == null)
            {
                result.SystemMessages.ToList().AddRange(cartResult.ServiceProviderResult.SystemMessages);
                return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, null));
            }

            var request = new GetPaymentMethodsRequest(cartResult.Result, paymentOption);

            result = PaymentServiceProvider.GetPaymentMethods(request);
            result.WriteToSitecoreLog();

            return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, result.PaymentMethods.ToList()));
        }