示例#1
0
        public static string GetURL(string code, string ParaStr, string url, Lebi_Language lang)
        {
            if (lang == null)
            {
                lang = new Lebi_Language();
            }
            Lebi_Site site = B_Lebi_Site.GetModel(lang.Site_id);

            if (site == null)
            {
                if (ShopPage.IsAPP() || ShopPage.IsWechat() || ShopPage.IsWap())
                {
                    site = B_Lebi_Site.GetModel("IsMobile = 1 order by Sort asc");
                }
                else
                {
                    site = B_Lebi_Site.GetModel("IsMobile = 0 order by Sort asc");
                }
                if (site == null)
                {
                    site = new Lebi_Site();
                }
            }
            return(GetURL(code, ParaStr, url, site, lang));
        }
示例#2
0
        public static string GetURL(string code, string ParaStr, string url, string langcode)
        {
            Lebi_Site site = new Lebi_Site();

            if (ShopPage.IsAPP() || ShopPage.IsWechat() || ShopPage.IsWap())
            {
                site = B_Lebi_Site.GetModel("IsMobile = 1 order by Sort asc");
                if (site == null)
                {
                    site = B_Lebi_Site.GetModel("IsMobile = 0 order by Sort asc");
                }
            }
            else
            {
                site = B_Lebi_Site.GetModel("IsMobile = 0 order by Sort asc");
                if (site == null)
                {
                    site = B_Lebi_Site.GetModel("IsMobile = 1 order by Sort asc");
                }
            }
            Lebi_Language lang = B_Lebi_Language.GetModel("Site_id =" + site.id + " and Code = '" + langcode + "'");

            if (lang == null)
            {
                lang = new Lebi_Language();
            }
            return(GetURL(code, ParaStr, url, lang));
        }
示例#3
0
 /// <summary>
 /// 载入主题
 /// </summary>
 /// <param name="code"></param>
 public void LoadTheme(string tcode, string pcode)
 {
     CurrentTheme_              = B_Lebi_Theme.GetList("Code='" + tcode + "'", "").FirstOrDefault();
     CurrentLanguage_           = B_Lebi_Language.GetList("Code='" + CurrentTheme.Language + "'", "").FirstOrDefault();
     Session["CurrentTheme"]    = CurrentTheme_;//session主要是为那些没有LoadTheme方法的页面服务的,如ajax
     Session["CurrentLanguage"] = CurrentLanguage_;
     CurrentPage = B_Lebi_Theme_Page.GetModel("Code='" + pcode + "'");
 }
示例#4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int order_id = RequestTool.RequestInt("order_id", 0);

            order = B_Lebi_Order.GetModel(order_id);
            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "qianhai");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            business = pay.UserName;


            currency = pay.Currency_Code;
            Money    = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ReturnUrl = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/qianhai/ReturnUrl.aspx";

            //account+terminal+backUrl+order_number+order_currency+order_amount+billing_firstName+billing_lastName+billing_email+secureCode
            //scode = pay.UserName + "" + ReturnUrl + order.Code + pay.Currency_Code + Money + "" + "" + "" + pay.UserKey;
        }
示例#5
0
        public Lebi_Language GetLanguage(string code, int siteid)
        {
            Lebi_Language lang = B_Lebi_Language.GetModel("Site_id=" + siteid + " and Code='" + code + "'");

            if (lang == null)
            {
                lang = new Lebi_Language();
            }
            return(lang);
        }
示例#6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int order_id = RequestTool.RequestInt("order_id", 0);

            order = B_Lebi_Order.GetModel(order_id);
            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "molpay");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            business = pay.UserName;
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            OrderCode = order.Code;
            mid       = pay.UserName;
            Money     = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ReturnUrl = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/paypal/ReturnUrl.aspx";
            vcode     = MOLMD5.Sign(Money + pay.UserName + order.Code + pay.UserKey);
        }
示例#7
0
        /// <summary>
        /// 返回当前币种
        /// 前台使用
        /// </summary>
        /// <returns></returns>
        public static Lebi_Currency CurrentCurrency(Lebi_Language lang)
        {
            string        code  = CookieTool.GetCookieString("Currency");
            Lebi_Currency model = B_Lebi_Currency.GetModel("Code=lbsql{'" + code + "'}");

            if (model == null)
            {
                model = B_Lebi_Currency.GetModel(lang.Currency_id);
            }
            if (model == null)
            {
                return(DefaultCurrency());
            }
            return(model);
        }
示例#8
0
        /// <summary>
        /// 生成页面皮肤
        /// 针对生成整个主题-针对一个语言
        /// </summary>
        /// <returns></returns>
        public void CreateLanguageTheme()
        {
            int Language_id = RequestTool.RequestInt("Language_id", 0);

            Lebi_Language lang  = B_Lebi_Language.GetModel(Language_id);
            Lebi_Theme    theme = B_Lebi_Theme.GetModel(lang.Theme_id);

            if (theme == null)
            {
                Response.Write("{\"msg\":\"" + Tag("未关联任何模板") + "\"}");
                return;
            }
            string Msg  = "";
            Site   site = new Site();

            Msg = Shop.Bussiness.Theme.CreateThemeByLanguage(lang, theme);
            Response.Write("{\"msg\":\"" + Msg + "\"}");
        }
示例#9
0
        /// <summary>
        /// 品牌页面
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="model"></param>
        /// <param name="theme"></param>
        /// <param name="urlpath"></param>
        private void P_Brand(Lebi_Language lang, Lebi_Theme_Page page, Lebi_Theme theme, string urlpath)
        {
            string            url;
            string            path   = lang.Path + "/" + page.StaticPath + "/" + page.StaticPageName;
            string            file   = "";
            List <Lebi_Brand> models = B_Lebi_Brand.GetList("", "");

            foreach (Lebi_Brand model in models)
            {
                url  = page.PageName + "?" + page.PageParameter;
                url  = url.Replace("{0}", model.id.ToString());
                url  = urlpath + "/" + url;
                file = path.Replace("{0}", model.id.ToString());
                file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                url  = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                url  = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, file);
            }
        }
示例#10
0
        /// <summary>
        /// 文章列表页面
        /// </summary>
        /// <param name="lang"></param>
        /// <param name="model"></param>
        /// <param name="theme"></param>
        /// <param name="urlpath"></param>
        private void P_Article(Lebi_Language lang, Lebi_Theme_Page model, Lebi_Theme theme, string urlpath)
        {
            string url;
            string nodeids = RequestTool.RequestString("node");

            if (nodeids == null)
            {
                return;
            }
            string           path   = lang.Path + "/" + model.StaticPath + "/" + model.StaticPageName;
            string           pathto = "";
            List <Lebi_Node> nodes  = B_Lebi_Node.GetList("id in (lbsql{" + nodeids + "}) and Language_Code like '%" + lang.Code + "%'", "");

            foreach (Lebi_Node node in nodes)
            {
                url    = model.PageName + "?" + model.PageParameter;
                url    = url.Replace("{0}", node.id.ToString());
                url    = urlpath + "/" + url;
                pathto = path.Replace("{0}", node.id.ToString());
                url    = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, pathto);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            int id = RequestTool.RequestInt("id", 0);

            if (id == 0)
            {
                if (!EX_Admin.Power("language_add", "添加网站语言"))
                {
                    WindowNoPower();
                }
            }
            else
            {
                if (!EX_Admin.Power("language_edit", "编辑网站语言"))
                {
                    WindowNoPower();
                }
            }
            model = B_Lebi_Language.GetModel(id);
            if (model == null)
            {
                model = new Lebi_Language();
            }
        }
示例#12
0
        /// <summary>
        /// 关于我们页面/新闻/文章
        /// </summary>
        public static bool Greate_InfoPage(Lebi_Page model, Lebi_Theme_Page page)
        {
            Site site = new Site();

            string[] langcodes = model.Language.Split(',');
            string   urlpath   = "http://" + HttpContext.Current.Request.Url.Authority + site.WebPath;
            string   url       = "";
            string   file      = "";

            foreach (string langcode in langcodes)
            {
                Lebi_Language lang = B_Lebi_Language.GetModel("Code='" + langcode + "'");
                string        path = lang.Path + "/" + page.StaticPath + "/" + page.StaticPageName;
                url  = page.PageName + "?" + page.PageParameter;
                url  = url.Replace("{0}", model.id.ToString());
                url  = urlpath + "/" + url;
                file = path.Replace("{0}", model.id.ToString());
                file = RegexTool.ReplaceRegValue(file, @"{.*?}", "");
                url  = RegexTool.ReplaceRegValue(url, @"{.*?}", "");
                url  = ThemeUrl.CheckURL(url);
                HtmlEngine.Instance.CreatHtml(url, file);
            }
            return(true);
        }
