Ejemplo n.º 1
0
        private void ShowInfo()
        {
            BLL.sysconfig   bll   = new BLL.sysconfig();
            Model.sysconfig model = bll.loadConfig();

            webname.Text    = model.webname;
            weburl.Text     = model.weburl;
            webcompany.Text = model.webcompany;
            webaddress.Text = model.webaddress;
            webtel.Text     = model.webtel;
            webfax.Text     = model.webfax;
            webmail.Text    = model.webmail;
            webcrod.Text    = model.webcrod;

            webpath.Text               = model.webpath;
            webmanagepath.Text         = model.webmanagepath;
            staticstatus.SelectedValue = model.staticstatus.ToString();
            staticextension.Text       = model.staticextension;
            if (model.memberstatus == 1)
            {
                memberstatus.Checked = true;
            }
            else
            {
                memberstatus.Checked = false;
            }
            if (model.commentstatus == 1)
            {
                commentstatus.Checked = true;
            }
            else
            {
                commentstatus.Checked = false;
            }
            if (model.logstatus == 1)
            {
                logstatus.Checked = true;
            }
            else
            {
                logstatus.Checked = false;
            }
            if (model.webstatus == 1)
            {
                webstatus.Checked = true;
            }
            else
            {
                webstatus.Checked = false;
            }
            webclosereason.Text = model.webclosereason;
            webcountcode.Text   = model.webcountcode;

            smsapiurl.Text   = model.smsapiurl;
            smsusername.Text = model.smsusername;
            if (!string.IsNullOrEmpty(model.smspassword))
            {
                smspassword.Attributes["value"] = defaultpassword;
            }
            labSmsCount.Text = GetSmsCount(); //取得短信数量

            emailsmtp.Text = model.emailsmtp;
            if (model.emailssl == 1)
            {
                emailssl.Checked = true;
            }
            else
            {
                emailssl.Checked = false;
            }
            emailport.Text     = model.emailport.ToString();
            emailfrom.Text     = model.emailfrom;
            emailusername.Text = model.emailusername;
            if (!string.IsNullOrEmpty(model.emailpassword))
            {
                emailpassword.Attributes["value"] = defaultpassword;
            }
            emailnickname.Text = model.emailnickname;

            filepath.Text               = model.filepath;
            filesave.SelectedValue      = model.filesave.ToString();
            fileremote.SelectedValue    = model.fileremote.ToString();
            fileextension.Text          = model.fileextension;
            videoextension.Text         = model.videoextension;
            attachsize.Text             = model.attachsize.ToString();
            videosize.Text              = model.videosize.ToString();
            imgsize.Text                = model.imgsize.ToString();
            imgmaxheight.Text           = model.imgmaxheight.ToString();
            imgmaxwidth.Text            = model.imgmaxwidth.ToString();
            thumbnailheight.Text        = model.thumbnailheight.ToString();
            thumbnailwidth.Text         = model.thumbnailwidth.ToString();
            thumbnailmode.SelectedValue = model.thumbnailmode;
            watermarktype.SelectedValue = model.watermarktype.ToString();
            watermarkposition.Text      = model.watermarkposition.ToString();
            watermarkimgquality.Text    = model.watermarkimgquality.ToString();
            watermarkpic.Text           = model.watermarkpic;
            watermarktransparency.Text  = model.watermarktransparency.ToString();
            watermarktext.Text          = model.watermarktext;
            watermarkfont.SelectedValue = model.watermarkfont;
            watermarkfontsize.Text      = model.watermarkfontsize.ToString();

            fileserver.SelectedValue = model.fileserver;
            osssecretid.Text         = model.osssecretid;
            osssecretkey.Text        = model.osssecretkey;
            ossbucket.Text           = model.ossbucket;
            ossendpoint.Text         = model.ossendpoint;
            ossdomain.Text           = model.ossdomain;
        }
