Exemple #1
0
        protected BasketSummaryView GetBasketSummaryView()
        {
            string basketTotal   = string.Empty;
            int    numberOfItems = 0;
            var    email         = _cookieAuthentication.GetAuthenticationToken();

            if (!string.IsNullOrWhiteSpace(email))
            {
                var response = _customerService.GetCustomer(new GetCustomerRequest
                {
                    CustomerEmail     = email,
                    LoadBasketSummary = true
                });

                if (response.CustomerFound && response.Basket != null)
                {
                    basketTotal   = response.Basket.BasketTotal;
                    numberOfItems = response.Basket.NumberOfItems;
                }
            }

            return(new BasketSummaryView
            {
                BasketTotal = basketTotal,
                NumberOfItems = numberOfItems
            });
        }
        public async Task PaymentCallBack(IFormCollection collection)
        {
            int             orderId = _paymentService.GetOrderIdFor(collection);
            GetOrderRequest request = new GetOrderRequest
            {
                OrderId = orderId
            };
            GetOrderResponse    response            = _orderService.GetOrder(request);
            OrderPaymentRequest orderPaymentRequest = _mapper.Map <OrderView, OrderPaymentRequest>(response.Order);
            TransactionResult   transactionResult   = await _paymentService.HandleCallBack(orderPaymentRequest, collection);

            if (transactionResult.PaymentOk)
            {
                SetOrderPaymentRequest paymentRequest = new SetOrderPaymentRequest();
                paymentRequest.Amount          = transactionResult.Amount;
                paymentRequest.PaymentToken    = transactionResult.PaymentToken;
                paymentRequest.PaymentMerchant = transactionResult.PaymentMerchant;
                paymentRequest.OrderId         = orderId;
                paymentRequest.CustomerEmail   = _cookieAuthentication.GetAuthenticationToken();

                _orderService.SetOrderPayment(paymentRequest);
            }
            else
            {
                _logger.LogWarning(string.Format("Payment not ok for order id {0}, payment token {1}", orderId, transactionResult.PaymentToken));
            }
        }