示例#13
0
        protected void Page_Load(object sender, EventArgs e)
        {
            conekta.Api.version = "2.0.0";
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            //SystemLog.Add("订单:" + order.Code + "-" + CurrentSite.id + "--" + CurrentLanguage.id);
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "conekta");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            conekta.Api.apiKey = pay.UserKey;
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }

            B_Lebi_Order.Update(order);
            if (order.weixin_prepay_id.Contains("oxxopay"))
            {
                //"oxxopay:" + JsonConvert.SerializeObject(jo) + ";";
                string oxxo = RegexTool.GetRegValue(order.weixin_prepay_id, "oxxopay:(.*?)};") + "}";
                try
                {
                    JObject jo = (JObject)JsonConvert.DeserializeObject(oxxo);
                    reference = jo["reference"].ToString();
                    money     = jo["money"].ToString();
                }
                catch (Exception ex)
                {
                    //Response.Write(ex.ToString());
                }
            }
            else
            {
            }

            if (money == order.Money_Pay.ToString())
            {
                return;
            }
            money = order.Money_Pay.ToString();
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ////////////////////////////////////////////请求参数////////////////////////////////////////////


            //页面跳转同步通知页面路径
            string return_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/conektapay/return_url.aspx";
            //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/

            //卖家支付宝帐户
            string seller_email = pay.Email;
            //必填

            //商户订单号
            string out_trade_no = order.Code;
            //商户网站订单系统中唯一订单号,必填

            //订单名称
            string subject = order.Code;
            //必填

            //付款金额
            string total_fee = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100)) * 100).ToString("f0");

            //必填

            try
            {
                string ostring = @"{
                    ""line_items"": [{
                        ""name"": ""ordercode_{ordercode}"",
                        ""unit_price"": {money},
                        ""quantity"": 1
                    }],
                    ""shipping_lines"": [{
                        ""amount"": 0,
                        ""carrier"": ""xxxxxx""
                    }], //shipping_lines - physical goods only
                    ""currency"": ""MXN"",
                    ""customer_info"": {
                      ""name"": ""{u_name}"",
                      ""email"": ""{u_email}"",
                      ""phone"": ""{u_phone}""
                    },
                    ""shipping_contact"":{
                       ""address"": {
                         ""street1"": ""xxx xxx"",
                         ""postal_code"": ""06100"",
                         ""country"": ""MX""
                       }
                    }, //required only for physical goods
                    ""charges"":[{
                      ""payment_method"": {
                        ""type"": ""oxxo_cash""
                      }
                    }]
               }";

                ostring = ostring.Replace("{ordercode}", order.Code);
                ostring = ostring.Replace("{money}", total_fee);
                ostring = ostring.Replace("{u_name}", order.User_UserName);
                ostring = ostring.Replace("{u_email}", order.T_Email);
                ostring = ostring.Replace("{u_phone}", order.T_MobilePhone);
                ostring = ostring.Replace("{t_name}", order.T_Name);

                conekta.Order order1 = new conekta.Order().create(ostring);


                //ostring = string.Format(ostring, order.Code, total_fee, order.T_Name, order.T_Email, order.T_MobilePhone);
                //conekta.Order corder = new conekta.Order().create(ostring);
                //Response.Write("ID: " + order1.id);
                //Response.Write("ID111: " + order1.charges.toJSON());

                //ID: ord_2jDzPMV51K1i9z9Ti
                //ID111: { "has_more":false,"data":[{"id":"5b91d84aedbb6e28f3ef1639","livemode":false,"created_at":1536284746,"currency":"MXN","payment_method":{"service_name":"OxxoPay","barcode_url":"https://s3.amazonaws.com/cash_payment_barcodes/sandbox_reference.png","object":"cash_payment","type":"oxxo","expires_at":1538870400,"store_name":"OXXO","reference":"98000000140098"},"object":"charge","description":"Payment from order","status":"pending_payment","amount":13500,"fee":549,"customer_id":"","order_id":"ord_2jDzPMV51K1i9z9Ti"}],"_type":"conekta.Charge, conekta, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"}


                //Response.Write("Payment Method: " + order1.charges[0].payment_method.service_name);
                //Response.Write("Reference: " + order1.charges[0].payment_method.reference);
                //Response.Write("$" + (order1.amount / 100) + order1.currency);
                //Response.Write("Order");
                //Response.Write(order1.line_items[0].quantity + " - "
                //            + order1.line_items[0].name + " - "
                //            + (order1.line_items.unit_price / 100));
                reference            = RegexTool.GetRegValue(order1.charges.toJSON(), "\"reference\":\"(\\d+)\"");
                order.OnlinePay_Code = order1.id;
                JObject jo = new JObject();
                jo["reference"]        = reference;
                jo["money"]            = money;
                order.weixin_prepay_id = "oxxopay:" + JsonConvert.SerializeObject(jo) + ";";
                B_Lebi_Order.Update(order);
            }
            catch (ConektaException ex)
            {
                foreach (JObject obj in ex.details)
                {
                    Response.Write("message:\t" + obj.GetValue("message") + "___" + "debug:\t" + obj.GetValue("debug_message") + "___" + "code:\t" + obj.GetValue("code"));
                    Response.End();
                    SystemLog.Add("message:\t" + obj.GetValue("message") + "___" + "debug:\t" + obj.GetValue("debug_message") + "___" + "code:\t" + obj.GetValue("code"));
                    //System.Console.WriteLine("\n [ERROR]:\n");
                    //System.Console.WriteLine("message:\t" + obj.GetValue("message"));
                    //System.Console.WriteLine("debug:\t" + obj.GetValue("debug_message"));
                    //System.Console.WriteLine("code:\t" + obj.GetValue("code"));
                }
            }
        }
示例#14
0
        private void StartINIStd()
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "INIpayWap");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();

            //각 필드 설정
            //string strMid = "INIwebplat";
            strMid      = pay.UserName;
            strVersion  = "1.0";
            strGoodName = order.Code;
            strPrice    = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("0");
            strCurrency = "WON";

            //Lebi_Transport_Order torder = B_Lebi_Transport_Order.GetModel("Order_id=" + order.id + "");
            //if (torder == null)
            //    torder = new Lebi_Transport_Order();
            strBuyerName  = order.User_UserName;
            strBuyerTel   = order.T_MobilePhone;
            strBuyerEmail = order.T_Email;



            // TimeStamp 생성
            string timeTemp = "" + DateTime.UtcNow.Subtract(DateTime.MinValue.AddYears(1969)).TotalMilliseconds;

            string[] artime = timeTemp.Split('.');
            timestamp = artime[0];

            //oid = strMid + "_" + timestamp;
            oid = order.Code;
            //Signature 생성 - 알파벳 순으로 정렬후 hash
            string param = "oid=" + oid + "&price=" + strPrice + "&timestamp=" + timestamp;

            signature = ComputeHash(param);

            //closeURL
            //string close = "http://127.0.0.1/close.aspx";
            //closeUrl.Text = close;

            //popupURL
            //string popup = "http://127.0.0.1/popup.aspx";
            //popupUrl.Text = popup;

            //가맹점 전환 페이지 설정
            //string strReturnUrl = "http://127.0.0.1/INIStdPayReturn.aspx";
            string strReturnUrl = "http://" + RequestTool.GetRequestDomain() + "/onlinepay/INIpayWap/INIStdPayReturn.aspx";

            returnUrl = strReturnUrl;

            // 가맹점확인을 위한 signKey 를 해쉬값으로 변경(SHA-256)
            string signKey = pay.UserKey;   // 가맹점에 제공된 키(이니라이트키) (가맹점 수정후 고정) !!!절대!! 전문 데이터로 설정금지

            mKey = ComputeHash(signKey);
        }
示例#15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "chinapnr");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();



            Version = "10";         //版本号
            CmdId   = "Buy";
            MerId   = pay.UserName; //商户号
            OrdId   = order.Code;   //订单编号
            if (OrdId.Length > 20)
            {
                OrdId = "lebiorderid_" + order.id.ToString();
            }
            OrdAmt     = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + ""); //订单金额
            CurCode    = pay.Currency_Code;                                                                                                 //币种
            Pid        = "";                                                                                                                //商品编号
            RetUrl     = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/chinapnr/Buy_return_url.aspx";
            BgRetUrl   = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/chinapnr/Buy_notify_url.aspx";
            MerPriv    = ""; //商户私有域,你可以转递一些贵网站系统中特有的参数 选填项
            GateId     = ""; //银行网关号,如果输入网关号将直接跳至银行支付页面   网关号可向汇付销售人员获取  选填项
            UsrMp      = ""; //用户手机号  选填项
            DivDetails = ""; //分帐信息,当存在将支付款项分别入帐时需要 选填项
            PayUsrId   = ""; //付款人的汇付用户号 选填项

            //签名
            String MsgData;

            MsgData = Version + CmdId + MerId + OrdId + OrdAmt + CurCode + Pid + RetUrl + MerPriv + GateId + UsrMp + DivDetails + PayUsrId + BgRetUrl;
            CHINAPNRLib.NetpayClient SignObject = new NetpayClientClass();
            string keypath = System.Web.HttpContext.Current.Server.MapPath("~/" + pay.Email.TrimStart('/'));

            ChkValue = SignObject.SignMsg0(MerId, keypath, MsgData, MsgData.Length);           //请将此处改成你的私钥文件所在路径
        }
