Example #1
0
        public static PaymentModeActionStatus CreatePaymentMode(PaymentModeInfo paymentMode)
        {
            PaymentModeActionStatus result;

            if (null == paymentMode)
            {
                result = PaymentModeActionStatus.UnknowError;
            }
            else
            {
                Globals.EntityCoding(paymentMode, true);
                result = new PaymentModeDao().CreateUpdateDeletePaymentMode(paymentMode, DataProviderAction.Create);
            }
            return(result);
        }
Example #2
0
        public static bool CreatePaymentMode(PaymentModeInfo paymentMode)
        {
            if (paymentMode == null)
            {
                return(false);
            }
            Globals.EntityCoding(paymentMode, true);
            PaymentModeDao paymentModeDao = new PaymentModeDao();

            paymentMode.DisplaySequence = paymentModeDao.GetMaxDisplaySequence <PaymentModeInfo>();
            bool flag = paymentModeDao.AddPayment(paymentMode);

            if (flag && paymentMode.Gateway == "hishop.plugins.payment.bankrequest")
            {
                paymentMode = new PaymentModeDao().GetPaymentMode(paymentMode.Gateway);
                new OrderDao().UpdateOrderWhenBankRequestInsert(paymentMode.ModeId, paymentMode.Name);
            }
            return(flag);
        }
Example #3
0
        protected override void AttachChildControls()
        {
            if (this.Page.Request.QueryString["orderId"] == null)
            {
                base.GotoResourceNotFound();
            }
            this.orderId                = this.Page.Request.QueryString["orderId"];
            this.litOrderId             = (System.Web.UI.WebControls.Literal) this.FindControl("litOrderId");
            this.litOrderPrice          = (FormatedMoneyLabel)this.FindControl("litOrderPrice");
            this.litPaymentName         = (System.Web.UI.WebControls.Literal) this.FindControl("litPaymentName");
            this.btnSubMitOrder         = (System.Web.UI.WebControls.Button) this.FindControl("btnSubMitOrder");
            this.codePayImg             = (System.Web.UI.HtmlControls.HtmlImage) this.FindControl("codePayImg");
            this.hlinkOrderDetails      = (System.Web.UI.WebControls.HyperLink) this.FindControl("hlinkOrderDetails");
            this.hidd_ServerTimel       = (System.Web.UI.HtmlControls.HtmlInputHidden) this.FindControl("hidd_ServerTimel");
            this.hidd_ServerTimel.Value = DateTime.Now.ToString();
            if (hlinkOrderDetails != null)
            {
                hlinkOrderDetails.Attributes.Add("href", "/user/OrderDetails.aspx?OrderId=" + orderId);
            }

            OrderInfo       orderInfo = ShoppingProcessor.GetOrderInfo(this.orderId);
            PaymentModeDao  payment   = new PaymentModeDao();
            PaymentModeInfo info      = payment.GetPaymentMode(orderInfo.PaymentTypeId);

            //判断是否为微信扫码支付
            //if (info.Settings == "1hSUSkKQ/ENo0JDZah8KKQweixin")
            if (info != null && !string.IsNullOrEmpty(info.Gateway) && info.Gateway.ToLower() == "Ecdev.plugins.payment.WxpayQrCode.QrCodeRequest".ToLower())
            {
                string appId      = "";
                string appSecret  = "";
                string partnerId  = "";
                string partnerKey = "";

                if (info.Settings != "")
                {
                    string xml = HiCryptographer.Decrypt(info.Settings);

                    try
                    {
                        System.Xml.XmlDocument xmlDocument = new System.Xml.XmlDocument();
                        xmlDocument.LoadXml(xml);

                        appId      = xmlDocument.GetElementsByTagName("AppId")[0].InnerText;
                        partnerKey = xmlDocument.GetElementsByTagName("Key")[0].InnerText;
                        appSecret  = xmlDocument.GetElementsByTagName("AppSecret")[0].InnerText;
                        partnerId  = xmlDocument.GetElementsByTagName("MchId")[0].InnerText;
                    }
                    catch
                    {
                        ErrorLog.Write("微信扫码支付信息未设置");
                        this.ShowMessage("获取支付二维码失败,支付信息未设置!", false);
                    }
                }
                else
                {
                    ErrorLog.Write("微信扫码支付信息未设置");
                    this.ShowMessage("获取支付二维码失败,支付信息未设置!", false);
                }

                //\Storage\master\QRCode
                if (Directory.Exists(Globals.MapPath("/storage/master/QRCode")) == false)//如果不存在就创建file文件夹
                {
                    Directory.CreateDirectory(Globals.MapPath("/storage/master/QRCode"));
                }

                VCodePayHelper.imgPath = Globals.MapPath("/storage/master/QRCode");

                //SiteSettings masterSettings = SettingsManager.GetMasterSettings(false);
                ////PayClient payClient = new PayClient(masterSettings.WeixinAppId, masterSettings.WeixinAppSecret, masterSettings.WeixinPartnerID, masterSettings.WeixinPartnerKey, masterSettings.WeixinPaySignKey);
                //VCodePayHelper.key = masterSettings.WeixinPartnerKey;
                ////创建微信支付二维码
                //string vCodePayPath = VCodePayHelper.RequestWeixin(new Ecdev.Weixin.Pay.Domain.VCodePayEntity()
                //{
                //    appid = masterSettings.WeixinAppId,
                //    //appid = "wx45cd46b5f561deee",
                //    //mch_id = "D4DE77CE6F6C9E3A",
                //    mch_id = masterSettings.WeixinPartnerID,
                //    body = orderInfo.OrderId,
                //    nonce_str = VCodePayHelper.CreateRandom(20),
                //    out_trade_no = orderInfo.OrderId,
                //    fee_type = "CNY",
                //    //1 = 1分
                //    total_fee = (int)(orderInfo.GetTotal() * 100),
                //    spbill_create_ip = "192.168.1.40",
                //    notify_url = "http://" + base.Context.Request.Url.Host + "/pay/wx_Pay_notify_url.aspx",
                //    product_id = orderInfo.OrderId.ToString()
                //});

                ErrorLog.Write("微信扫码支付,开始统一下单,获取二维码");
                string vCodePayPath = CreatePayQRCode(orderInfo, appId, partnerId);
                ErrorLog.Write("微信扫码支付,统一下单结果:" + vCodePayPath);

                if (!string.IsNullOrWhiteSpace(vCodePayPath) && vCodePayPath.EndsWith(".jpg"))
                {
                    if (codePayImg != null)
                    {
                        OrderHelper.SetOrderPayStatus(orderInfo.OrderId, 1);

                        codePayImg.Src = "/Storage/master/QRCode/" + vCodePayPath;
                    }
                }
                else
                {
                    ErrorLog.Write("获取支付二维码失败,原因:" + vCodePayPath);
                    this.ShowMessage("获取支付二维码失败!", false);
                }
                this.btnSubMitOrder.Visible = false;
            }
            else
            {
                codePayImg.Visible         = false;
                this.btnSubMitOrder.Click += new System.EventHandler(this.btnSubMitOrder_Click);
            }
            if (!this.Page.IsPostBack)
            {
                this.LoadOrderInfo();
            }
        }