Ejemplo n.º 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //读取站点配置信息
            Model.sysconfig sysConfig       = new BLL.sysconfig().loadConfig(); //系统配置
            int             site_payment_id = 0;                                //订单支付方式

            //=============================获得订单信息================================
            string  order_no     = DTRequest.GetFormString("pay_order_no").ToUpper();
            decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0);
            string  user_name    = DTRequest.GetFormString("pay_user_name");
            string  subject      = DTRequest.GetFormString("pay_subject");
            //以下收货人信息
            string receive_name    = string.Empty; //收货人姓名
            string receive_address = string.Empty; //收货人地址
            string receive_zip     = string.Empty; //收货人邮编
            string receive_phone   = string.Empty; //收货人电话
            string receive_mobile  = string.Empty; //收货人手机

            //检查参数是否正确
            if (order_no == "" || order_amount == 0)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!")));
                return;
            }
            if (order_no.StartsWith("R")) //R开头为在线充值订单
            {
                Model.user_recharge model = new BLL.user_recharge().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!")));
                    return;
                }
                if (model.amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!")));
                    return;
                }
                site_payment_id = model.payment_id; //站点支付方式ID

                //取得用户信息
                Model.users userModel = new BLL.users().GetModel(model.user_id);
                if (userModel == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,用户账户不存在或已删除!")));
                    return;
                }
                receive_name    = userModel.nick_name;
                receive_address = userModel.address;
                receive_phone   = userModel.telphone;
                receive_mobile  = userModel.mobile;
            }
            else //B开头为商品订单
            {
                Model.orders model = new BLL.orders().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!")));
                    return;
                }
                if (model.order_amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!")));
                    return;
                }
                site_payment_id = model.payment_id; //站点支付方式ID
                receive_name    = model.accept_name;
                receive_address = model.address;
                receive_zip     = model.post_code;
                receive_phone   = model.telphone;
                receive_mobile  = model.mobile;
            }
            if (!string.IsNullOrEmpty(user_name))
            {
                user_name = "支付会员:" + user_name;
            }
            else
            {
                user_name = "匿名用户";
            }

            //===============================加密签名==================================
            Config config    = new Config(site_payment_id);
            string moneytype = "CNY";
            // 拼凑加密串=订单金额+币种+订单号+商户号+返回地址+商户MD5密钥
            string signtext = order_amount + moneytype + order_no + config.Partner + config.Return_url + config.Key;
            string md5info  = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(signtext, "md5").ToUpper();

            //===============================请求参数==================================
            //把请求参数打包成数组
            SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>();

            sParaTemp.Add("v_mid", config.Partner);                                  //商户编号
            sParaTemp.Add("v_oid", order_no);                                        //网站订单号
            sParaTemp.Add("v_amount", order_amount.ToString());                      //订单总金额
            sParaTemp.Add("v_moneytype", moneytype);                                 //币种
            sParaTemp.Add("v_url", config.Return_url);                               //返回地址
            sParaTemp.Add("remark2", "[url:=" + config.Notify_url + "]");            //回调地址
            sParaTemp.Add("v_md5info", md5info);                                     //MD5校验码
            sParaTemp.Add("remark1", sysConfig.webname + "-" + subject + user_name); //订单描述

            sParaTemp.Add("v_rcvname", receive_name);                                //收货人姓名
            sParaTemp.Add("v_rcvaddr", receive_address);                             //收货人地址
            sParaTemp.Add("v_rcvtel", receive_phone);                                //收货人电话
            sParaTemp.Add("v_rcvpost", receive_zip);                                 //收货人邮编
            sParaTemp.Add("v_rcvmobile", receive_mobile);                            //收货人手机号

            //构造即时到帐接口表单提交HTML数据,无需修改
            Service chinabank = new Service(site_payment_id);
            string  sHtmlText = chinabank.BuildFormHtml(sParaTemp, "post", "确认");

            Response.Write(sHtmlText);
        }