示例#16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            pay = Shop.Bussiness.Money.GetOnlinePay(order, "behpardakht");
            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            business  = pay.UserName;
            OrderCode = order.Code;
            Pid       = order.Code;
            Money     = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ReturnUrl = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/behpardakht/ReturnUrl.aspx";

            //BPService.PaymentGatewayImplService bpService = new BPService.PaymentGatewayImplService();
            //result = bpService.bpPayRequest(Int64.Parse(TerminalIdTextBox.Text),
            //    UserNameTextBox.Text,
            //    UserPasswordTextBox.Text,
            //    Int64.Parse(PayOrderIdTextBox.Text),
            //    Int64.Parse(PayAmountTextBox.Text),
            //    PayDateTextBox.Text,
            //    PayTimeTextBox.Text,
            //    PayAdditionalDataTextBox.Text,
            //    PayCallBackUrlTextBox.Text,
            //    Int64.Parse(PayPayerIdTextBox.Text));


            object[] args = new object[10];
            args[0] = Int64.Parse(pay.terminal);
            args[1] = pay.UserName;
            args[2] = pay.UserKey;
            args[3] = order.id;
            args[4] = Convert.ToInt64(Money);
            args[5] = order.Time_Add.ToString("yyyyMMdd");
            args[6] = order.Time_Add.ToString("HHmmss");
            args[7] = order.Code;
            args[8] = ReturnUrl;
            args[9] = 0;

            string web    = "https://bpm.shaparak.ir/pgwchannel/services/pgw";
            object obj    = WebServiceTool.InvokeWebService(web, "PaymentGatewayImplService", "bpPayRequest", args, "https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl=IPaymentGateway.wsdl");
            string result = "";

            try
            {
                result = Convert.ToString(obj);
            }
            catch
            {
                result = "";
            }

            String[] resultArray = result.Split(',');
            if (resultArray[0] == "0")
            {
                refid = resultArray[1];
                order.OnlinePay_Code = refid;
            }
            //ClientScript.RegisterStartupScript(typeof(Page), "ClientScript", "<script language='javascript' type='text/javascript'> postRefId('" + resultArray[1] + "');</script> ", false);
        }
示例#17
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Shop.Bussiness.Site site = new Shop.Bussiness.Site();
                int        order_id      = RequestTool.RequestInt("order_id", 0);
                Lebi_Order order         = B_Lebi_Order.GetModel(order_id);
                if (order == null)
                {
                    Response.Write("ERROR");
                    Response.End();
                    return;
                }
                Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);
                if (order.IsPaid == 1)
                {
                    Response.Write(Language.Tag("已付款", language.Code));
                    Response.End();
                    return;
                }
                order.Site_id_pay = CurrentSite.id;
                order.Language_id = CurrentLanguage.id;
                Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "dinpay");
                if (pay == null)
                {
                    Response.Write("系统错误");
                    Response.End();
                    return;
                }
                if (pay.FreeFeeRate == 1)
                {
                    pay.FeeRate = 0;
                }
                if (pay.FeeRate > 0)
                {
                    order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
                }
                if (order.OnlinePay_id != pay.id)
                {
                    order.OnlinePay_id   = pay.id;
                    order.OnlinePay_Code = pay.Code;
                    order.OnlinePay      = pay.Name;
                }
                B_Lebi_Order.Update(order);
                Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
                //参数编码字符集(必选)
                string input_charset1 = "UTF-8";

                //接口版本(必选)固定值:V3.0
                string interface_version1 = "V3.0";

                //商家号(必填)
                string merchant_code1 = pay.UserName;

                //后台通知地址(必填)
                string notify_url1 = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/pinpay/notify_url.aspx";

                //定单金额(必填)
                string order_amount1 = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");;

                //商家定单号(必填)
                string order_no1 = order.Code;

                //商家定单时间(必填)
                string order_time1 = order.Time_Add.ToString("yyyy-MM-dd HH:mm:ss");

                //签名方式(必填)
                string sign_type1 = "MD5";

                //商品编号(选填)
                string product_code1 = RequestTool.RequestString("product_code");

                //商品描述(选填)
                string product_desc1 = RequestTool.RequestString("product_desc");

                //商品名称(必填)
                string product_name1 = order.Code;

                //端口数量(选填)
                string product_num1 = RequestTool.RequestString("product_num");

                //页面跳转同步通知地址(选填)
                string return_url1 = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/pinpay/return_url.aspx";

                //业务类型(必填)
                string service_type1 = "direct_pay";

                //商品展示地址(选填)
                string show_url1 = RequestTool.RequestString("show_url");

                //公用业务扩展参数(选填)
                string extend_param1 = RequestTool.RequestString("extend_param");

                //公用业务回传参数(选填)
                string extra_return_param1 = RequestTool.RequestString("extra_return_param");

                // 直联通道代码(选填)
                string bank_code1 = RequestTool.RequestString("bank_code");

                //客户端IP(选填)
                string client_ip1 = RequestTool.RequestString("client_ip");

                /* 注  new String(参数.getBytes("ISO-8859-1"),"此页面编码格式"); 若为GBK编码 则替换UTF-8 为GBK*/


                /*
                **
                ** 签名顺序按照参数名a到z的顺序排序,若遇到相同首字母,则看第二个字母,以此类推,同时将商家支付密钥key放在最后参与签名,
                ** 组成规则如下:
                ** 参数名1=参数值1&参数名2=参数值2&……&参数名n=参数值n&key=key值
                **/

                string signSrc = "";

                //组织订单信息
                if (bank_code1 != "")
                {
                    signSrc = signSrc + "bank_code=" + bank_code1 + "&";
                }
                if (client_ip1 != "")
                {
                    signSrc = signSrc + "client_ip=" + client_ip1 + "&";
                }
                if (extend_param1 != "")
                {
                    signSrc = signSrc + "extend_param=" + extend_param1 + "&";
                }
                if (extra_return_param1 != "")
                {
                    signSrc = signSrc + "extra_return_param=" + extra_return_param1 + "&";
                }
                if (input_charset1 != "")
                {
                    signSrc = signSrc + "input_charset=" + input_charset1 + "&";
                }
                if (interface_version1 != "")
                {
                    signSrc = signSrc + "interface_version=" + interface_version1 + "&";
                }
                if (merchant_code1 != "")
                {
                    signSrc = signSrc + "merchant_code=" + merchant_code1 + "&";
                }
                if (notify_url1 != "")
                {
                    signSrc = signSrc + "notify_url=" + notify_url1 + "&";
                }
                if (order_amount1 != "")
                {
                    signSrc = signSrc + "order_amount=" + order_amount1 + "&";
                }
                if (order_no1 != "")
                {
                    signSrc = signSrc + "order_no=" + order_no1 + "&";
                }
                if (order_time1 != "")
                {
                    signSrc = signSrc + "order_time=" + order_time1 + "&";
                }
                if (product_code1 != "")
                {
                    signSrc = signSrc + "product_code=" + product_code1 + "&";
                }
                if (product_desc1 != "")
                {
                    signSrc = signSrc + "product_desc=" + product_desc1 + "&";
                }
                if (product_name1 != "")
                {
                    signSrc = signSrc + "product_name=" + product_name1 + "&";
                }
                if (product_num1 != "")
                {
                    signSrc = signSrc + "product_num=" + product_num1 + "&";
                }
                if (return_url1 != "")
                {
                    signSrc = signSrc + "return_url=" + return_url1 + "&";
                }
                if (service_type1 != "")
                {
                    signSrc = signSrc + "service_type=" + service_type1 + "&";
                }
                if (show_url1 != "")
                {
                    signSrc = signSrc + "show_url=" + show_url1 + "&";
                }

                //设置密钥
                string key = pay.UserKey;


                signSrc = signSrc + "key=" + key;

                string singInfo = signSrc;
                //Response.Write("singInfo=" + singInfo + "<br>");


                //签名
                string sign1 = FormsAuthentication.HashPasswordForStoringInConfigFile(singInfo, "md5").ToLower();
                //Response.Write("sign1=" + sign1 + "<br>");

                sign.Value               = sign1;
                merchant_code.Value      = merchant_code1;
                bank_code.Value          = bank_code1;
                order_no.Value           = order_no1;
                order_amount.Value       = order_amount1;
                service_type.Value       = service_type1;
                input_charset.Value      = input_charset1;
                notify_url.Value         = notify_url1;
                interface_version.Value  = interface_version1;
                sign_type.Value          = sign_type1;
                order_time.Value         = order_time1;
                product_name.Value       = product_name1;
                client_ip.Value          = client_ip1;
                extend_param.Value       = extend_param1;
                extra_return_param.Value = extra_return_param1;
                product_code.Value       = product_code1;
                product_desc.Value       = product_desc1;
                product_num.Value        = product_num1;
                return_url.Value         = return_url1;
                show_url.Value           = show_url1;
            }
            finally
            {
            }
        }
