public async Task <ActionResult <NewPaymentData> > GetNewPaymentData(string orderNumber)
        {
            var order = await GetOrderByNumber(orderNumber);

            var store = await _storeService.GetStoreByIdAsync(order.StoreId, order.Currency);

            var paymentDto = await _orderApi.GetNewPaymentAsync(order.Id);

            var payment = paymentDto.ToOrderInPayment(WorkContext.AllCurrencies, WorkContext.CurrentLanguage);

            return(new NewPaymentData
            {
                Payment = payment,
                PaymentMethods = store.PaymentMethods,
                Order = order
            });
        }
        public async Task <ActionResult <NewPaymentData> > GetNewPaymentData(string orderNumber)
        {
            var order = await GetOrderByNumber(orderNumber);

            var storeDto = await _storeApi.GetStoreByIdAsync(order.StoreId);

            var paymentMethods = storeDto.PaymentMethods
                                 .Where(x => x.IsActive.Value)
                                 .Select(x => x.ToPaymentMethod(order));

            var paymentDto = await _orderApi.GetNewPaymentAsync(order.Id);

            var payment = paymentDto.ToOrderInPayment(WorkContext.AllCurrencies, WorkContext.CurrentLanguage);

            return(new NewPaymentData
            {
                Payment = payment,
                PaymentMethods = paymentMethods,
                Order = order
            });
        }
        public async Task <ActionResult <NewPaymentData> > GetNewPaymentData(string orderNumber)
        {
            var orderDto = await _orderApi.GetByNumberAsync(orderNumber, string.Empty);

            var authorizationResult = await _authorizationService.AuthorizeAsync(User, orderDto, CanAccessOrderAuthorizationRequirement.PolicyName);

            if (!authorizationResult.Succeeded)
            {
                return(Unauthorized());
            }
            var order = orderDto.ToCustomerOrder(WorkContext.AllCurrencies, WorkContext.CurrentLanguage);
            var store = await _storeService.GetStoreByIdAsync(order.StoreId, order.Currency);

            var paymentDto = await _orderApi.GetNewPaymentAsync(order.Id);

            var payment = paymentDto.ToOrderInPayment(WorkContext.AllCurrencies, WorkContext.CurrentLanguage);

            return(new NewPaymentData
            {
                Payment = payment,
                PaymentMethods = store.PaymentMethods,
                Order = order
            });
        }