Ejemplo n.º 3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //读取站点配置信息
            Model.sysconfig sysConfig       = new BLL.sysconfig().loadConfig();
            int             site_payment_id = 0; //订单支付方式

            //=============================获得订单信息================================
            string  order_no     = DTRequest.GetFormString("pay_order_no").ToUpper();
            decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0);
            string  user_name    = DTRequest.GetFormString("pay_user_name");
            string  subject      = DTRequest.GetFormString("pay_subject");

            //检查参数是否正确
            if (string.IsNullOrEmpty(order_no) || order_amount == 0)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!")));
                return;
            }
            if (order_no.StartsWith("R")) //R开头为在线充值订单
            {
                Model.user_recharge model = new BLL.user_recharge().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!")));
                    return;
                }
                if (model.amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!")));
                    return;
                }
                site_payment_id = model.payment_id; //站点支付方式ID
            }
            else //B开头为商品订单
            {
                Model.orders model = new BLL.orders().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!")));
                    return;
                }
                if (model.order_amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!")));
                    return;
                }
                site_payment_id = model.payment_id; //站点支付方式ID
            }
            if (user_name != "")
            {
                user_name = "支付会员:" + user_name;
            }
            else
            {
                user_name = "匿名用户";
            }

            //===============================请求参数==================================

            //把请求参数打包成数组
            SortedDictionary <string, string> sParaTemp = new SortedDictionary <string, string>();

            sParaTemp.Add("payment_type", "1");                          //收款类型1商品购买
            sParaTemp.Add("show_url", sysConfig.weburl);                 //商品展示地址
            sParaTemp.Add("out_trade_no", order_no);                     //网站订单号
            sParaTemp.Add("subject", sysConfig.webname + "-" + subject); //订单名称
            sParaTemp.Add("body", user_name);                            //订单描述
            sParaTemp.Add("total_fee", order_amount.ToString());         //订单总金额
            sParaTemp.Add("paymethod", "");                              //默认支付方式
            sParaTemp.Add("defaultbank", "");                            //默认网银代号
            sParaTemp.Add("anti_phishing_key", "");                      //防钓鱼时间戳
            sParaTemp.Add("exter_invoke_ip", DTRequest.GetIP());         ////获取客户端的IP地址
            sParaTemp.Add("buyer_email", "");                            //默认买家支付宝账号
            sParaTemp.Add("royalty_type", "");
            sParaTemp.Add("royalty_parameters", "");

            //构造即时到帐接口表单提交HTML数据,无需修改
            Service ali       = new Service(site_payment_id);
            string  sHtmlText = ali.Create_direct_pay_by_user(sParaTemp);

            Response.Write(sHtmlText);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// 保存配置信息
        /// </summary>
        protected void btnSubmit_Click(object sender, EventArgs e)
        {
            ChkAdminLevel("sys_config", DTEnums.ActionEnum.Edit.ToString()); //检查权限
            BLL.sysconfig   bll   = new BLL.sysconfig();
            Model.sysconfig model = bll.loadConfig();
            try
            {
                model.webname    = webname.Text;
                model.weburl     = weburl.Text;
                model.webcompany = webcompany.Text;
                model.webaddress = webaddress.Text;
                model.webtel     = webtel.Text;
                model.webfax     = webfax.Text;
                model.webmail    = webmail.Text;
                model.webcrod    = webcrod.Text;

                model.webpath         = webpath.Text;
                model.webmanagepath   = webmanagepath.Text;
                model.staticstatus    = Utils.StrToInt(staticstatus.SelectedValue, 0);
                model.staticextension = staticextension.Text;
                if (memberstatus.Checked == true)
                {
                    model.memberstatus = 1;
                }
                else
                {
                    model.memberstatus = 0;
                }
                if (commentstatus.Checked == true)
                {
                    model.commentstatus = 1;
                }
                else
                {
                    model.commentstatus = 0;
                }
                if (logstatus.Checked == true)
                {
                    model.logstatus = 1;
                }
                else
                {
                    model.logstatus = 0;
                }
                if (webstatus.Checked == true)
                {
                    model.webstatus = 1;
                }
                else
                {
                    model.webstatus = 0;
                }
                model.webclosereason = webclosereason.Text;
                model.webcountcode   = webcountcode.Text;

                model.smsapiurl   = smsapiurl.Text;
                model.smsusername = smsusername.Text;
                //判断密码是否更改
                if (smspassword.Text.Trim() != "" && smspassword.Text.Trim() != defaultpassword)
                {
                    model.smspassword = Utils.MD5(smspassword.Text.Trim());
                }

                model.emailsmtp = emailsmtp.Text;
                if (emailssl.Checked == true)
                {
                    model.emailssl = 1;
                }
                else
                {
                    model.emailssl = 0;
                }
                model.emailport     = Utils.StrToInt(emailport.Text.Trim(), 25);
                model.emailfrom     = emailfrom.Text;
                model.emailusername = emailusername.Text;
                //判断密码是否更改
                if (emailpassword.Text.Trim() != defaultpassword)
                {
                    model.emailpassword = DESEncrypt.Encrypt(emailpassword.Text, model.sysencryptstring);
                }
                model.emailnickname = emailnickname.Text;

                model.filepath              = filepath.Text;
                model.filesave              = Utils.StrToInt(filesave.SelectedValue, 2);
                model.fileremote            = Utils.StrToInt(fileremote.SelectedValue, 0);
                model.fileextension         = fileextension.Text;
                model.videoextension        = videoextension.Text;
                model.attachsize            = Utils.StrToInt(attachsize.Text.Trim(), 0);
                model.videosize             = Utils.StrToInt(videosize.Text.Trim(), 0);
                model.imgsize               = Utils.StrToInt(imgsize.Text.Trim(), 0);
                model.imgmaxheight          = Utils.StrToInt(imgmaxheight.Text.Trim(), 0);
                model.imgmaxwidth           = Utils.StrToInt(imgmaxwidth.Text.Trim(), 0);
                model.thumbnailheight       = Utils.StrToInt(thumbnailheight.Text.Trim(), 0);
                model.thumbnailwidth        = Utils.StrToInt(thumbnailwidth.Text.Trim(), 0);
                model.thumbnailmode         = thumbnailmode.SelectedValue;
                model.watermarktype         = Utils.StrToInt(watermarktype.SelectedValue, 0);
                model.watermarkposition     = Utils.StrToInt(watermarkposition.Text.Trim(), 9);
                model.watermarkimgquality   = Utils.StrToInt(watermarkimgquality.Text.Trim(), 80);
                model.watermarkpic          = watermarkpic.Text;
                model.watermarktransparency = Utils.StrToInt(watermarktransparency.Text.Trim(), 5);
                model.watermarktext         = watermarktext.Text;
                model.watermarkfont         = watermarkfont.Text;
                model.watermarkfontsize     = Utils.StrToInt(watermarkfontsize.Text.Trim(), 12);

                model.fileserver   = fileserver.SelectedValue;
                model.osssecretid  = osssecretid.Text.Trim();
                model.osssecretkey = osssecretkey.Text.Trim();
                model.ossbucket    = ossbucket.Text.Trim();
                model.ossendpoint  = ossendpoint.Text.Trim();
                model.ossdomain    = ossdomain.Text.Trim();

                bll.saveConifg(model);
                AddAdminLog(DTEnums.ActionEnum.Edit.ToString(), "修改系统配置信息"); //记录日志
                JscriptMsg("修改系统配置成功!", "sys_config.aspx");
            }
            catch
            {
                JscriptMsg("文件写入失败,请检查文件夹权限!", "");
            }
        }