示例#18
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int order_id = RequestTool.RequestInt("order_id", 0);

            order = B_Lebi_Order.GetModel(order_id);
            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }

            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }

            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "weixinpayh5");

            if (pay == null)
            {
                Log.Add("在线支付接口 weixinpay 配置错误");
                return;
            }

            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_User user = B_Lebi_User.GetModel(order.User_id);

            if (user == null)
            {
                Response.Write("订单错误");
                Response.End();
                return;
            }


            returnurl = URL("P_UserOrderDetails", order.id);
            TenpayUtil tu = new TenpayUtil(order);

            appId     = tu.appid;
            timeStamp = TenpayUtil.getTimestamp();
            nonceStr  = TenpayUtil.getNoncestr();
            string order_price = (order.Money_Pay * currendy.ExchangeRate * 100 * (1 + (pay.FeeRate / 100))).ToString("0");
            string sp_billno   = order.Code + "|" + TenpayUtil.UnixStamp();

            shopname = Lang(CurrentSite.Name);
            string prepayId = order.weixin_prepay_id;
            //if (prepayId == "" || prepayId == "INVALID_REQUEST")
            //{
            //创建支付应答对象
            RequestHandler packageReqHandler = new RequestHandler(Context);

            //初始化
            packageReqHandler.init();
            //设置package订单参数
            packageReqHandler.setParameter("body", order.Code); //商品信息 127字符
            packageReqHandler.setParameter("appid", tu.appid);
            packageReqHandler.setParameter("mch_id", tu.mch_id);
            packageReqHandler.setParameter("nonce_str", nonceStr);
            packageReqHandler.setParameter("openid", user.bind_weixin_id);
            packageReqHandler.setParameter("out_trade_no", sp_billno);                     //商家订单号
            packageReqHandler.setParameter("spbill_create_ip", RequestTool.GetClientIP()); //Page.Request.UserHostAddress); //用户的公网ip,不是商户服务器IP
            packageReqHandler.setParameter("total_fee", order_price);                      //商品金额,以分为单位(money * 100).ToString()
            packageReqHandler.setParameter("trade_type", "MWEB");
            //packageReqHandler.setParameter("notify_url", HttpUtility.UrlEncode(tu.tenpay_notify));
            packageReqHandler.setParameter("notify_url", tu.tenpay_notify);
            //Response.Write("body:" + order.Code + ",appid:" + tu.appid + ",mch_id:" + tu.mch_id + ",nonce_str:" + nonceStr + ",notify_url:" + HttpUtility.UrlEncode(tu.tenpay_notify) + ",openid:" + user.bind_weixin_id + ",out_trade_no:" + sp_billno + ",spbill_create_ip:" + RequestTool.GetClientIP() + ",total_fee:" + order_price + ",key:" + tu.key + "");
            string sign = packageReqHandler.createMd5Sign("key", tu.key);

            packageReqHandler.setParameter("sign", sign);
            string data      = packageReqHandler.parseXML();
            string prepayXml = HttpUtil.Send(data, "https://api.mch.weixin.qq.com/pay/unifiedorder");

            SystemLog.Add("prepayXml:" + prepayXml);
            Response.Write("prepayXml:" + prepayXml);

            //return;
            //获取预支付ID
            var xdoc = new XmlDocument();

            xdoc.LoadXml(prepayXml);
            XmlNode     xn  = xdoc.SelectSingleNode("xml");
            XmlNodeList xnl = xn.ChildNodes;

            //Response.Write("<br/>xml:" + xnl[0].InnerText + "|" + xnl[1].InnerText + "|" + xnl[2].InnerText + "|" + xnl[3].InnerText + "|" + xnl[4].InnerText + "|" + xnl[5].InnerText + "|" + xnl[6].InnerText + "|" + xnl[7].InnerText + "|" + xnl[8].InnerText + "");
            if (xnl.Count > 7)
            {
                prepayId = xnl[7].InnerText;
                order.weixin_prepay_id = prepayId;
                B_Lebi_Order.Update(order);
            }
            if (xnl.Count > 9)
            {
                string url = xnl[9].InnerText;
                Response.Redirect(url);
            }
            //}
        }
示例#19
0
        protected void Page_Load(object sender, EventArgs e)
        {


            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            int order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order = B_Lebi_Order.GetModel(order_id);
            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);
            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "authroize");
            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay = pay.Name;
            }
            B_Lebi_Order.Update(order);
            ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()
            {
                name = pay.UserName,
                ItemElementName = ItemChoiceType.transactionKey,
                Item = pay.Email,
            };

            ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = AuthorizeNet.Environment.PRODUCTION;

            //create a transaction
            var opaqueDataType = new opaqueDataType
            {
                dataDescriptor = "COMMON.VCO.ONLINE.PAYMENT",
                dataKey = RequestTool.RequestString("datakey"),
                dataValue = RequestTool.RequestString("datavalue"),

            };

            var decryptPaymentDataRequest = new decryptPaymentDataRequest()
            {
                opaqueData = opaqueDataType,
                callId = RequestTool.RequestString("callid")
            };


            SystemLog.Add("orderid:" + order.id + "datakey:" + RequestTool.RequestString("datakey"));
            SystemLog.Add("orderid:" + order.id + "datavalue:" + RequestTool.RequestString("datavalue"));
            SystemLog.Add("orderid:" + order.id + "callid:" + RequestTool.RequestString("callid"));
            //create controller, execute and get response
            var decryptPaymentDataController = new decryptPaymentDataController(decryptPaymentDataRequest);
            decryptPaymentDataController.Execute();
            var decryptPaymentDataResponse = decryptPaymentDataController.GetApiResponse();

            if (decryptPaymentDataResponse != null)
            {
                //validate response
                //Console.WriteLine("Result : " + decryptPaymentDataResponse.messages.message);
                //Console.WriteLine("       : " + decryptPaymentDataResponse.messages.resultCode);
                //Console.WriteLine("First Name : " + decryptPaymentDataResponse.billingInfo.firstName);
                //Console.WriteLine("Last name  : " + decryptPaymentDataResponse.billingInfo.lastName);
                //Console.WriteLine("Card Number : " + decryptPaymentDataResponse.cardInfo.cardNumber);
                //Console.WriteLine("Amount : " + decryptPaymentDataResponse.paymentDetails.amount);
                if (decryptPaymentDataResponse.messages.resultCode == messageTypeEnum.Ok)
                {
                    Shop.Bussiness.Order.OnlinePaySuccess("authroize", order.Code, "", false);
                    Response.Write("{\"status\":\"ok\",\"msg\":\"" + decryptPaymentDataResponse.messages.message + "\"}");
                }
                else
                {
                    Response.Write("{\"status\":\"error\",\"msg\":\"error1-" + decryptPaymentDataResponse.messages.message + "\"}");
                }

            }
            else
            {
                Response.Write("{\"status\":\"error\",\"msg\":\"error\"}");
            }




        }
