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)); }