Ejemplo n.º 5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //读取站点配置信息
            Model.sysconfig sysConfig       = new BLL.sysconfig().loadConfig();
            int             site_payment_id = 0; //订单支付方式

            //=============================获得订单信息================================
            order_no = DTRequest.GetFormString("pay_order_no").ToUpper();
            decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0);
            string  user_name    = DTRequest.GetFormString("pay_user_name");
            string  subject      = DTRequest.GetFormString("pay_subject");

            //检查参数是否正确
            if (string.IsNullOrEmpty(order_no) || order_amount == 0)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!")));
                return;
            }
            //===============================判断订单==================================
            if (order_no.StartsWith("R")) //R开头为在线充值订单
            {
                Model.user_recharge model = new BLL.user_recharge().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!")));
                    return;
                }
                if (model.amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!")));
                    return;
                }
                if (model.status == 1)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no));
                    return;
                }
                site_payment_id = model.payment_id; //站点支付方式ID
            }
            else //B开头为商品订单
            {
                Model.orders model = new BLL.orders().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!")));
                    return;
                }
                if (model.order_amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!")));
                    return;
                }
                if (model.payment_status == 2)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no));
                    return;
                }
                site_payment_id = model.payment_id; //站点支付方式ID
            }
            if (user_name != "")
            {
                user_name = "支付会员:" + user_name;
            }
            else
            {
                user_name = "匿名用户";
            }

            //===========================调用统一下单接口==============================
            string       sendUrl      = "https://api.mch.weixin.qq.com/pay/unifiedorder";
            NativeConfig nativeConfig = new NativeConfig(site_payment_id);
            WxPayData    data         = new WxPayData();

            data.SetValue("body", user_name);                                              //商品描述
            data.SetValue("detail", sysConfig.webname + "-" + subject);                    //商品详情
            data.SetValue("out_trade_no", order_no);                                       //商户订单号
            data.SetValue("total_fee", (Convert.ToDouble(order_amount) * 100).ToString()); //订单总金额,以分为单位
            data.SetValue("trade_type", "NATIVE");                                         //交易类型
            data.SetValue("product_id", order_no);                                         //商品ID
            data.SetValue("notify_url", nativeConfig.Notify_url);                          //异步通知url
            data.SetValue("spbill_create_ip", DTRequest.GetIP());                          //终端IP
            data.SetValue("appid", nativeConfig.AppId);                                    //公众账号ID
            data.SetValue("mch_id", nativeConfig.Partner);                                 //商户号
            data.SetValue("nonce_str", NativePay.GenerateNonceStr());                      //随机字符串
            data.SetValue("sign", data.MakeSign(nativeConfig.Key));                        //签名
            string    xml       = data.ToXml();                                            //转换成XML
            var       startTime = DateTime.Now;                                            //开始时间
            string    response  = HttpService.Post(xml, sendUrl, false, 6);                //发送请求
            var       endTime   = DateTime.Now;                                            //结束时间
            int       timeCost  = (int)((endTime - startTime).TotalMilliseconds);          //计算所用时间
            WxPayData result    = new WxPayData();

            result.FromXml(response, nativeConfig.Key);
            NativePay.ReportCostTime(site_payment_id, sendUrl, timeCost, result); //测速上报

            string codeUrl = result.GetValue("code_url").ToString();              //获得统一下单接口返回的二维码链接

            imgQRCode.ImageUrl = "qrcode.aspx?data=" + HttpUtility.UrlEncode(codeUrl);
            litText.Text       = order_amount.ToString("#0.00");
        }