示例#20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int        order_id    = RequestTool.RequestInt("order_id", 0);
            int        language_id = RequestTool.RequestInt("language_id", 0);
            Lebi_Order order       = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "alipayDBJY");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();

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

            //支付类型
            string payment_type = "1";
            //必填,不能修改
            //服务器异步通知页面路径
            string notify_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/alipayDBJY/notify_url.aspx";
            //需http://格式的完整路径,不能加?id=123这类自定义参数

            //页面跳转同步通知页面路径
            string return_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/alipayDBJY/return_url.aspx";
            //需http://格式的完整路径,不能加?id=123这类自定义参数,不能写成http://localhost/

            //卖家支付宝帐户
            string seller_email = pay.Email;
            //必填

            //商户订单号
            string out_trade_no = order.Code;
            //商户网站订单系统中唯一订单号,必填

            //订单名称
            string subject = order.Code;
            //必填

            //付款金额
            string price = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");
            //必填

            //商品数量
            string quantity = "1";
            //必填,建议默认为1,不改变值,把一次交易看成是一次下订单而非购买一件商品
            //物流费用
            string logistics_fee = (order.Money_Transport * currendy.ExchangeRate).ToString("f" + currendy.DecimalLength + "");
            //必填,即运费
            //物流类型
            string logistics_type = "EXPRESS";
            //必填,三个值可选:EXPRESS(快递)、POST(平邮)、EMS(EMS)
            //物流支付方式
            string logistics_payment = "SELLER_PAY";
            //必填,两个值可选:SELLER_PAY(卖家承担运费)、BUYER_PAY(买家承担运费)
            //订单描述

            string body = "";
            //商品展示地址
            string show_url = "";
            //需以http://开头的完整路径,如:http://www.xxx.com/myorder.html

            //收货人姓名
            string receive_name = "";
            //如:张三

            //收货人地址
            string receive_address = "";
            //如:XX省XXX市XXX区XXX路XXX小区XXX栋XXX单元XXX号

            //收货人邮编
            string receive_zip = "";
            //如:123456

            //收货人电话号码
            string receive_phone = "";
            //如:0571-88158090

            //收货人手机号码
            string receive_mobile = "";
            //如:13312341234

            Config config = new Config(order);
            ////////////////////////////////////////////////////////////////////////////////////////////////

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

            sParaTemp.Add("partner", config.Partner);
            sParaTemp.Add("_input_charset", config.Input_charset.ToLower());
            sParaTemp.Add("service", "create_partner_trade_by_buyer");
            sParaTemp.Add("payment_type", payment_type);
            sParaTemp.Add("notify_url", notify_url);
            sParaTemp.Add("return_url", return_url);
            sParaTemp.Add("seller_email", seller_email);
            sParaTemp.Add("out_trade_no", out_trade_no);
            sParaTemp.Add("subject", subject);
            sParaTemp.Add("price", price);
            sParaTemp.Add("quantity", quantity);
            sParaTemp.Add("logistics_fee", logistics_fee);
            sParaTemp.Add("logistics_type", logistics_type);
            sParaTemp.Add("logistics_payment", logistics_payment);
            sParaTemp.Add("body", body);
            sParaTemp.Add("show_url", show_url);
            sParaTemp.Add("receive_name", receive_name);
            sParaTemp.Add("receive_address", receive_address);
            sParaTemp.Add("receive_zip", receive_zip);
            sParaTemp.Add("receive_phone", receive_phone);
            sParaTemp.Add("receive_mobile", receive_mobile);

            //建立请求
            Submit submit    = new Submit(order);
            string sHtmlText = submit.BuildRequest(sParaTemp, "get", "确认");

            Response.Write(sHtmlText);
        }
示例#21
0
        /**
         * @Description: 快钱人民币支付网关接口范例
         * @Copyright (c) 上海快钱信息服务有限公司
         * @version 2.0
         */
        protected void Page_Load(Object sender, EventArgs E)
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language order_language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", order_language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "kuaiqian");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            //人民币网关账户号
            ///请登录快钱系统获取用户编号,用户编号后加01即为人民币网关账户号。
            merchantAcctId.Value = pay.UserName;

            //人民币网关密钥
            ///区分大小写.请与快钱联系索取
            String key = pay.UserKey;

            //字符集.固定选择值。可为空。
            ///只能选择1、2、3.
            ///1代表UTF-8; 2代表GBK; 3代表gb2312
            ///默认值为1
            inputCharset.Value = "1";

            //接受支付结果的页面地址.与[bgUrl]不能同时为空。必须是绝对地址。
            ///如果[bgUrl]为空,快钱将支付结果Post到[pageUrl]对应的地址。
            ///如果[bgUrl]不为空,并且[bgUrl]页面指定的<redirecturl>地址不为空,则转向到<redirecturl>对应的地址
            pageUrl.Value = "";

            //服务器接受支付结果的后台地址.与[pageUrl]不能同时为空。必须是绝对地址。
            ///快钱通过服务器连接的方式将交易结果发送到[bgUrl]对应的页面地址,在商户处理完成后输出的<result>如果为1,页面会转向到<redirecturl>对应的地址。
            ///如果快钱未接收到<redirecturl>对应的地址,快钱将把支付结果post到[pageUrl]对应的页面。
            //bgUrl.Value = "http://www.yoursite.com/receive.aspx";
            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            bgUrl.Value = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/kuaiqian/receive.aspx";
            //网关版本.固定值
            ///快钱会根据版本号来调用对应的接口处理程序。
            ///本代码版本号固定为v2.0
            version.Value = "v2.0";

            //语言种类.固定选择值。
            ///只能选择1、2、3
            ///1代表中文;2代表英文
            ///默认值为1
            language.Value = "1";

            //签名类型.固定值
            ///1代表MD5签名
            ///当前版本固定为1
            signType.Value = "1";

            //支付人姓名
            ///可为中文或英文字符
            payerName.Value = order.User_UserName;

            //支付人联系方式类型.固定选择值
            ///只能选择1
            ///1代表Email
            payerContactType.Value = "1";

            //支付人联系方式
            ///只能选择Email或手机号
            payerContact.Value = order.T_Email;

            //商户订单号
            ///由字母、数字、或[-][_]组成
            orderId.Value = order.Code;

            //订单金额
            ///以分为单位,必须是整型数字
            ///比方2,代表0.02元
            orderAmount.Value = Convert.ToInt32(order.Money_Pay * currendy.ExchangeRate * 100 * (1 + (pay.FeeRate / 100))).ToString();

            //订单提交时间
            ///14位数字。年[4位]月[2位]日[2位]时[2位]分[2位]秒[2位]
            ///如;20080101010101
            orderTime.Value = DateTime.Now.ToString("yyyyMMddHHmmss");

            //商品名称
            ///可为中文或英文字符
            productName.Value = order.Code;

            //商品数量
            ///可为空,非空时必须为数字
            productNum.Value = "1";

            //商品代码
            ///可为字符或者数字
            productId.Value = "";

            //商品描述
            productDesc.Value = "";

            //扩展字段1
            ///在支付结束后原样返回给商户
            ext1.Value = "";

            //扩展字段2
            ///在支付结束后原样返回给商户
            ext2.Value = "";

            //支付方式.固定选择值
            ///只能选择00、10、11、12、13、14
            ///00:组合支付(网关支付页面显示快钱支持的各种支付方式,推荐使用)10:银行卡支付(网关支付页面只显示银行卡支付).11:电话银行支付(网关支付页面只显示电话支付).12:快钱账户支付(网关支付页面只显示快钱账户支付).13:线下支付(网关支付页面只显示线下支付方式).14:B2B支付(网关支付页面只显示B2B支付,但需要向快钱申请开通才能使用)
            payType.Value = "00";

            //银行代码
            ///实现直接跳转到银行页面去支付,只在payType=10时才需设置参数
            ///具体代码参见 接口文档银行代码列表
            bankId.Value = "";

            //同一订单禁止重复提交标志
            ///固定选择值: 1、0
            ///1代表同一订单号只允许提交1次;0表示同一订单号在没有支付成功的前提下可重复提交多次。默认为0建议实物购物车结算类商户采用0;虚拟产品类商户采用1
            redoFlag.Value = "0";

            //快钱的合作伙伴的账户号
            ///如未和快钱签订代理合作协议,不需要填写本参数
            pid.Value = "";


            //生成加密签名串
            ///请务必按照如下顺序和规则组成加密串!
            String signMsgVal = "";

            signMsgVal = appendParam(signMsgVal, "inputCharset", inputCharset.Value);
            signMsgVal = appendParam(signMsgVal, "pageUrl", pageUrl.Value);
            signMsgVal = appendParam(signMsgVal, "bgUrl", bgUrl.Value);
            signMsgVal = appendParam(signMsgVal, "version", version.Value);
            signMsgVal = appendParam(signMsgVal, "language", language.Value);
            signMsgVal = appendParam(signMsgVal, "signType", signType.Value);
            signMsgVal = appendParam(signMsgVal, "merchantAcctId", merchantAcctId.Value);
            signMsgVal = appendParam(signMsgVal, "payerName", payerName.Value);
            signMsgVal = appendParam(signMsgVal, "payerContactType", payerContactType.Value);
            signMsgVal = appendParam(signMsgVal, "payerContact", payerContact.Value);
            signMsgVal = appendParam(signMsgVal, "orderId", orderId.Value);
            signMsgVal = appendParam(signMsgVal, "orderAmount", orderAmount.Value);
            signMsgVal = appendParam(signMsgVal, "orderTime", orderTime.Value);
            signMsgVal = appendParam(signMsgVal, "productName", productName.Value);
            signMsgVal = appendParam(signMsgVal, "productNum", productNum.Value);
            signMsgVal = appendParam(signMsgVal, "productId", productId.Value);
            signMsgVal = appendParam(signMsgVal, "productDesc", productDesc.Value);
            signMsgVal = appendParam(signMsgVal, "ext1", ext1.Value);
            signMsgVal = appendParam(signMsgVal, "ext2", ext2.Value);
            signMsgVal = appendParam(signMsgVal, "payType", payType.Value);
            signMsgVal = appendParam(signMsgVal, "bankId", bankId.Value);
            signMsgVal = appendParam(signMsgVal, "redoFlag", redoFlag.Value);
            signMsgVal = appendParam(signMsgVal, "pid", pid.Value);
            signMsgVal = appendParam(signMsgVal, "key", key);

            //如果在web.config文件中设置了编码方式,例如<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>(如未设则默认为utf-8),
            //那么,inputCharset的取值应与已设置的编码方式相一致;
            //同时,GetMD5()方法中所传递的编码方式也必须与此保持一致。
            signMsg.Value = GetMD5(signMsgVal, "utf-8").ToUpper();


            //?
            //Lab_orderId.Text = orderId.Value;
            //Lab_orderAmount.Text = orderAmount.Value;
            //Lab_payerName.Text = payerName.Value;
            //Lab_productName.Text = productName.Value;
        }
