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; } } }
protected void OnBankList_QuickPaySelected(object sender, EventArgs e) { if (!Page.Request.Params.Get("__EVENTTARGET").EndsWith("BankList_QuickPay")) //workaround for the dynamic control loading that causing OnSelectedIndexChanged event triggered during postback. { return; } string cardType = ""; if (BankList_QuickPay.SelectedIndex > 0) { if (IsQuickPayDebitCard()) { cardType = "0002"; } else { cardType = "0001"; } var phoneNumber = DistributorOrderingProfileProvider.GetPhoneNumberForCN(_distributorId).Trim(); var tins = DistributorOrderingProfileProvider.GetTinList(_distributorId, true); var tin = tins.Find(t => t.ID == "CNID"); var disId = _distributorId; var membershipUser = (MembershipUser <DistributorProfileModel>)Membership.GetUser(); var name = string.Empty; if (membershipUser != null) { name = membershipUser.Value.DistributorName(); } var quickPayProvider = new CN_99BillQuickPayProvider(); var isCardAvailable = quickPayProvider.CheckBindedCard(BankList_QuickPay.SelectedValue, cardType, phoneNumber); if (isCardAvailable) { ExistingCard.Visible = true; NewCardBinding.Visible = false; CardNumberLabel_QuickPay.Text = quickPayProvider.StorablePAN; CardHolderNameLabel_QuickPay.Text = name; IdentityNumberLabel_QuickPay.Text = tin == null ? string.Empty : tin.IDType.Key.Trim(); PhoneNumberLabel_QuickPay.Text = phoneNumber; } else { if (!string.IsNullOrEmpty(quickPayProvider.LastErrorMessage)) { lblErrorMessages.Text = quickPayProvider.LastErrorMessage; } ExistingCard.Visible = false; NewCardBinding.Visible = true; ClearQuickPayCardInput(); CardHolderName_QuickPay.Text = name; IdentityNumber_QuickPay.Text = tin == null ? string.Empty : tin.IDType.Key.Trim(); PhoneNumber_QuickPay.Text = phoneNumber; } } else { ExistingCard.Visible = false; NewCardBinding.Visible = true; ClearQuickPayCardInput(); } }
public MobileResponseWrapper GetBindedCards(string disID) { var result = new List <BindedCardswithBanklist>(); var phoneNumber = DistributorOrderingProfileProvider.GetPhoneNumberForCN(disID).Trim(); var cn99BillQuickPayProvider = new CN_99BillQuickPayProvider(); var tins = DistributorOrderingProfileProvider.GetTinList(disID, true); var tin = tins.Find(t => t.ID == "CNID"); PaymentInformation bindedCard = null; List <PaymentInformation> bindedCards = cn99BillQuickPayProvider.LoadStorableDataQuick(phoneNumber, disID); var usageDebit = BankUsage.UsedByQPDebit; var debitCards = BankInfoProvider.GetAvailableBanks(usageDebit); var usageCredit = BankUsage.UsedByQPCredit; var creditCards = BankInfoProvider.GetAvailableBanks(usageCredit); //QD if (debitCards != null && debitCards.Count > 0) { foreach (BankInformation item in debitCards) { if (bindedCards != null && bindedCards.Count > 0) { bindedCard = (from a in bindedCards where a.CardType.Trim() == "QD" && a.Alias.Trim() == item.BankCode.Trim() select a).FirstOrDefault(); } var currentBindedCard = new BindedCardswithBanklist() { BankCode = item.BankCode, BankName = item.BankName, CardType = "QD", }; if (bindedCard != null && bindedCard.CardHolder != null) { currentBindedCard.BindedCard = new BindedCardViewModel(); currentBindedCard.BindedCard.CardHolderName = bindedCard.CardHolder.First; currentBindedCard.BindedCard.CardNumber = bindedCard.CardNumber; } result.Add(currentBindedCard); bindedCard = null; } } //QC if (creditCards != null && creditCards.Count > 0) { foreach (BankInformation item in creditCards) { if (bindedCards != null && bindedCards.Count > 0) { bindedCard = (from a in bindedCards where a.CardType.Trim() == "QC" && a.Alias.Trim() == item.BankCode.Trim() select a).FirstOrDefault(); } var currentBindedCard = new BindedCardswithBanklist() { BankCode = item.BankCode, BankName = item.BankName, CardType = "QC", }; if (bindedCard != null && bindedCard.CardHolder != null) { currentBindedCard.BindedCard = new BindedCardViewModel(); currentBindedCard.BindedCard.CardHolderName = bindedCard.CardHolder.First; currentBindedCard.BindedCard.CardNumber = bindedCard.CardNumber; } result.Add(currentBindedCard); bindedCard = null; } } var response = new MobileResponseWrapper { Data = new BindedCardswithBanklistResponseVewModel { BankList = result, PhoneNumber = phoneNumber, CNID = tin.IDType.Key.Trim() }, }; return(response); }
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); }
public override void Submit() { bool isLockedeach = true; bool isLocked = true; string lockfailed = string.Empty; var currentSession = SessionInfo.GetSessionInfo(HttpContext.Current.User.Identity.Name, _locale); if (currentSession != null) { if (currentSession.ShoppingCart != null && currentSession.ShoppingCart.pcLearningPointOffSet > 0M && !(currentSession.ShoppingCart.OrderCategory == ServiceProvider.CatalogSvc.OrderCategoryType.ETO)) { isLockedeach = OrderProvider.LockPCLearningPoint(_distributorId, OrderNumber, new OrderMonth(currentSession.ShoppingCart.CountryCode).OrderMonthShortString, Convert.ToInt32(Math.Truncate(currentSession.ShoppingCart.pcLearningPointOffSet)), HLConfigManager.Platform); if (!isLockedeach) { lockfailed = "PC Learning Point"; isLocked = false; } } else if (currentSession.ShoppingCart != null && currentSession.ShoppingCart.pcLearningPointOffSet > 0M) { isLockedeach = OrderProvider.LockETOLearningPoint( currentSession.ShoppingCart.CartItems.Select(s => s.SKU), _distributorId, OrderNumber, new OrderMonth(currentSession.ShoppingCart.CountryCode).OrderMonthShortString, Convert.ToInt32(Math.Truncate(currentSession.ShoppingCart.pcLearningPointOffSet)), HLConfigManager.Platform); if (!isLockedeach) { lockfailed = "ETO Learning Point"; isLocked = false; } } if (currentSession.ShoppingCart.HastakenSrPromotion) { isLockedeach = ChinaPromotionProvider.LockSRPromotion(currentSession.ShoppingCart, _orderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", SR Promotion"; isLocked = false; } } if (currentSession.ShoppingCart.HastakenSrPromotionGrowing) { isLockedeach = ChinaPromotionProvider.LockSRQGrowingPromotion(currentSession.ShoppingCart, _orderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", SR Query Growing"; isLocked = false; } } if (currentSession.ShoppingCart.HastakenSrPromotionExcelnt) { isLockedeach = ChinaPromotionProvider.LockSRQExcellentPromotion(currentSession.ShoppingCart, _orderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", SR Query Excellent"; isLocked = false; } } if (currentSession.ShoppingCart.HastakenBadgePromotion) { isLockedeach = ChinaPromotionProvider.LockBadgePromotion(currentSession.ShoppingCart, _orderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", Badge promo"; isLocked = false; } } if (currentSession.ShoppingCart.HastakenNewSrpromotion) { isLockedeach = ChinaPromotionProvider.LockNewSRPromotion(currentSession.ShoppingCart, _orderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", NewSrPromotion"; isLocked = false; } } } if (currentSession.ShoppingCart.HasBrochurePromotion) { isLockedeach = ChinaPromotionProvider.LockBrochurePromotion(currentSession.ShoppingCart, _orderNumber); if (!isLockedeach) { lockfailed = lockfailed + ", Brochure Promotion"; isLocked = false; } } if (isLocked) { CN_99BillQuickPayProvider provider = new CN_99BillQuickPayProvider(); var resultString = provider.Submit(_orderNumber, _orderAmount); if (!string.IsNullOrEmpty(resultString)) { var verStr = Encrypt(resultString, EncryptionKey); var url = string.Format("{0}?QPVerStr={1}", _configHelper.GetConfigEntry("paymentGatewayReturnUrlApproved"), verStr); HttpContext.Current.Response.Redirect(url, false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } } else { var resultString = string.Format("{0},{1},{2},{3},{4},{5}", OrderNumber, "0", DateTime.Now.ToString(DateTimeFormat), "", "", ""); var verStr = Encrypt(resultString, EncryptionKey); var url = string.Format("{0}?QPVerStr={1}", _configHelper.GetConfigEntry("paymentGatewayReturnUrlApproved"), verStr); HttpContext.Current.Response.Redirect(url, false); HttpContext.Current.ApplicationInstance.CompleteRequest(); } }