Ejemplo n.º 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //读取站点配置信息
            Model.sysconfig sysConfig       = new BLL.sysconfig().loadConfig();
            int             site_payment_id = 0; //订单支付方式

            //=============================获得订单信息================================
            string  order_no     = DTRequest.GetFormString("pay_order_no").ToUpper(); //订单号
            decimal order_amount = DTRequest.GetFormDecimal("pay_order_amount", 0);   //订单金额
            string  user_name    = DTRequest.GetFormString("pay_user_name");          //支付用户名
            string  subject      = DTRequest.GetFormString("pay_subject");            //备注说明
            string  trans_type   = string.Empty;                                      //交易类型1实物2虚拟

            if (order_no == "" || order_amount == 0)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!")));
                return;
            }
            if (order_no.StartsWith("R")) //R开头为在线充值订单
            {
                Model.user_recharge model = new BLL.user_recharge().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单号不存在或已删除!")));
                    return;
                }
                if (model.amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您充值的订单金额与实际金额不一致!")));
                    return;
                }
                trans_type      = "2";
                site_payment_id = model.payment_id; //站点支付方式ID
            }
            else //B开头为商品订单
            {
                Model.orders model = new BLL.orders().GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单号不存在或已删除!")));
                    return;
                }
                if (model.order_amount != order_amount)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您支付的订单金额与实际金额不一致!")));
                    return;
                }
                trans_type      = "1";
                site_payment_id = model.payment_id; //站点支付方式ID
            }
            //检查会员还是匿名
            if (!string.IsNullOrEmpty(user_name))
            {
                user_name = "支付会员:" + user_name;
            }
            else
            {
                user_name = "匿名用户";
            }

            //===============================请求参数==================================
            TenpayUtil config = new TenpayUtil(site_payment_id);
            //创建RequestHandler实例
            RequestHandler reqHandler = new RequestHandler(Context);

            //初始化
            reqHandler.init();
            //设置密钥
            reqHandler.setKey(config.key);
            reqHandler.setGateUrl("https://gw.tenpay.com/gateway/pay.htm");
            //-----------------------------
            //设置支付参数
            //-----------------------------
            reqHandler.setParameter("partner", config.partner);                                      //商户号
            reqHandler.setParameter("out_trade_no", order_no);                                       //商家订单号
            reqHandler.setParameter("total_fee", (Convert.ToDouble(order_amount) * 100).ToString()); //商品金额,以分为单位
            reqHandler.setParameter("return_url", config.return_url);                                //交易完成后跳转的URL
            reqHandler.setParameter("notify_url", config.notify_url);                                //接收财付通通知的URL
            reqHandler.setParameter("body", user_name);                                              //商品描述
            reqHandler.setParameter("bank_type", "DEFAULT");                                         //银行类型(中介担保时此参数无效)
            reqHandler.setParameter("spbill_create_ip", Page.Request.UserHostAddress);               //用户的公网ip,不是商户服务器IP
            reqHandler.setParameter("fee_type", "1");                                                //币种,1人民币
            reqHandler.setParameter("subject", sysConfig.webname + "-" + subject);                   //商品名称(中介交易时必填)

            //系统可选参数
            reqHandler.setParameter("sign_type", "MD5");
            reqHandler.setParameter("service_version", "1.0");
            reqHandler.setParameter("input_charset", "UTF-8");
            reqHandler.setParameter("sign_key_index", "1");

            //业务可选参数
            reqHandler.setParameter("product_fee", "0");                                    //商品费用,必须保证transport_fee + product_fee=total_fee
            reqHandler.setParameter("transport_fee", "0");                                  //物流费用,必须保证transport_fee + product_fee=total_fee
            reqHandler.setParameter("time_start", DateTime.Now.ToString("yyyyMMddHHmmss")); //订单生成时间,格式为yyyymmddhhmmss
            reqHandler.setParameter("time_expire", "");                                     //订单失效时间,格式为yyyymmddhhmmss
            reqHandler.setParameter("buyer_id", "");                                        //买方财付通账号
            reqHandler.setParameter("goods_tag", "");                                       //商品标记
            reqHandler.setParameter("trade_mode", "1");                                     //交易模式,1即时到账(默认),2中介担保,3后台选择(买家进支付中心列表选择)
            reqHandler.setParameter("transport_desc", "");                                  //物流说明
            reqHandler.setParameter("trans_type", "1");                                     //交易类型,1实物交易,2虚拟交易
            reqHandler.setParameter("agentid", "");                                         //平台ID
            reqHandler.setParameter("agent_type", "");                                      //代理模式,0无代理(默认),1表示卡易售模式,2表示网店模式
            reqHandler.setParameter("seller_id", "");                                       //卖家商户号,为空则等同于partner

            //获取请求带参数的url
            string requestUrl = reqHandler.getRequestURL();

            //实现自动跳转===============================
            StringBuilder sbHtml = new StringBuilder();

            sbHtml.Append("<form id='tenpaysubmit' name='tenpaysubmit' action='" + reqHandler.getGateUrl() + "' method='get'>");
            Hashtable ht = reqHandler.getAllParameters();

            foreach (DictionaryEntry de in ht)
            {
                sbHtml.Append("<input type=\"hidden\" name=\"" + de.Key + "\" value=\"" + de.Value + "\" >\n");
            }
            //submit按钮控件请不要含有name属性
            sbHtml.Append("<input type='submit' value='确认' style='display:none;'></form>");
            sbHtml.Append("<script>document.forms['tenpaysubmit'].submit();</script>");

            Response.Write(sbHtml.ToString());
        }
