コード例 #1
0
        public async Task <IHttpActionResult> GetPaymentMethods(GetPaymentMethodsViewModel request)
        {
            if (request == null)
            {
                return(BadRequest("Request cannot be null."));
            }

            var trustImageVm = ImageService.GetCheckoutTrustImageViewModel(ComposerContext.CultureInfo);

            var vm = await PaymentViewService.GetPaymentMethodsAsync(new GetPaymentMethodsParam
            {
                Scope           = ComposerContext.Scope,
                CultureInfo     = ComposerContext.CultureInfo,
                ProviderNames   = request.Providers.ToList(),
                CartName        = CartConfiguration.ShoppingCartName,
                CustomerId      = ComposerContext.CustomerId,
                IsAuthenticated = ComposerContext.IsAuthenticated
            });

            if (vm?.ActivePaymentViewModel != null)
            {
                vm.ActivePaymentViewModel.CreditCardTrustImage = trustImageVm;
            }

            return(Ok(vm));
        }
コード例 #2
0
        public virtual async Task <IHttpActionResult> GetRecurringCartsPaymentMethodsAsync(GetRecurringCartsPaymentMethodsRequest request)
        {
            var recurringCartUrl = RecurringCartUrlProvider.GetRecurringCartDetailsUrl(new GetRecurringCartDetailsUrlParam
            {
                CultureInfo       = ComposerContext.CultureInfo,
                RecurringCartName = request.CartName
            });

            //TODO : MyWalletPRovider when ready

            //var addAddressUrl = MyWalletPRovider.GetAddWAlletUrl(new GetMyAccountUrlParam { CultureInfo = ComposerContext.CultureInfo, ReturnUrl = recurringOrderScheduleUrl });
            //var editAddressBaseUrl = MyWalletPRovider.GetUpdateWAlletBaseUrl(new GetMyAccountUrlParam { CultureInfo = ComposerContext.CultureInfo });

            //Will need to change Viewmodel returned

            var providers = await PaymentViewService.GetPaymentProvidersAsync(new GetPaymentProvidersParam
            {
                Scope       = ComposerContext.Scope,
                CultureInfo = ComposerContext.CultureInfo,
            }).ConfigureAwait(false);

            var results = await PaymentViewService.GetPaymentMethodsAsync(new GetPaymentMethodsParam
            {
                Scope           = ComposerContext.Scope,
                CultureInfo     = ComposerContext.CultureInfo,
                CartName        = request.CartName,
                CustomerId      = ComposerContext.CustomerId,
                ProviderNames   = providers.Select(p => p.ProviderName).ToList(),
                IsAuthenticated = ComposerContext.IsAuthenticated
            });

            return(Ok(results));
        }