Esempio n. 1
0
        public void RequestPin(string orderNumber, Order_V01 order, MyHLShoppingCart shoppingCart)
        {
            Token = "";
            var quickPayProvider     = new CN_99BillQuickPayProvider();
            var isMobilePinRequested = quickPayProvider.RequestMobilePinForPurchase(orderNumber, order, shoppingCart);

            if (isMobilePinRequested)
            {
                Token = quickPayProvider.Token;
                OneTimePinPopupExtender.Show();
            }
            else
            {
                if (!String.IsNullOrEmpty(quickPayProvider.LastErrorMessage))
                {
                    LastErrorMessage = quickPayProvider.LastErrorMessage;
                }
            }
        }
Esempio n. 2
0
        public OrderResponseViewModel RequestMobilePin(OrderRequestViewModel request)
        {
            string obj = JsonConvert.SerializeObject(request);
            List <ValidationErrorViewModel> errors = null;

            request.Data.OrderMemberId = string.IsNullOrEmpty(request.Data.OrderMemberId) && !string.IsNullOrEmpty(request.Data.CustomerId) ? request.Data.CustomerId : request.Data.OrderMemberId;
            var viewModel    = request.Data;
            var shoppingcart = _mobileQuoteHelper.PriceCart(ref viewModel, ref errors);
            var quickPayresponseviewModel = new OrderResponseViewModel();

            if (null != errors && errors.Any())
            {
                quickPayresponseviewModel.ValidationErrors = errors;
                return(quickPayresponseviewModel);
            }
            var     orderTotalsV01 = shoppingcart.Totals as ServiceProvider.OrderSvc.OrderTotals_V01;
            var     orderTotalsV02 = shoppingcart.Totals as ServiceProvider.OrderSvc.OrderTotals_V02;
            decimal amount;
            var     order = _mobileQuickPayController.Getorder(viewModel, ref errors, orderTotalsV02, orderTotalsV01,
                                                               out amount);
            var ordernumber = order.OrderID;

            if (string.IsNullOrWhiteSpace(ordernumber))
            {
                ordernumber = _mobileQuickPayController.GetOrderNumber(amount, shoppingcart.CountryCode, shoppingcart.DistributorID);
            }

            //Order_V01 order, string ordernumber, MyHLShoppingCart cart
            var cn99BillQuickPayProvider = new CN_99BillQuickPayProvider();
            var hasrequestedmobilepin    = cn99BillQuickPayProvider.RequestMobilePinForPurchase(ordernumber, order, shoppingcart, request.Data.MemberId);

            if (hasrequestedmobilepin)
            {
                var quickPayPaymentViewModel = request.Data.Payments[0] as QuickPayPaymentViewModel;
                if (quickPayPaymentViewModel != null)
                {
                    quickPayPaymentViewModel.StorablePAN = cn99BillQuickPayProvider.StorablePAN;
                    quickPayPaymentViewModel.Token       = cn99BillQuickPayProvider.Token;
                }

                viewModel.OrderNumber = ordernumber;
            }

            if (!string.IsNullOrEmpty(cn99BillQuickPayProvider.LastErrorMessage))
            {
                if (errors == null)
                {
                    errors = new List <ValidationErrorViewModel>();
                }

                errors.Add(new ValidationErrorViewModel {
                    Code = 126000, Reason = cn99BillQuickPayProvider.LastErrorMessage
                });
            }

            quickPayresponseviewModel.Data = viewModel;

            if (null != errors && errors.Any())
            {
                quickPayresponseviewModel.ValidationErrors = errors;
            }

            JObject json = JObject.Parse(obj);

            MobileActivityLogProvider.ActivityLog(json, quickPayresponseviewModel, request.Data.MemberId, true,
                                                  this.Request.RequestUri.ToString(),
                                                  this.Request.Headers.ToString(),
                                                  this.Request.Headers.UserAgent.ToString(),
                                                  request.Data.Locale);

            return(quickPayresponseviewModel);
        }