示例#22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            pay = Shop.Bussiness.Money.GetOnlinePay(order, "huifubao");
            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            business  = pay.UserName;
            OrderCode = order.Code;
            Pid       = order.Code;
            Money     = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ReturnUrl = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/paypal/ReturnUrl.aspx";



            #region 获取参数值
            version    = 1;                                            //当前接口版本号 1
            user_ip    = GetIP();                                      //用户所在客户端的真实ip。如 127.127.12.12
            goods_name = order.Code;                                   //商品名称, 长度最长50字符

            agent_bill_id = order.Code;                                //商户系统内部的定单号(要保证唯一)。长度最长50字符
            goods_note    = order.Code;                                //支付说明, 长度50字符
            remark        = order.Code;                                //商户自定义 原样返回,长度最长50字符
            is_test       = 0;                                         //是否测试 1 为测试
            pay_type      = 20;                                        //支付类型见7.1表

            pay_code = "";                                             //银行

            pay_amt         = Money;                                   //订单总金额 不可为空,单位:元,小数点后保留两位。12.37
            goods_num       = "1";                                     //产品数量,长度最长20字符
            agent_bill_time = DateTime.Now.ToString("yyyyMMddHHmmss"); //提交单据的时间yyyyMMddHHmmss 20100225102000
                                                                       //agent_id = "商户ID";                                                      //商户编号
            agent_id = pay.UserName;
            //key = "商户key";                                                          //商户密钥
            key = pay.UserKey;

            /*
             * //如果需要测试,请把取消关于is_test的注释  订单会显示详细信息
             *
             * is_test = "1";
             */

            notify_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/huifubao/Return.aspx";
            return_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/huifubao/Notify.aspx";

            sign = GetSign();

            #endregion
        }
示例#23
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "95epay");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();

            MerNo     = pay.UserName;
            BillNo    = order.Code;
            Amount    = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");
            ReturnURL = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/95epay/PayResult.aspx";
            NotifyURL = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/95epay/PayNotify.aspx";

            string MD5key = pay.UserKey;//Md5加密私钥[注册时产生]
            string md5md5 = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(MD5key, "MD5").ToUpper();
            string md5src = "Amount=" + Amount + "&BillNo=" + BillNo + "&MerNo=" + MerNo + "&ReturnURL=" + ReturnURL + "&" + md5md5;

            MD5info = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(md5src, "MD5").ToUpper();

            PaymentType = "ICBC";
            PayType     = "CSPAY";//KJPAY手机端
            try
            {
                //Lebi_Site currentsite = Session["CurrentSite"] as Lebi_Site;
                if (CurrentSite != null)
                {
                    if (CurrentSite.IsMobile == 1)
                    {
                        PayType = "KJPAY";//KJPAY手机端
                    }
                }
            }
            catch
            {
                PayType = "CSPAY";
            }
            MerRemark = HttpContext.Current.Request.Url.Host;
            products  = order.Code;
        }
示例#24
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="code">页面标记的代码</param>
        /// <param name="ParaStr">参数字符串</param>
        /// <param name="url">跳转地址</param>
        /// <param name="theme">主题</param>
        /// <returns></returns>
        public static string GetURL(string code, string ParaStr, string url, Lebi_Site site, Lebi_Language lang)
        {
            code = code.Trim();
            if (url != "" && url != null)
            {
                if (url.ToLower().IndexOf("http") == 0)
                {
                    return(url);
                }
                if (url.Contains(":"))
                {
                    string[] arr = url.Split(':');
                    return(GetURL(arr[0], arr[1], "", site, lang));
                }
                return(url);
            }
            List <Lebi_Theme_Page> nodes = ShopCache.GetThemePage();
            Lebi_Theme_Page        node  = (from m in nodes
                                            where m.Code == code
                                            select m).ToList().FirstOrDefault();


            // Lebi_Theme_Page node = B_Lebi_Theme_Page.GetModel("Code='" + code + "'");
            if (node == null)
            {
                return("");
            }

            //Lebi_Theme_Skin skin = B_Lebi_Theme_Skin.GetList("Theme_id=" + theme.id + " and Code='" + code + "'", "").FirstOrDefault();
            //if (skin == null)
            //    return "";
            string res      = "";
            string PageName = "";

            switch (node.Type_id_PublishType)
            {
            case 120:
                res = "";
                break;

            case 121:    //动态地址
                //if (skin.PageName == "")
                PageName = node.PageName;
                //else
                //    PageName = skin.PageName;
                if (node.PageParameter == "")
                {
                    res = "/" + PageName;
                }
                else
                {
                    res = "/" + PageName + "?" + node.PageParameter;
                    res = ConvertURL(ParaStr, res, 121, PageName, node.PageParameter);
                }

                break;

            case 122:    //静态地址
                if (node.StaticPageName != "")
                {
                    res = "/" + node.StaticPath + "/" + node.StaticPageName;
                    res = ConvertURL(ParaStr, res, 122, "", "");
                }
                else
                {
                    //没有设置静态参数时按照动态地址发布
                    PageName = node.PageName;
                    if (node.PageParameter == "")
                    {
                        res = "/" + PageName;
                    }
                    else
                    {
                        res = "/" + PageName + "?" + node.PageParameter;
                        res = ConvertURL(ParaStr, res, 121, PageName, node.PageParameter);
                    }
                }
                break;

            case 123:    //伪静态地址
                if (node.StaticPageName != "")
                {
                    res = "/" + node.StaticPath + "/" + node.StaticPageName;
                    res = ConvertURL(ParaStr, res, 123, "", "");
                }
                else
                {
                    //没有设置伪静态参数时按照动态地址发布
                    PageName = node.PageName;
                    if (node.PageParameter == "")
                    {
                        res = "/" + PageName;
                    }
                    else
                    {
                        res = "/" + PageName + "?" + node.PageParameter;
                        res = ConvertURL(ParaStr, res, 121, PageName, node.PageParameter);
                    }
                }
                break;
            }
            //if (ShopCache.GetMainSite().id != site.id && site.Path != "")
            //    res = Site.Instance.WebPath + "/" + site.Path + "/" + lang.Path + "/" + res;
            //else
            res = Site.Instance.WebPath + "/" + lang.Path + "/" + res;
            //else
            //{
            //    lang.Path = lang.Path.Replace(site.Path, "");
            //    res = Site.Instance.WebPath + "/" + lang.Path + "/" + res;
            //}
            Regex r = new Regex(@"//*/", RegexOptions.Singleline);//目的:防止类似“///”“////”“//////”的情况

            res = r.Replace(res, "/");
            //string urlpara = RequestTool.GetConfigKey("URLPara");
            //if (urlpara != "")
            //{
            //    NameValueCollection nv = LB.Tools.CookieTool.GetCookie(urlpara);
            //    if (nv.Count > 0)
            //    {
            //        string str = "";
            //        foreach (string key in nv.Keys)
            //        {
            //            str += "&" + key + "=" + nv.Get(key);
            //        }
            //        if (res.Contains("?"))
            //            res = res + str;
            //        else
            //            res = res + "?" + str.TrimStart('&');
            //    }
            //}
            return(res);
        }
