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)); }
public virtual async Task <IHttpActionResult> UpdateRecurringCartPaymentMethod([FromBody] UpdateRecurringCartPaymentMethodRequest request) { if (request == null) { return(BadRequest("Request cannot be null.")); } var param = new GetPaymentProvidersParam { Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo }; var providers = await PaymentViewService.GetPaymentProvidersAsync(param).ConfigureAwait(false); var vm = await PaymentViewService.UpdateRecurringOrderCartPaymentMethodAsync(new UpdatePaymentMethodParam { CartName = request.CartName, CultureInfo = ComposerContext.CultureInfo, CustomerId = ComposerContext.CustomerId, PaymentId = request.PaymentId.GetValueOrDefault(), Scope = ComposerContext.Scope, PaymentMethodId = request.PaymentMethodId.GetValueOrDefault(), PaymentProviderName = request.PaymentProviderName, PaymentType = request.PaymentType, ProviderNames = providers.Select(p => p.ProviderName).ToList(), IsAuthenticated = ComposerContext.IsAuthenticated }, RequestUtils.GetBaseUrl(Request).ToString()); return(Ok(vm)); }
public virtual async Task <IHttpActionResult> GetRecurringOrderTemplatesPaymentMethodsAsync(GetRecurringOrderTemplatesPaymentMethodsRequest request) { var recurringOrderScheduleUrl = RecurringScheduleUrlProvider.GetRecurringScheduleDetailsUrl(new GetRecurringScheduleDetailsUrlParam { CultureInfo = ComposerContext.CultureInfo, RecurringScheduleId = request.Id }); //TODO : MyWalletPRovider when ready //var addAddressUrl = MyWalletPRovider.GetAddWAlletUrl(new GetMyAccountUrlParam { CultureInfo = ComposerContext.CultureInfo, ReturnUrl = recurringOrderScheduleUrl }); //var editAddressBaseUrl = MyWalletPRovider.GetUpdateWAlletBaseUrl(new GetMyAccountUrlParam { CultureInfo = ComposerContext.CultureInfo }); var param = new GetPaymentProvidersParam { Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo }; var providers = await PaymentViewService.GetPaymentProvidersAsync(param).ConfigureAwait(false); var results = await PaymentViewService.GetCustomerPaymentMethodListViewModelAsync(new GetCustomerPaymentMethodListViewModelParam { CustomerId = ComposerContext.CustomerId, ScopeId = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo, ProviderNames = providers.Select(p => p.ProviderName).ToList(), //walletUrls }).ConfigureAwait(false); return(Ok(results)); }
public virtual ActionResult CheckoutPayment() { var checkoutPaymentViewModel = new CheckoutPaymentViewModel { IsLoading = true }; var getPaymentProvidersParam = new GetPaymentProvidersParam { Scope = ComposerContext.Scope, CultureInfo = ComposerContext.CultureInfo }; checkoutPaymentViewModel.Context.Add("PaymentProviders", PaymentViewService.GetPaymentProvidersAsync(getPaymentProvidersParam).Result.ToList()); return(View("CheckoutPaymentContainer", checkoutPaymentViewModel)); }