Ejemplo n.º 7
0
        /// <summary>
        /// 初始化参数
        /// </summary>
        private void EditorConfig(HttpContext context)
        {
            Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig();
            StringBuilder   jsonStr   = new StringBuilder();

            jsonStr.Append("{");
            //上传图片配置项
            jsonStr.Append("\"imageActionName\": \"uploadimage\",");                                     //执行上传图片的action名称
            jsonStr.Append("\"imageFieldName\": \"upfile\",");                                           //提交的图片表单名称
            jsonStr.Append("\"imageMaxSize\": " + (sysConfig.imgsize * 1024) + ",");                     //上传大小限制,单位B
            jsonStr.Append("\"imageAllowFiles\": [\".png\", \".jpg\", \".jpeg\", \".gif\", \".bmp\"],"); //上传图片格式显示
            jsonStr.Append("\"imageCompressEnable\": false,");                                           //是否压缩图片,默认是true
            jsonStr.Append("\"imageCompressBorder\": 1600,");                                            //图片压缩最长边限制
            jsonStr.Append("\"imageInsertAlign\": \"none\",");                                           //插入的图片浮动方式
            jsonStr.Append("\"imageUrlPrefix\": \"\",");                                                 //图片访问路径前缀
            jsonStr.Append("\"imagePathFormat\": \"\",");                                                //上传保存路径
            //涂鸦图片上传配置项
            jsonStr.Append("\"scrawlActionName\": \"uploadscrawl\",");                                   //执行上传涂鸦的action名称
            jsonStr.Append("\"scrawlFieldName\": \"upfile\",");                                          //提交的图片表单名称
            jsonStr.Append("\"scrawlPathFormat\": \"\",");                                               //上传保存路径
            jsonStr.Append("\"scrawlMaxSize\": " + (sysConfig.imgsize * 1024) + ",");                    //上传大小限制,单位B
            jsonStr.Append("\"scrawlUrlPrefix\": \"\",");                                                //图片访问路径前缀
            jsonStr.Append("\"scrawlInsertAlign\": \"none\",");
            //截图工具上传
            jsonStr.Append("\"snapscreenActionName\": \"uploadimage\","); //执行上传截图的action名称
            jsonStr.Append("\"snapscreenPathFormat\": \"\",");            //上传保存路径
            jsonStr.Append("\"snapscreenUrlPrefix\": \"\",");             //图片访问路径前缀
            jsonStr.Append("\"snapscreenInsertAlign\": \"none\",");       //插入的图片浮动方式
            //抓取远程图片配置
            jsonStr.Append("\"catcherLocalDomain\": [\"127.0.0.1\", \"localhost\", \"img.baidu.com\"],");
            jsonStr.Append("\"catcherActionName\": \"catchimage\",");                                      //执行抓取远程图片的action名称
            jsonStr.Append("\"catcherFieldName\": \"source\",");                                           //提交的图片列表表单名称
            jsonStr.Append("\"catcherPathFormat\": \"\",");                                                //上传保存路径
            jsonStr.Append("\"catcherUrlPrefix\": \"\",");                                                 //图片访问路径前缀
            jsonStr.Append("\"catcherMaxSize\": " + (sysConfig.imgsize * 1024) + ",");                     //上传大小限制,单位B
            jsonStr.Append("\"catcherAllowFiles\": [\".png\", \".jpg\", \".jpeg\", \".gif\", \".bmp\"],"); //抓取图片格式显示
            //上传视频配置
            jsonStr.Append("\"videoActionName\": \"uploadvideo\",");                                       //上传视频的action名称
            jsonStr.Append("\"videoFieldName\": \"upfile\",");                                             //提交的视频表单名称
            jsonStr.Append("\"videoPathFormat\": \"\",");                                                  //上传保存路径
            jsonStr.Append("\"videoUrlPrefix\": \"\",");                                                   //视频访问路径前缀
            jsonStr.Append("\"videoMaxSize\": " + (sysConfig.videosize * 1024) + ",");                     //上传大小限制,单位B
            jsonStr.Append("\"videoAllowFiles\": " + GetExtension(sysConfig.videoextension) + ",");
            //上传附件配置
            jsonStr.Append("\"fileActionName\": \"uploadfile\",");                                              //上传视频的action名称
            jsonStr.Append("\"fileFieldName\": \"upfile\",");                                                   //提交的文件表单名称
            jsonStr.Append("\"filePathFormat\": \"\",");                                                        //上传保存路径
            jsonStr.Append("\"fileUrlPrefix\": \"\",");                                                         //文件访问路径前缀
            jsonStr.Append("\"fileMaxSize\": " + (sysConfig.attachsize * 1024) + ",");                          //上传大小限制,单位B
            jsonStr.Append("\"fileAllowFiles\": " + GetExtension(sysConfig.fileextension) + ",");               //上传文件格式
            //列出指定目录下的图片
            jsonStr.Append("\"imageManagerActionName\": \"listimage\",");                                       //执行图片管理的action名称
            jsonStr.Append("\"imageManagerListPath\": \"\",");                                                  //指定要列出图片的目录
            jsonStr.Append("\"imageManagerListSize\": 20,");                                                    //每次列出文件数量
            jsonStr.Append("\"imageManagerUrlPrefix\": \"\",");                                                 //图片访问路径前缀
            jsonStr.Append("\"imageManagerInsertAlign\": \"none\",");                                           //插入的图片浮动方式
            jsonStr.Append("\"imageManagerAllowFiles\": [\".png\", \".jpg\", \".jpeg\", \".gif\", \".bmp\"],"); //列出的文件类型
            //列出指定目录下的文件
            jsonStr.Append("\"fileManagerActionName\": \"listfile\",");                                         //执行文件管理的action名称
            jsonStr.Append("\"fileManagerListPath\": \"\",");                                                   //指定要列出文件的目录
            jsonStr.Append("\"fileManagerUrlPrefix\": \"\",");                                                  //文件访问路径前缀
            jsonStr.Append("\"fileManagerListSize\": 20,");                                                     //每次列出文件数量
            jsonStr.Append("\"fileManagerAllowFiles\": [\".png\", \".jpg\", \".jpeg\", \".gif\", \".bmp\",");
            jsonStr.Append("\".flv\", \".swf\", \".mkv\", \".avi\", \".rm\", \".rmvb\", \".mpeg\", \".mpg\",");
            jsonStr.Append("\".ogg\", \".ogv\", \".mov\", \".wmv\", \".mp4\", \".webm\", \".mp3\", \".wav\", \".mid\",");
            jsonStr.Append("\".rar\", \".zip\", \".tar\", \".gz\", \".7z\", \".bz2\", \".cab\", \".iso\",");
            jsonStr.Append("\".doc\", \".docx\", \".xls\", \".xlsx\", \".ppt\", \".pptx\", \".pdf\", \".txt\", \".md\", \".xml\"]");
            jsonStr.Append("}");

            context.Response.AddHeader("Content-Type", "text/plain; charset=UTF-8");
            context.Response.Write(jsonStr.ToString());
            context.Response.End();
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 页面请求事件处理
        /// </summary>
        /// <param name="sender">事件的源</param>
        /// <param name="e">包含事件数据的 EventArgs</param>
        private void ReUrl_BeginRequest(object sender, EventArgs e)
        {
            HttpContext context = ((HttpApplication)sender).Context;

            Model.sysconfig siteConfig  = new BLL.sysconfig().loadConfig(); //获得系统配置信息
            string          requestPath = context.Request.Path.ToLower();   //获得当前页面(含目录)

            //如果虚拟目录(不含安装目录)与站点根目录名相同则不需要重写
            if (IsDirExist(DTKeys.CACHE_SITE_DIRECTORY, siteConfig.webpath, siteConfig.webpath, requestPath))
            {
                return;
            }

            string requestDomain = context.Request.Url.Authority.ToLower();                     //获得当前域名(含端口号)
            string sitePath      = GetSitePath(siteConfig.webpath, requestPath, requestDomain); //获取当前站点目录
            string requestPage   = CutStringPath(siteConfig.webpath, sitePath, requestPath);    //截取除安装、站点目录部分

            //检查网站重写状态0表示不开启重写、1开启重写、2生成静态
            if (siteConfig.staticstatus == 0)
            {
                #region 站点不开启重写处理方法===========================
                //遍历URL字典,匹配URL页面部分
                foreach (Model.url_rewrite model in SiteUrls.GetUrls().Urls)
                {
                    //查找到与页面部分匹配的节点
                    if (model.page == requestPath.Substring(requestPath.LastIndexOf("/") + 1))
                    {
                        //映射到站点目录下
                        context.RewritePath(string.Format("{0}{1}/{2}{3}",
                                                          siteConfig.webpath, DTKeys.DIRECTORY_REWRITE_ASPX, sitePath, requestPage));
                    }
                }
                #endregion
            }
            else
            {
                #region 站点开启重写或静态处理方法=======================
                //遍历URL字典
                foreach (Model.url_rewrite model in SiteUrls.GetUrls().Urls)
                {
                    //如果没有重写表达式则不需要重写
                    if (model.url_rewrite_items.Count == 0 &&
                        Utils.GetUrlExtension(model.page, siteConfig.staticextension) == requestPath.Substring(requestPath.LastIndexOf("/") + 1))
                    {
                        //映射到站点目录
                        context.RewritePath(string.Format("{0}{1}/{2}/{3}",
                                                          siteConfig.webpath, DTKeys.DIRECTORY_REWRITE_ASPX, sitePath, model.page));
                        return;
                    }
                    //遍历URL字典的子节点
                    foreach (Model.url_rewrite_item item in model.url_rewrite_items)
                    {
                        string newPattern = Utils.GetUrlExtension(item.pattern, siteConfig.staticextension);//替换扩展名

                        //如果与URL节点匹配则重写
                        if (Regex.IsMatch(requestPage, string.Format("^/{0}$", newPattern), RegexOptions.None | RegexOptions.IgnoreCase) ||
                            (model.page == "index.aspx" && Regex.IsMatch(requestPage, string.Format("^/{0}$", item.pattern), RegexOptions.None | RegexOptions.IgnoreCase)))
                        {
                            //如果开启生成静态、是频道页或首页,则映射重写到HTML目录
                            if (siteConfig.staticstatus == 2 && (model.channel.Length > 0 || model.page.ToLower() == "index.aspx")) //频道页
                            {
                                context.RewritePath(siteConfig.webpath + DTKeys.DIRECTORY_REWRITE_HTML + "/" + sitePath +
                                                    Utils.GetUrlExtension(requestPage, siteConfig.staticextension, true));
                                return;
                            }
                            else //其它
                            {
                                string queryString = Regex.Replace(requestPage, string.Format("/{0}", newPattern), item.querystring, RegexOptions.None | RegexOptions.IgnoreCase);
                                context.RewritePath(string.Format("{0}{1}/{2}/{3}",
                                                                  siteConfig.webpath, DTKeys.DIRECTORY_REWRITE_ASPX, sitePath, model.page), string.Empty, queryString);
                                return;
                            }
                        }
                    }
                }
                #endregion
            }
        }
Ejemplo n.º 9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //读取站点配置信息
            Model.sysconfig sysConfig = new BLL.sysconfig().loadConfig();
            string          order_no  = DTRequest.GetFormString("pay_order_no").ToUpper();

            BLL.orders   objorders   = new BLL.orders();
            Model.orders modelorders = objorders.GetModel(order_no);
            if (modelorders == null)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,订单详情获取出错,请重试!")));
                return;
            }
            decimal order_amount = modelorders.order_amount;
            string  subject      = DTRequest.GetFormString("pay_subject");

            if (order_no == "" || order_amount == 0)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,您提交的参数有误!")));
                return;
            }
            //检查是否已登录
            Model.users userModel = new Web.UI.BasePage().GetUserInfo();
            if (userModel == null)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=login")); //尚未登录
                return;
            }
            if (userModel.amount < order_amount)
            {
                Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=recharge")); //账户的余额不足
                return;
            }

            if (order_no.StartsWith("B")) //B开头为商品订单
            {
                BLL.orders   bll   = new BLL.orders();
                Model.orders model = bll.GetModel(order_no);
                if (model == null)
                {
                    Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,商品订单号不存在!")));
                    return;
                }
                if (model.payment_status == 1)
                {
                    //执行扣取账户金额
                    int result = new BLL.user_amount_log().Add(userModel.id, userModel.user_name, -1 * order_amount, subject);
                    if (result > 0)
                    {
                        //更改订单状态
                        bool result1 = bll.UpdateField(order_no, "status=2,payment_status=2,payment_time='" + DateTime.Now + "'");
                        if (!result1)
                        {
                            Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error"));
                            return;
                        }
                        //扣除积分
                        if (model.point < 0)
                        {
                            new BLL.user_point_log().Add(model.user_id, model.user_name, model.point, "换购扣除积分,订单号:" + model.order_no, false);
                        }
                    }
                    else
                    {
                        Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=error"));
                        return;
                    }
                }
                //支付成功
                Response.Redirect(new Web.UI.BasePage().linkurl("payment", "?action=succeed&order_no=" + order_no));
                return;
            }
            Response.Redirect(new Web.UI.BasePage().linkurl("error", "?msg=" + Utils.UrlEncode("对不起,找不到需要支付的订单类型!")));
            return;
        }