示例#25
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "wangyinzaixian");

            if (pay == null)
            {
                Response.Write(Language.Tag("系统错误", language.Code));
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.IsPaid == 0 && order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            //ReturnUrl = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/wangyinzaixian/Receive.aspx";
            v_mid = pay.UserName;                                                                                         // 商户号,这里为测试商户号20000400,替换为自己的商户号即可
            v_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/wangyinzaixian/Receive.aspx"; // 商户自定义返回接收支付结果的页面
            // MD5密钥要跟订单提交页相同,如Send.asp里的 key = "test" ,修改""号内 test 为您的密钥
            string key = pay.UserKey;                                                                                     // 如果您还没有设置MD5密钥请登陆我们为您提供商户后台,地址:https://merchant3.chinabank.com.cn/

            // 登陆后在上面的导航栏里可能找到“资料管理”,在资料管理的二级导航栏里有“MD5密钥设置”
            // 建议您设置一个16位以上的密钥或更高,密钥最多64位,但设置16位已经足够了
            v_oid = order.Code;

            if (v_oid == null || v_oid.Equals(""))
            {
                DateTime dt      = DateTime.Now;
                string   v_ymd   = dt.ToString("yyyyMMdd"); // yyyyMMdd
                string   timeStr = dt.ToString("HHmmss");   // HHmmss
                v_oid = v_ymd + v_mid + timeStr;
            }
            v_amount    = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");
            v_moneytype = "CNY";
            string text = v_amount + v_moneytype + v_oid + v_mid + v_url + key; // 拼凑加密串

            v_md5info = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(text, "md5").ToUpper();
            //收货信息
            v_rcvname = order.User_UserName;
            v_rcvaddr = order.T_Address;
            //v_rcvtel = Request["v_rcvtel"];
            //v_rcvpost = Request["v_rcvpost"];
            //v_rcvemail = Request["v_rcvemail"];
            //v_rcvmobile = Request["v_rcvmobile"];
            //订货人信息
            //v_ordername = Request["v_ordername"];
            //v_orderaddr = Request["v_orderaddr"];
            //v_ordertel = Request["v_ordertel"];
            //v_orderpost = Request["v_orderpost"];
            //v_orderemail = Request["v_orderemail"];
            //v_ordermobile = Request["v_ordermobile"];
            //remark1 = Request["remark1"];
            //remark2 = Request["remark2"];
        }
示例#26
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int        order_id = RequestTool.RequestInt("order_id", 0);
        Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

        if (order == null)
        {
            Response.Write("ERROR");
            Response.End();
            return;
        }
        Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

        if (order.IsPaid == 1)
        {
            Response.Write(Language.Tag("已付款", language.Code));
            Response.End();
            return;
        }
        order.Site_id_pay = CurrentSite.id;
        order.Language_id = CurrentLanguage.id;
        Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "tenpayJSDZ");

        if (pay == null)
        {
            Response.Write("系统错误");
            Response.End();
            return;
        }
        if (pay.FreeFeeRate == 1)
        {
            pay.FeeRate = 0;
        }
        if (pay.FeeRate > 0)
        {
            order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
        }
        if (order.OnlinePay_id != pay.id)
        {
            order.OnlinePay_id   = pay.id;
            order.OnlinePay_Code = pay.Code;
            order.OnlinePay      = pay.Name;
        }
        B_Lebi_Order.Update(order);
        Lebi_Currency currendy      = B_Lebi_Currency.GetModel(pay.Currency_id);
        string        sp_billno     = order.Code;
        string        product_name  = order.Code;
        string        order_price   = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");
        string        remarkexplain = "";
        double        money         = 0;

        try
        {
            money = Convert.ToDouble(order_price);
        }
        catch
        {
            //Response.Write("支付金额格式错误!");
            //Response.End();
            //return;
        }
        //if (null == sp_billno)
        //{
        //    //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一
        //    sp_billno = DateTime.Now.ToString("HHmmss") + TenpayUtil.BuildRandomStr(4);
        //}
        //else
        //{
        //    sp_billno = Request["order_no"].ToString();
        //}

        //创建RequestHandler实例
        RequestHandler reqHandler = new RequestHandler(Context);

        //初始化
        reqHandler.init();
        TenpayUtil tu = new TenpayUtil(order);

        //设置密钥
        reqHandler.setKey(tu.tenpay_key);
        reqHandler.setGateUrl("https://gw.tenpay.com/gateway/pay.htm");



        //-----------------------------
        //设置支付参数
        //-----------------------------

        reqHandler.setParameter("partner", tu.bargainor_id);                       //商户号
        reqHandler.setParameter("out_trade_no", sp_billno);                        //商家订单号
        reqHandler.setParameter("total_fee", (money * 100).ToString());            //商品金额,以分为单位
        reqHandler.setParameter("return_url", tu.tenpay_return);                   //交易完成后跳转的URL
        reqHandler.setParameter("notify_url", tu.tenpay_notify);                   //接收财付通通知的URL
        reqHandler.setParameter("body", order.Code);                               //商品描述
        reqHandler.setParameter("bank_type", "DEFAULT");                           //银行类型(中介担保时此参数无效)
        reqHandler.setParameter("spbill_create_ip", Page.Request.UserHostAddress); //用户的公网ip,不是商户服务器IP
        reqHandler.setParameter("fee_type", "1");                                  //币种,1人民币
        reqHandler.setParameter("subject", product_name);                          //商品名称(中介交易时必填)


        //系统可选参数
        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("attach", "");                                          //附加数据,原样返回
        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();

        Response.Redirect(requestUrl);
        //Get的实现方式
        // string a_link = "<a target=\"_blank\" href=\"" + requestUrl + "\">" + "财付通支付" + "</a>";
        //Response.Write(a_link);


        //post实现方式

        /* Response.Write("<form method=\"post\" action=\""+ reqHandler.getGateUrl() + "\" >\n");
         * Hashtable ht = reqHandler.getAllParameters();
         * foreach(DictionaryEntry de in ht)
         * {
         *   Response.Write("<input type=\"hidden\" name=\"" + de.Key + "\" value=\"" + de.Value + "\" >\n");
         * }
         * Response.Write("<input type=\"submit\" value=\"财付通支付\" >\n</form>\n");*/


        //获取debug信息,建议把请求和debug信息写入日志,方便定位问题
        string debuginfo = reqHandler.getDebugInfo();

        Response.Write("<br/>requestUrl:" + requestUrl + "<br/>");
        Response.Write("<br/>debuginfo:" + debuginfo + "<br/>");
    }
示例#27
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!EX_Admin.Power("site_list", "站点列表"))
            {
                PageReturnMsg = PageNoPowerMsg();
            }

            id           = RequestTool.RequestInt("id", 0);
            tab          = RequestTool.RequestString("tab");
            string where = "";
            if (domain3admin && CurrentAdmin.Site_ids != "")
            {
                where += " and id in (" + CurrentAdmin.Site_ids + ")";
            }
            model = B_Lebi_Site.GetModel("id = " + id + "" + where);
            int sitenum = 0;//允许的站点数量

            //if (Shop.LebiAPI.Service.Instanse.Check("domain3"))
            //{
            //    sitenum = 30;
            //}
            //else if (Shop.LebiAPI.Service.Instanse.Check("domain20"))
            //{
            //    sitenum = 20;
            //}
            //else if (Shop.LebiAPI.Service.Instanse.Check("domain10"))
            //{
            //    sitenum = 10;
            //}
            //else if (Shop.LebiAPI.Service.Instanse.Check("domain2"))
            //{
            //    sitenum = 2;
            //}
            //else
            //{
            //    sitenum = 1;
            //}
            sitenum = Shop.Bussiness.Site.Instance.SiteCount;
            models  = B_Lebi_Site.GetList("1=1" + where, "Sort desc", sitenum, 1);
            if (models.Count == 0)
            {
                //没有数据时插入主站数据
                model             = new Lebi_Site();
                model.Copyright   = SYS.Copyright;
                model.Description = SYS.Description;
                model.Fax         = SYS.Fax;
                model.Keywords    = SYS.Keywords;
                model.Logoimg     = SYS.Logoimg;
                model.Name        = SYS.Name;
                model.Phone       = SYS.Phone;
                model.QQ          = SYS.QQ;
                model.ServiceP    = SYS.ServiceP;
                model.Title       = SYS.Title;
                B_Lebi_Site.Add(model);
                model.id = B_Lebi_Site.GetMaxId();
                models.Add(model);
                //mainsite = model;
            }
            else
            {
                if (model == null)
                {
                    model = new Lebi_Site();
                }
            }

            defalutlang = B_Lebi_Language.GetModel("Site_id=" + model.id + " order by id asc");
            if (defalutlang == null)
            {
                defalutlang = new Lebi_Language();
            }
            //foreach (DB.LebiShop.Lebi_Site s in models)
            //{
            //    sitenames += "<li ";
            //    if (model.id == s.id)
            //        sitenames += "class=\"selected\"";
            //    sitenames += "><a href=\"?id=" + s.id + "\"><span>";
            //    //if (mainsite.id == s.id)
            //    //    sitenames += s.SubName;
            //    Lebi_Language lang = B_Lebi_Language.GetModel("Site_id=" + s.id + " order by id asc");
            //    string sname = "";
            //    if (lang == null)
            //        sname = Tag("新站点");
            //    else
            //        sname = s.SubName;
            //    if (sname == "")
            //        sname = Tag("新站点");
            //    sitenames += sname + "</span></a></li>";
            //}
            //if (sitenum > 1 && models.Count < sitenum)
            //{
            //    sitenames += "<li><a href=\"javascript:void(0)\" onclick=\"AddSite()\"><span>" + Tag("添加站点");
            //    sitenames += "</span></a></li>";
            //}
            //开启一个线程同步语种标签
            Thread thread = new Thread(new ThreadStart(UPdateLanguage));

            thread.IsBackground = true;//这样能随主程序一起结束
            thread.Start();
        }
