Exemplo n.º 1
0
        public IActionResult PaymentMethodEdit(int profileId)
        {
            IWorkContext _workContext = EngineContext.Current.Resolve <IWorkContext>();

            var customer = _workContext.CurrentCustomer;

            var model = new CustomerPaymentProfilesModel();

            GBSPaymentServiceClient gateway = new GBSPaymentServiceClient();
            var response = gateway.ReadProfile(int.Parse(profileId.ToString()), _gbsPaymentSettings.GBSPaymentWebServiceAddress, _gbsPaymentSettings.LoginId, _gbsPaymentSettings.Password, _gbsPaymentSettings.UseSandbox);

            if (response.procStatus == "0")
            {
                DBManager dbmanager = new DBManager();
                Dictionary <string, string> paramDic = new Dictionary <string, string>();
                paramDic.Add("@CustomerID", customer.Id.ToString());
                paramDic.Add("@ProfileID", profileId.ToString());
                string   select   = "SELECT * FROM Profiles WHERE CustomerID = " + customer.Id + " AND ProfileID = " + profileId + "";
                DataView dView    = dbmanager.GetParameterizedDataView(select, paramDic); //dbmanager.GetDataView(select);
                DataRow  firstRow = dView.Table.Rows[0];

                PaymentMethodModel getProfile = new PaymentMethodModel();
                getProfile.profileID   = Convert.ToInt32(response.profileID);
                getProfile.NickName    = firstRow["NickName"].ToString();
                getProfile.Last4Digits = response.cardNumber.ToString();
                getProfile.CardType    = firstRow["CardType"].ToString();
                getProfile.ExpMonth    = (int)firstRow["ExpMonth"];
                getProfile.ExpYear     = (int)firstRow["ExpYear"];
                model.SavedProfiles.Add(getProfile);
            }
            else
            {
                //ADD ERROR CODE HERE
                ViewBag.warnings = response.profileMessage;
            }

            return(View(model));
        }
Exemplo n.º 2
0
        public ProcessPaymentRequest GetPaymentInfo(IFormCollection form)
        {
            var paymentInfo = new ProcessPaymentRequest();

            GBSPaymentServiceClient gateway = new GBSPaymentServiceClient();

            if (form.Keys.Contains("ProfileID") && !String.IsNullOrEmpty(form["ProfileID"].ToString()))
            {
                WebServices.Models.Payment.PaymentProfileModel paymentProfile = gateway.ReadProfile(int.Parse(form["ProfileID"]), _gbsPaymentSettings.GBSPaymentWebServiceAddress, _gbsPaymentSettings.LoginId, _gbsPaymentSettings.Password, _gbsPaymentSettings.UseSandbox);

                paymentInfo = new ProcessPaymentRequest();

                paymentInfo.CreditCardName               = paymentProfile.customerName;
                paymentInfo.CreditCardNumber             = paymentProfile.cardNumber;
                paymentInfo.CreditCardExpireMonth        = int.Parse(paymentProfile.cardExpireMonth);
                paymentInfo.CreditCardExpireYear         = int.Parse(paymentProfile.cardExpireYear);
                paymentInfo.CustomValues["ProfileID"]    = form["ProfileID"].ToString();
                paymentInfo.CustomValues["SavedProfile"] = true;
                paymentInfo.CustomValues["StoreProfile"] = form["StoreProfile"];
            }
            else
            {
                paymentInfo = new ProcessPaymentRequest();

                //paymentInfo.CreditCardType is not used by Authorize.NET
                paymentInfo.CreditCardName               = form["CardholderName"];
                paymentInfo.CreditCardNumber             = form["CardNumber"];
                paymentInfo.CreditCardExpireMonth        = int.Parse(form["ExpireMonth"]);
                paymentInfo.CreditCardExpireYear         = int.Parse(form["ExpireYear"]);
                paymentInfo.CreditCardCvv2               = form["CardCode"];
                paymentInfo.CustomValues["SavedProfile"] = false;
                paymentInfo.CustomValues["NickName"]     = form["NickName"];
                paymentInfo.CustomValues["StoreProfile"] = form["StoreProfile"];
            }

            return(paymentInfo);
        }