示例#28
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "alipayHaiWai");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ////////////////////////////////////////////请求参数////////////////////////////////////////////

            //Return URL
            string return_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/alipayHaiWai/return_url.aspx";
            //After the payment transaction is done
            //Notification URL
            string notify_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/alipayHaiWai/notify_url.aspx";
            //The URL for receiving notifications after the payment process.

            //Goods name
            string subject = order.Code;
            //required,The name of the goods.

            //Goods description
            string body = order.Code;
            //A detailed description of the goods.

            //Outside trade ID
            string out_trade_no = order.Code;
            //required,A numbered transaction ID (Unique inside the partner system)

            //Currency
            string currency = pay.Currency_Code;
            //required,The settlement currency merchant named in contract.

            //Payment sum
            string total_fee = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");
            //required,A floating number ranging 0.01~1000000.00


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

            sParaTemp.Add("partner", config.Partner);
            sParaTemp.Add("_input_charset", config.Input_charset.ToLower());
            sParaTemp.Add("service", "create_forex_trade");
            sParaTemp.Add("return_url", return_url);
            sParaTemp.Add("notify_url", notify_url);
            sParaTemp.Add("subject", subject);
            sParaTemp.Add("body", body);
            sParaTemp.Add("out_trade_no", out_trade_no);
            sParaTemp.Add("currency", currency);
            if (currency.ToLower() == "cny")
            {
                sParaTemp.Add("rmb_fee", total_fee);
            }
            else
            {
                sParaTemp.Add("total_fee", total_fee);
            }


            //建立请求
            Submit submit    = new Submit(order);
            string sHtmlText = submit.BuildRequest(sParaTemp, "get", "确认");

            Response.Write(sHtmlText);
        }
示例#29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Shop.Bussiness.Site site = new Shop.Bussiness.Site();
                int        order_id      = RequestTool.RequestInt("order_id", 0);
                Lebi_Order order         = B_Lebi_Order.GetModel(order_id);
                if (order == null)
                {
                    Response.Write("ERROR");
                    Response.End();
                    return;
                }
                Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);
                if (order.IsPaid == 1)
                {
                    Response.Write(Language.Tag("已付款", language.Code));
                    Response.End();
                    return;
                }
                order.Site_id_pay = CurrentSite.id;
                order.Language_id = CurrentLanguage.id;
                Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "yinlianqmf");
                if (pay == null)
                {
                    Response.Write(Language.Tag("系统错误", language.Code));
                    Response.End();
                    return;
                }
                if (pay.FeeRate > 0)
                {
                    order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
                }
                if (order.OnlinePay_id != pay.id)
                {
                    order.OnlinePay_id   = pay.id;
                    order.OnlinePay_Code = pay.Code;
                    order.OnlinePay      = pay.Name;
                }
                B_Lebi_Order.Update(order);
                config = new UmsPayConfig(pay);
                Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
                //string notify_url = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/pinpay/notify_url.aspx";


                Lebi_Site lebisite = B_Lebi_Site.GetModel(order.Site_id_pay);
                if (site == null)
                {
                    returnurl = Shop.Bussiness.Site.Instance.WebPath;
                }
                else
                {
                    Lebi_Language lang = B_Lebi_Language.GetModel(order.Language_id);
                    string        path = "";
                    if (lang != null)
                    {
                        path = lang.Path.TrimEnd('/');
                    }
                    if (lebisite.Domain == "")
                    {
                        returnurl = Shop.Bussiness.Site.Instance.WebPath.TrimEnd('/') + lebisite.Path.TrimEnd('/') + path;
                    }
                    else
                    {
                        returnurl = Shop.Bussiness.Site.Instance.WebPath.TrimEnd('/') + path;
                    }
                }


                returnurl = "http://" + RequestTool.GetRequestDomain() + returnurl.TrimEnd('/') + "/user/OrderDetails.aspx?id=" + order.id;
                decimal order_amount1 = order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100));
                msg = Payment(config, order, order_amount1);
            }
            finally
            {
            }
        }
示例#30
0
        protected void Page_Load(object sender, EventArgs e)
        {
            int        order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("ERROR");
                Response.End();
                return;
            }
            Lebi_Language language = B_Lebi_Language.GetModel(order.Language_id);

            if (order.IsPaid == 1)
            {
                Response.Write(Language.Tag("已付款", language.Code));
                Response.End();
                return;
            }
            order.Site_id_pay = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "alipayWAP");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FreeFeeRate == 1)
            {
                pay.FeeRate = 0;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            if (order.OnlinePay_id != pay.id)
            {
                order.OnlinePay_id   = pay.id;
                order.OnlinePay_Code = pay.Code;
                order.OnlinePay      = pay.Name;
            }
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            BaseConfig    SYS      = ShopCache.GetBaseConfig();

            Shop.Bussiness.Site site = new Shop.Bussiness.Site();

            //支付宝网关地址
            string GATEWAY_NEW = "http://wappaygw.alipay.com/service/rest.htm?";

            ////////////////////////////////////////////调用授权接口alipay.wap.trade.create.direct获取授权码token////////////////////////////////////////////

            //返回格式
            string format = "xml";
            //必填,不需要修改

            //返回格式
            string v = "2.0";
            //必填,不需要修改

            //请求号
            string req_id = DateTime.Now.ToString("yyyyMMddHHmmss");
            //必填,须保证每次请求都是唯一

            //req_data详细信息

            //服务器异步通知页面路径
            string notify_url = "http://" + RequestTool.GetRequestDomain() + "/onlinepay/alipayWAP/notify_url.aspx";
            //需http://格式的完整路径,不允许加?id=123这类自定义参数

            //页面跳转同步通知页面路径
            string call_back_url = "http://" + RequestTool.GetRequestDomain() + "/onlinepay/alipayWAP/call_back_url.aspx";
            //需http://格式的完整路径,不允许加?id=123这类自定义参数

            //操作中断返回地址
            string merchant_url = "javascript:history.back();";
            //用户付款中途退出返回商户的地址。需http://格式的完整路径,不允许加?id=123这类自定义参数

            //商户订单号
            string out_trade_no = order.Code;
            //商户网站订单系统中唯一订单号,必填

            //订单名称
            string subject = order.Code;
            //必填

            //付款金额
            string total_fee = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("f" + currendy.DecimalLength + "");
            //必填
            Config config = new Config(order);
            //请求业务参数详细
            string req_dataToken = "<direct_trade_create_req><notify_url>" + notify_url + "</notify_url><call_back_url>" + call_back_url + "</call_back_url><seller_account_name>" + config.Seller_email + "</seller_account_name><out_trade_no>" + out_trade_no + "</out_trade_no><subject>" + subject + "</subject><total_fee>" + total_fee + "</total_fee><merchant_url>" + merchant_url + "</merchant_url></direct_trade_create_req>";
            //必填

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

            sParaTempToken.Add("partner", config.Partner);
            sParaTempToken.Add("_input_charset", config.Input_charset.ToLower());
            sParaTempToken.Add("sec_id", config.Sign_type.ToUpper());
            sParaTempToken.Add("service", "alipay.wap.trade.create.direct");
            sParaTempToken.Add("format", format);
            sParaTempToken.Add("v", v);
            sParaTempToken.Add("req_id", req_id);
            sParaTempToken.Add("req_data", req_dataToken);
            Submit submit = new Submit(order);
            //建立请求
            string sHtmlTextToken = submit.BuildRequest(GATEWAY_NEW, sParaTempToken);
            //URLDECODE返回的信息
            Encoding code = Encoding.GetEncoding(config.Input_charset);

            sHtmlTextToken = HttpUtility.UrlDecode(sHtmlTextToken, code);

            //解析远程模拟提交后返回的信息
            Dictionary <string, string> dicHtmlTextToken = submit.ParseResponse(sHtmlTextToken);

            //获取token
            string request_token = "";

            try
            {
                request_token = dicHtmlTextToken["request_token"];
            }
            catch
            {
            }

            ////////////////////////////////////////////根据授权码token调用交易接口alipay.wap.auth.authAndExecute////////////////////////////////////////////


            //业务详细
            string req_data = "<auth_and_execute_req><request_token>" + request_token + "</request_token></auth_and_execute_req>";
            //必填

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

            sParaTemp.Add("partner", config.Partner);
            sParaTemp.Add("_input_charset", config.Input_charset.ToLower());
            sParaTemp.Add("sec_id", config.Sign_type.ToUpper());
            sParaTemp.Add("service", "alipay.wap.auth.authAndExecute");
            sParaTemp.Add("format", format);
            sParaTemp.Add("v", v);
            sParaTemp.Add("req_data", req_data);

            //建立请求

            string sHtmlText = submit.BuildRequest(GATEWAY_NEW, sParaTemp, "get", "确认");

            Response.Write(sHtmlText);
        }