Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Lebi_OnlinePay pay = B_Lebi_OnlinePay.GetModel("Code='weixinpay'");

            if (pay == null)
            {
                Log.Add("在线支付接口 weixinpay 配置错误");
                return;
            }
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            int           order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order    order    = B_Lebi_Order.GetModel(order_id);

            if (order == null)
            {
                Response.Write("订单错误");
                Response.End();
                return;
            }
            TenpayUtil tu        = new TenpayUtil();
            string     sp_billno = order.Code;
            //当前时间 yyyyMMdd
            string date = DateTime.Now.ToString("yyyyMMdd");

            //if (null == sp_billno)
            //{
            //    //生成订单10位序列号,此处用时间和随机数生成,商户根据自己调整,保证唯一
            //    sp_billno = DateTime.Now.ToString("HHmmss") + TenpayUtil.BuildRandomStr(4);
            //}
            //else
            //{
            //    sp_billno = Request["order_no"].ToString();
            //}

            sp_billno = TenpayUtil.partner + sp_billno;


            RequestHandler outParams = new RequestHandler(Context);

            outParams.init();
            string productid = sp_billno;
            string timeStamp = TenpayUtil.getTimestamp();
            string nonceStr  = TenpayUtil.getNoncestr();

            RequestHandler Params = new RequestHandler(Context);

            Params.setParameter("appid", TenpayUtil.appid);
            Params.setParameter("appkey", TenpayUtil.appkey);
            Params.setParameter("noncestr", nonceStr);
            Params.setParameter("timestamp", timeStamp);
            Params.setParameter("productid", productid);
            string sign = Params.createSHA1Sign();

            Params.setParameter("sign", sign);


            parm = "weixin://wxpay/bizpayurl?sign=" + sign + "&appid=" + TenpayUtil.appid + "&productid=" + productid + "&timeStamp=" + timeStamp + "&nonceStr=" + nonceStr;
            Response.Write(parm);
            parm = QRfromGoogle(parm);
        }
Exemplo n.º 2
0
        bool VerifyPDT(Lebi_OnlinePay pay)
        {
            string strFormValues;
            string strNewValues;
            string strResponse;
            string txToken   = Request.QueryString["tx"].ToString();
            string serverURL = "https://www.paypal.com/cgi-bin/webscr";
            string query     = "cmd=_notify-synch&tx=" + txToken + "&at=" + pay.UserKey;
            //请注意,请将PayPaypal.PDTToken设置为上文中你记录下来的身份标记
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(serverURL);

            req.Method      = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            byte[] param = HttpContext.Current.Request.BinaryRead(HttpContext.Current.Request.ContentLength);
            strFormValues = Encoding.ASCII.GetString(param);
            strNewValues  = strFormValues + query;
            //query附加上去一起发送给paypal
            req.ContentLength = strNewValues.Length;
            StreamWriter stout = new StreamWriter(req.GetRequestStream(), Encoding.ASCII);

            stout.Write(strNewValues);
            stout.Close();
            StreamReader sr = new StreamReader(req.GetResponse().GetResponseStream());

            strResponse = sr.ReadToEnd();
            sr.Close();
            SystemLog.Add("pdt验证结果" + strResponse);
            if (strResponse.IndexOf("SUCCESS") == 0)
            {
                return(true);
            }
            return(false);
            //string res = strResponse.Substring(0, strResponse.IndexOf("\n"));
            //return res == "SUCCESS";
        }
Exemplo n.º 3
0
        public WxPayConfig(Lebi_Order order)
        {
            string where = "";
            if (order != null)
            {
                where = "id = " + order.OnlinePay_id + "";
            }
            else
            {
                where = "Code='weixinpayh5'";
            }
            Lebi_OnlinePay onlinepay = B_Lebi_OnlinePay.GetModel(where);

            if (onlinepay == null)
            {
                Log.Add("在线支付接口 weixinpay 配置错误");
                return;
            }
            Shop.Bussiness.Site site    = new Shop.Bussiness.Site();
            B_BaseConfig        bconfig = new B_BaseConfig();
            BaseConfig          SYS     = bconfig.LoadConfig();

            MCHID = onlinepay.UserName;
            KEY   = onlinepay.UserKey;
            APPID = onlinepay.Appid;
            //SystemLog.Add("weixinpay-WxPayConfig" + "MCHID : " + MCHID + ",KEY : " + KEY + ",APPID : " + APPID);
            //APPSECRET = onlinepay.Appkey;
            //IP = HttpContext.Current.Request.ServerVariables.Get("Local_Addr");
            NOTIFY_URL = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/weixinpayh5/payNotifyUrl.aspx";
        }
Exemplo n.º 4
0
        static Config()
        {
            //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
            Lebi_OnlinePay pay = B_Lebi_OnlinePay.GetModel("Code='alipaybatch'");

            if (pay == null)
            {
                return;
            }
            //合作身份者ID,以2088开头由16位纯数字组成的字符串
            partner = pay.UserName;

            //交易安全检验码,由数字和字母组成的32位字符串
            key = pay.UserKey;

            //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑



            //字符编码格式 目前支持 gbk 或 utf-8
            input_charset = "utf-8";

            //签名方式,选择项:RSA、DSA、MD5
            sign_type = "MD5";
        }
Exemplo n.º 5
0
        public Config(Lebi_Order order)
        {
            //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "alipayJSDZ");

            if (pay == null)
            {
                return;
            }
            //合作身份者ID,以2088开头由16位纯数字组成的字符串
            partner = pay.UserName;

            //交易安全检验码,由数字和字母组成的32位字符串
            key = pay.UserKey;

            //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑



            //字符编码格式 目前支持 gbk 或 utf-8
            input_charset = "utf-8";

            //签名方式,选择项:RSA、DSA、MD5
            sign_type = "MD5";
        }
Exemplo n.º 6
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Lebi_OnlinePay pay = B_Lebi_OnlinePay.GetModel("Code='95epay'");

            if (pay == null)
            {
                Log.Add("在线支付接口 95epay 配置错误");
                Response.End();
                return;
            }
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);
            int           order_id = RequestTool.RequestInt("order_id", 0);
            Lebi_Order    order    = B_Lebi_Order.GetModel(order_id);

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

            sorder.ord_no   = order.Code;                              //订单编号
            sorder.ord_amt  = order.Money_Pay * currendy.ExchangeRate; //订单金额
            sorder.ord_date = DateTime.Now.ToString("yyyyMMdd");       //交易日期时间
            sorder.ver      = "01";
            sorder.mrch_no  = pay.UserName;
        }
Exemplo n.º 7
0
 protected void Page_Load(object sender, EventArgs e)
 {
     #region 获取参数值
     result        = Request["result"];
     pay_message   = Request["pay_message"];
     agent_id      = Request["agent_id"];
     jnet_bill_no  = Request["jnet_bill_no"];
     agent_bill_id = Request["agent_bill_id"];
     pay_type      = Request["pay_type"];
     pay_amt       = Request["pay_amt"];
     remark        = Request["remark"];
     returnSign    = Request["sign"];
     #endregion
     order = B_Lebi_Order.GetModel("Code=lbsql{'" + agent_bill_id + "'}");
     if (order == null)
     {
         Response.Write("系统错误");
         Response.End();
         return;
     }
     pay  = Shop.Bussiness.Money.GetOnlinePay(order, "huifubao");
     sign = GetSign();
     //比较MD5签名结果 是否相等
     if (sign.Equals(returnSign))
     {
         Order.OnlinePaySuccess(agent_bill_id);
         Response.Write("ok");
     }
     else
     {
         Response.Write("error");
     }
     Response.End();
 }
Exemplo n.º 8
0
        public int pages = 0;//1手机页面
        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("订单错误");
                Response.End();
                return;
            }
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "qianhai");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            if (pay.FeeRate > 0)
            {
                order.Money_OnlinepayFee = order.Money_Pay * pay.FeeRate / 100;
            }
            order.Site_id_pay = CurrentSite.id;
            B_Lebi_Order.Update(order);
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            business  = pay.UserName;
            OrderCode = order.Code;
            Pid       = order.Code;
            currency  = pay.Currency_Code;
            terminal  = pay.terminal;
            Money     = (order.Money_Pay * currendy.ExchangeRate * (1 + (pay.FeeRate / 100))).ToString("0.00");
            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            ReturnUrl = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/qianhai/ReturnUrl.aspx";

            billing_firstName = RequestTool.RequestSafeString("billing_firstName");
            billing_lastName  = RequestTool.RequestSafeString("billing_lastName");
            billing_email     = RequestTool.RequestSafeString("billing_email");
            billing_phone     = RequestTool.RequestSafeString("billing_phone");
            billing_country   = RequestTool.RequestSafeString("billing_country");
            billing_city      = RequestTool.RequestSafeString("billing_city");
            billing_address   = RequestTool.RequestSafeString("billing_address");
            billing_zip       = RequestTool.RequestSafeString("billing_zip");



            //account+terminal+backUrl+order_number+order_currency+order_amount+billing_firstName+billing_lastName+billing_email+secureCode
            scode = pay.UserName + pay.terminal + ReturnUrl + order.Code + currency + Money + billing_firstName + billing_lastName + billing_email + pay.UserKey;
            scode = GetSHA256(scode).ToUpper();

            if (CurrentSite != null)
            {
                if (CurrentSite.IsMobile == 1)
                {
                    pages = 1;//1手机端
                }
            }
        }
Exemplo n.º 9
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;
        }
Exemplo n.º 10
0
        /// <summary>
        /// 获得在线付款接口参数MODEL
        /// </summary>
        /// <param name="code"></param>
        /// <param name="order"></param>
        public static Lebi_OnlinePay GetOnlinePay(Lebi_Order order, string code)
        {
            if (order == null)
            {
                return(null);
            }
            string where = "Code='" + code + "'";
            if (string.IsNullOrEmpty(order.KeyCode))
            {
                if (order.IsSupplierCash == 0 && order.Language_id > 0)
                {
                    where += " and ','+Language_ids+',' like '%," + order.Language_id + ",%'";
                }
            }
            Lebi_OnlinePay pay = B_Lebi_OnlinePay.GetModel(where);
            string         log = "";

            if (pay == null)
            {
                pay = B_Lebi_OnlinePay.GetModel("Code='" + code + "'");
            }
            if (pay == null)
            {
                log = "在线支付接口 " + code + " 配置错误";
                Log.Add(log);
            }
            else
            {
                if (order.IsSupplierCash == 1)
                {
                    Lebi_Supplier supplier = B_Lebi_Supplier.GetModel(order.Supplier_id);
                    if (supplier == null)
                    {
                        supplier = new Lebi_Supplier();
                        log      = "在线支付接口 " + code + " 配置错误[供应商ID:" + order.Supplier_id + "]";
                        Log.Add(log);
                        return(pay);
                    }
                    Lebi_OnlinePay supplierpay = B_Lebi_OnlinePay.GetModel("Code='" + code + "' and Supplier_id=" + supplier.id + "");
                    if (supplierpay == null)
                    {
                        log = "在线支付接口 " + code + " 配置错误[供应商:" + supplier.SubName + ",ID:" + order.Supplier_id + "]";
                        Log.Add(log);
                        return(pay);
                    }
                    supplierpay.TypeName      = pay.TypeName;
                    supplierpay.Url           = pay.Url;
                    supplierpay.Code          = pay.Code;
                    supplierpay.Currency_Code = pay.Currency_Code;
                    supplierpay.Currency_id   = pay.Currency_id;
                    supplierpay.Currency_Name = pay.Currency_Name;
                    return(supplierpay);
                }
            }
            return(pay);
        }
Exemplo n.º 11
0
        public Lebi_OnlinePay Getpay(int id)
        {
            Lebi_OnlinePay model = B_Lebi_OnlinePay.GetModel("Supplier_id=" + CurrentSupplier.id + " and parentid=" + id);

            if (model == null)
            {
                model = new Lebi_OnlinePay();
            }
            return(model);
        }
Exemplo n.º 12
0
        public Lebi_OnlinePay GetPay(string code)
        {
            var m = onlinepays.Find(p => p.Code == code);

            if (m == null)
            {
                m = new Lebi_OnlinePay();
            }
            return(m);
        }
Exemplo n.º 13
0
        /// <summary>
        /// 获取一个支付方式的对于供应商设置或(默认设置)
        /// </summary>
        /// <param name="pay"></param>
        /// <returns></returns>
        public Lebi_OnlinePay Getpay(Lebi_OnlinePay pay)
        {
            if (order.IsSupplierCash == 0)
            {
                return(pay);
            }
            Lebi_OnlinePay p = B_Lebi_OnlinePay.GetModel("parentid=" + pay.id + " and Supplier_id=" + order.Supplier_id + " and IsUsed=1");

            return(p);
        }
Exemplo n.º 14
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);
        }
Exemplo n.º 15
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string ppTx          = RequestTool.RequestSafeString("txn_id");
                string ppStatus      = RequestTool.RequestSafeString("payment_status");
                string ppDate        = RequestTool.RequestSafeString("payment_date");
                string ppItem        = RequestTool.RequestSafeString("item_name");
                string ppPrice       = RequestTool.RequestSafeString("mc_gross");
                string ppitem_number = RequestTool.RequestSafeString("item_number");//存储站内订单号


                Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(ppitem_number, "paypal");
                if (pay == null)
                {
                    Response.Write("系统错误");
                    Response.End();
                    return;
                }
                Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

                string Content = "";
                Content += "txn_id:" + ppTx + "<br>";
                Content += "payment_status:" + ppStatus + "<br>";
                Content += "payment_date:" + ppDate + "<br>";
                Content += "item_name:" + ppItem + "<br>";
                Content += "mc_gross:" + ppPrice + "<br>";
                Content += "ppitem_number:" + ppitem_number + "<br>";
                string txToken = Request.QueryString["tx"]; //paypal流水号

                if (VerifyIPN())                            //验证成功
                {
                    Response.Write("OK");
                    Order.OnlinePaySuccess(ppitem_number);
                }
                else
                {
                    if (VerifyPDT(pay))
                    {
                        Response.Write("OK");
                        Order.OnlinePaySuccess(ppitem_number);
                    }
                    else
                    {
                        Response.Write("False");
                        //SystemLog.Add("paypal验证失败");
                    }
                }
            }
            catch (Exception ex)
            {
                //Response.Write("False");
                SystemLog.Add("paypal验证异常" + ex.Message);
            }
        }
Exemplo n.º 16
0
        /**
         * 生成直接支付url,支付url有效期为2小时,模式二
         * @param productId 商品ID
         * @return 模式二URL
         */
        public static string GetPayUrl(string productId)
        {
            //Log.Info(this.GetType().ToString(), "Native pay mode 2 url is producing...");
            Lebi_Order order = B_Lebi_Order.GetModel("id=" + productId);

            if (order == null)
            {
                return("");
            }
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "weixinpay");

            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;
            }
            string order_price = (order.Money_Pay * currendy.ExchangeRate * 100 * (1 + (pay.FeeRate / 100))).ToString("0");

            SystemLog.Add("weixinpay-GetPayUrl" + "productId : " + productId);
            WxPayData data = new WxPayData();

            data.SetValue("body", "订单号:" + order.Code);                                           //商品描述
            data.SetValue("attach", "");                                                          //附加数据
            data.SetValue("out_trade_no", order.Code);
            data.SetValue("total_fee", order_price);                                              //总金额
            data.SetValue("time_start", DateTime.Now.ToString("yyyyMMddHHmmss"));                 //交易起始时间
            data.SetValue("time_expire", DateTime.Now.AddMinutes(10).ToString("yyyyMMddHHmmss")); //交易结束时间
            data.SetValue("goods_tag", "订单号:" + order.Code);                                      //商品标记
            data.SetValue("trade_type", "NATIVE");                                                //交易类型
            data.SetValue("product_id", productId);                                               //商品ID
            try
            {
                WxPayData result = WxPayApi.UnifiedOrder(data);      //调用统一下单接口
                SystemLog.Add("weixinpay-GetPayUrl" + "result : " + result);
                string url = result.GetValue("code_url").ToString(); //获得统一下单接口返回的二维码链接
                //Log.Info(this.GetType().ToString(), "Get native pay mode 2 url : " + url);
                return(url);
            }
            catch (System.NullReferenceException ex)
            {
                SystemLog.Add("weixinpay-GetPayUrl" + "result : " + ex.ToString());
                return(ex.ToString());
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// 编辑在线支付
        /// </summary>
        public void OnlinePay_Edit()
        {
            int            id          = RequestTool.RequestInt("id", 0);
            Lebi_OnlinePay parentmodel = B_Lebi_OnlinePay.GetModel(id);

            if (parentmodel == null)
            {
                Response.Write("{\"msg\":\"" + Tag("参数错误") + "\"}");
                return;
            }
            Lebi_OnlinePay model = B_Lebi_OnlinePay.GetModel("parentid=" + parentmodel.id + " and Supplier_id=" + CurrentSupplier.id + "");

            if (model == null)
            {
                model = new Lebi_OnlinePay();
            }
            if (model.id == 0)
            {
                if (!Power("onlinepay_add", "添加在线支付"))
                {
                    AjaxNoPower();
                    return;
                }
            }
            else
            {
                if (!Power("onlinepay_edit", "编辑在线支付"))
                {
                    AjaxNoPower();
                    return;
                }
            }
            model.UserName    = RequestTool.RequestSafeString("UserName");
            model.UserKey     = RequestTool.RequestSafeString("UserKey");
            model.Email       = RequestTool.RequestSafeString("Email");
            model.Sort        = RequestTool.RequestInt("Sort", 0);
            model.IsUsed      = RequestTool.RequestInt("IsUsed", 0);
            model.Supplier_id = CurrentSupplier.id;
            model.parentid    = parentmodel.id;
            if (model.id == 0)
            {
                B_Lebi_OnlinePay.Add(model);
                model.id = B_Lebi_OnlinePay.GetMaxId();
            }
            else
            {
                B_Lebi_OnlinePay.Update(model);
            }
            Log.Add("编辑在线支付", "OnlinePay", model.id.ToString(), CurrentSupplier, id.ToString());
            Response.Write("{\"msg\":\"OK\",\"id\":\"" + model.id + "\"}");
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            int id = RequestTool.RequestInt("id", 0);

            parentmodel = B_Lebi_OnlinePay.GetModel(id);
            if (parentmodel == null)
            {
                PageError();
                return;
            }
            model = B_Lebi_OnlinePay.GetModel("parentid=" + parentmodel.id + " and Supplier_id=" + CurrentSupplier.id + "");
            if (model == null)
            {
                model = new Lebi_OnlinePay();
            }
            if (model.id == 0)
            {
                if (!Power("onlinepay_add", "添加在线支付"))
                {
                    WindowNoPower();
                }
            }
            else
            {
                if (!Power("onlinepay_edit", "编辑在线支付"))
                {
                    WindowNoPower();
                }
            }
            switch (model.Code)
            {
            case "molpay":
                username = "******";
                key      = "Verify Key";
                email    = Tag("邮箱");
                break;

            case "wangyinzaixian":
                username = "******";
                key      = "MD5密钥";
                email    = Tag("邮箱");
                break;

            default:
                username = Tag("帐号");
                key      = Tag("KEY");
                email    = Tag("邮箱");
                break;
            }
        }
Exemplo n.º 19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string RefId   = Request.Params["RefId"];
                string ResCode = Request.Params["ResCode"];
                SaleOrderId     = Convert.ToInt64(Request.Params["SaleOrderId"]);
                SaleReferenceId = Convert.ToInt64(Request.Params["SaleReferenceId"]);
                string     OrderID = Convert.ToString(SaleOrderId);
                Lebi_Order order   = B_Lebi_Order.GetModel("id=" + OrderID + "");
                if (order == null)
                {
                    Response.Write("416");
                    //Response.Write("系统错误");
                    Response.End();
                    return;
                }
                Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order.Code, "behpardakht");
                if (pay == null)
                {
                    Response.Write("系统错误");
                    Response.End();
                    return;
                }
                Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

                string Content = "";
                Content += "OrderCode:" + order.Code + "<br>";
                Content += "ResCode:" + ResCode + "<br>";
                Content += "SaleReferenceId:" + SaleReferenceId + "<br>";
                if (yanzheng(pay) == 0)//验证成功
                {
                    Response.Write("0");
                    Order.OnlinePaySuccess(order.Code);
                }
                else
                {
                    Response.Write("416");
                    //SystemLog.Add("paypal验证失败");
                }
            }
            catch (Exception ex)
            {
                //Response.Write("False");
                SystemLog.Add("behpardakht验证异常" + ex.Message);
            }
        }
Exemplo n.º 20
0
        protected string remark2;     //备注1


        protected void Page_Load(object sender, EventArgs e)
        {
            v_oid = Request["v_oid"];
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(v_oid, "wangyinzaixian");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }
            // MD5密钥要跟订单提交页相同,如Send.asp里的 key = "test" ,修改""号内 test 为您的密钥
            string key = pay.UserKey;   // 如果您还没有设置MD5密钥请登陆我们为您提供商户后台,地址:https://merchant3.chinabank.com.cn/

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

            v_oid       = Request["v_oid"];
            v_pstatus   = Request["v_pstatus"];
            v_pstring   = Request["v_pstring"];
            v_pmode     = Request["v_pmode"];
            v_md5str    = Request["v_md5str"];
            v_amount    = Request["v_amount"];
            v_moneytype = Request["v_moneytype"];
            remark1     = Request["remark1"];
            remark2     = Request["remark2"];

            string str = v_oid + v_pstatus + v_amount + v_moneytype + key;

            str = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str, "md5").ToUpper();

            if (str == v_md5str)
            {
                Response.Write("ok"); //通知网银服务器验证通过,停止发送

                if (v_pstatus.Equals("20"))
                {
                    //支付成功
                    //商户系统的逻辑处理(例如判断金额,判断支付状态,更新订单状态等等).......
                    Order.OnlinePaySuccess("wangyinzaixian", v_oid, "", false);
                }
            }
            else
            {
                Response.Write("error");  //验证失败,请求重发
            }
        }
Exemplo n.º 21
0
        private int yanzheng(Lebi_OnlinePay pay)
        {
            //try
            //{
            //    string result;
            //    BPService.
            //    BPService.PaymentGatewayImplService bpService = new BPService.PaymentGatewayImplService();
            //    result = bpService.bpVerifyRequest(Int16.Parse(TerminalIdTextBox.Text),
            //        UserNameTextBox.Text,
            //        UserPasswordTextBox.Text,
            //        Int64.Parse(VerifyOrderIdTextBox.Text),
            //        Int64.Parse(VerifySaleOrderIdTextBox.Text),
            //        Int64.Parse(VerifySaleReferenceIdTextBox.Text));
            //    VerifyOutputLabel.Text = result;
            //}
            //catch (Exception exp)
            //{
            //    VerifyOutputLabel.Text = "Error: " + exp.Message;
            //}
            //< xs:element name = "terminalId" type = "xs:long" />
            //< xs:element minOccurs = "0" name = "userName" type = "xs:string" />
            //< xs:element minOccurs = "0" name = "userPassword" type = "xs:string" />
            //< xs:element name = "orderId" type = "xs:long" />
            //< xs:element name = "refundOrderId" type = "xs:long" />
            //< xs:element name = "refundReferenceId" type = "xs:long" />
            object[] args = new object[6];
            args[0] = Int64.Parse(pay.terminal);
            args[1] = pay.UserName;
            args[2] = pay.UserKey;
            args[3] = SaleOrderId;
            args[4] = SaleOrderId;
            args[5] = SaleReferenceId;
            string web = "https://bpm.shaparak.ir/pgwchannel/services/pgw";
            object obj = WebServiceTool.InvokeWebService(web, "PaymentGatewayImplService", "bpVerifyRequest", args, "https://bpm.shaparak.ir/pgwchannel/services/pgw?wsdl=IPaymentGateway.wsdl");

            try
            {
                return(Convert.ToInt32(obj));
            }
            catch
            {
                return(1);
            }
            // return 0;
        }
Exemplo n.º 22
0
        public string tenpay_notify = ""; //支付完成后的回调处理页面,*替换成notify_url.asp所在路径

        public TenpayUtil(Lebi_Order order)
        {
            Lebi_OnlinePay onlinepay = B_Lebi_OnlinePay.GetModel("id = " + order.OnlinePay_id + "");

            if (onlinepay == null)
            {
                Log.Add("在线支付接口 weixinpay 配置错误");
                return;
            }
            Shop.Bussiness.Site site = new Shop.Bussiness.Site();
            //B_BaseConfig bconfig = new B_BaseConfig();
            //BaseConfig SYS = bconfig.LoadConfig();
            mch_id        = onlinepay.UserName;
            key           = onlinepay.UserKey;
            appid         = onlinepay.Appid; // SYS.platform_weixin_id;
            appkey        = onlinepay.UserKey;
            tenpay_notify = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/weixinpay/payNotifyUrl.aspx";
        }
Exemplo n.º 23
0
        protected void Page_Load(object sender, EventArgs e)
        {
            MerNo     = System.Web.HttpContext.Current.Request.Params["MerNo"].ToString();
            BillNo    = System.Web.HttpContext.Current.Request.Params["BillNo"].ToString();
            Amount    = System.Web.HttpContext.Current.Request.Params["Amount"].ToString();
            Succeed   = System.Web.HttpContext.Current.Request.Params["Succeed"].ToString();
            Result    = System.Web.HttpContext.Current.Request.Params["Result"].ToString();
            MD5info   = System.Web.HttpContext.Current.Request.Params["MD5info"].ToString();
            MerRemark = System.Web.HttpContext.Current.Request.Params["MerRemark"].ToString();

            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(BillNo, "95epay");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }

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

            if (MD5info == md5str)
            {
                if (Succeed == "88")
                {
                    //交易成功
                    Order.OnlinePaySuccess(BillNo);
                    Response.Write("success");
                }
                else
                {
                    //交易失败
                    Response.Write("交易失败");
                }
            }
            else
            {
                //验证失败
                Response.Write("验证失败");
            }
        }
Exemplo n.º 24
0
        public string tenpay_notify = "http://*****/payReturnUrl.aspx";    //支付完成后的回调处理页面;

        public TenpayUtil(Lebi_Order order)
        {
            /*tenpay      = System.Configuration.ConfigurationSettings.AppSettings["tenpay"];*/

            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "tenpayJSDZ");

            if (pay == null)
            {
                return;
            }
            Lebi_Currency currendy = B_Lebi_Currency.GetModel(pay.Currency_id);

            Shop.Bussiness.Site site    = new Shop.Bussiness.Site();
            B_BaseConfig        bconfig = new B_BaseConfig();
            BaseConfig          SYS     = bconfig.LoadConfig();

            bargainor_id  = pay.UserName;
            tenpay_key    = pay.UserKey;
            tenpay_return = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/payReturnUrl.aspx";
            tenpay_notify = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/payNotifyUrl.aspx";
        }
Exemplo n.º 25
0
 /// <summary>
 /// 初始化支付参数信息
 /// </summary>
 public UmsPayConfig(Lebi_OnlinePay pay)
 {
     //Lebi_OnlinePay pay = Money.GetOnlinePay(order, "yinlianqmf");
     //测试
     //商户号 898000093990002 终端号 99999999
     // 下单地址 https://116.228.21.162:8603/merFrontMgr/orderBusinessServlet
     // 订单查询地址 https://116.228.21.162:8603/merFrontMgr/orderQueryServlet
     // 银商验签公钥 http://116.228.21.162:9149/download_qmf/spackage 下载
     // 商户签名私钥 http://116.228.21.162:9149/download_qmf/spackage
     //正式
     //下单查询地址https://mpos.quanminfu.com:6004/merFrontMgr/orderBusinessServlet
     //订单查询地址 https://mpos.quanminfu.com:6004/merFrontMgr/orderQueryServlet
     _privateKey    = pay.UserKey;
     _publicKey     = pay.Email;
     _orderUrl      = "https://mpos.quanminfu.com:6004/merFrontMgr/orderBusinessServlet";
     _queryOrderUrl = "https://mpos.quanminfu.com:6004/merFrontMgr/orderQueryServlet";
     Shop.Bussiness.Site site = new Shop.Bussiness.Site();
     _notifyUrl = "http://" + RequestTool.GetRequestDomain() + site.WebPath + "/onlinepay/yinlianqmf/notify_url.aspx";;
     _merId     = pay.UserName;
     _merTermId = pay.terminal;
 }
Exemplo n.º 26
0
        public Config(Lebi_Order order)
        {
            //↓↓↓↓↓↓↓↓↓↓请在这里配置您的基本信息↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(order, "alipayWAP");

            if (pay == null)
            {
                return;
            }
            //合作身份者ID,以2088开头由16位纯数字组成的字符串
            partner = pay.UserName;

            //收款支付宝账号
            seller_email = pay.Email;

            //交易安全检验码,由数字和字母组成的32位字符串
            //如果签名方式设置为“MD5”时,请设置该参数
            key = pay.UserKey;

            //商户的私钥
            //如果签名方式设置为“0001”时,请设置该参数
            private_key = @"";

            //支付宝的公钥
            //如果签名方式设置为“0001”时,请设置该参数
            public_key = @"";

            //↑↑↑↑↑↑↑↑↑↑请在这里配置您的基本信息↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑



            //字符编码格式 目前支持 utf-8
            input_charset = "utf-8";

            //签名方式,选择项:0001(RSA)、MD5
            //sign_type = "0001";
            sign_type = "MD5";
            //无线的产品中,签名方式为rsa时,sign_type需赋值为0001而不是RSA
        }
Exemplo n.º 27
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string tranID  = RequestTool.RequestString("tranID");
            string orderid = RequestTool.RequestString("orderid");

            Lebi_OnlinePay pay = Shop.Bussiness.Money.GetOnlinePay(orderid, "molpay");

            if (pay == null)
            {
                Response.Write("系统错误");
                Response.End();
                return;
            }

            string status   = RequestTool.RequestString("status");
            string domain   = RequestTool.RequestString("domain");
            string amount   = RequestTool.RequestString("amount");
            string currency = RequestTool.RequestString("currency");
            string paydate  = RequestTool.RequestString("paydate");
            string appcode  = RequestTool.RequestString("appcode");
            string skey     = RequestTool.RequestString("skey");
            string key0     = MOLMD5.Sign(tranID + orderid + status + domain + amount + currency);
            string key1     = MOLMD5.Sign(paydate + domain + key0 + appcode + pay.UserKey);

            if (skey != key1)
            {
                status = "1";
            }
            if (status == "00")
            {
                //验证成功
                Order.OnlinePaySuccess(orderid);
            }
            else
            {
            }
        }
Exemplo n.º 28
0
        /// <summary>
        /// 获取一个支付方式的对于供应商设置或(默认设置)
        /// </summary>
        /// <param name="pay"></param>
        /// <returns></returns>
        public Lebi_OnlinePay Getpay(Lebi_OnlinePay pay)
        {
            if (order.IsSupplierCash == 0)
            {
                return(pay);
            }
            Lebi_Supplier supplier = B_Lebi_Supplier.GetModel(order.Supplier_id);

            if (supplier != null)
            {
                //供应商发货商城收款的情况
                if (supplier.IsCash == 0)
                {
                    return(pay);
                }
            }

            Lebi_OnlinePay p = B_Lebi_OnlinePay.GetModel("parentid=" + pay.id + " and Supplier_id=" + order.Supplier_id + " and IsUsed=1");

            if (p != null)
            {
                if (Lang(p.Name) == "")
                {
                    p.Name = pay.Name;
                }
                if (Lang(p.Description) == "")
                {
                    p.Name = pay.Name;
                }
                if (p.Logo == "")
                {
                    p.Logo = pay.Logo;
                }
            }
            return(p);
        }
Exemplo n.º 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
            {
            }
        }
Exemplo n.º 30
0
        /// <summary>
        /// 生成充值订单
        /// </summary>
        public void CreateMoneyOrder()
        {
            decimal money = RequestTool.RequestDecimal("RMoney", 0);

            if (money == 0)
            {
                Response.Write("{\"msg\":\"" + Tag("充值金额必须大于0") + "\"}");
                return;
            }
            Lebi_Currency DefaultCurrency = B_Lebi_Currency.GetModel("IsDefault=1");

            if (DefaultCurrency == null)
            {
                DefaultCurrency = B_Lebi_Currency.GetList("", "Sort desc").FirstOrDefault();
            }
            int onlinepay_id = RequestTool.RequestInt("onlinepay_id");
            int pay_id       = RequestTool.RequestInt("Pay_id");
            int paytype      = RequestTool.RequestInt("paytype");
            //Lebi_MoneyOrder order = new Lebi_MoneyOrder();
            //order.Code = "M" + Shop.Bussiness.Order.CreateOrderCode();
            //order.Money = money;
            //order.User_id = CurrentUser.id;
            //order.User_UserName = CurrentUser.UserName;
            //order.IsPaid = 0;
            //order.Currency_Code = DefaultCurrency.Code;
            //order.Currency_ExchangeRate = DefaultCurrency.ExchangeRate;
            //order.Currency_id = DefaultCurrency.id;
            //order.Currency_Msige = DefaultCurrency.Msige;
            //B_Lebi_MoneyOrder.Add(order);
            Lebi_Order order = new Lebi_Order();

            order.Code                  = "M" + Shop.Bussiness.Order.CreateOrderCode();
            order.Money_Order           = money;
            order.Money_Pay             = money;
            order.User_id               = CurrentUser.id;
            order.User_UserName         = CurrentUser.UserName;
            order.IsPaid                = 0;
            order.Currency_Code         = DefaultCurrency.Code;
            order.Currency_ExchangeRate = DefaultCurrency.ExchangeRate;
            order.Currency_id           = DefaultCurrency.id;
            order.Currency_Msige        = DefaultCurrency.Msige;
            order.Type_id_OrderType     = 214;
            Lebi_Pay pay = B_Lebi_Pay.GetModel(pay_id);

            if (paytype == 0)
            {
                Lebi_OnlinePay onlinepay = B_Lebi_OnlinePay.GetModel(onlinepay_id);
                if (onlinepay == null)
                {
                    onlinepay = new Lebi_OnlinePay();
                }
                order.OnlinePay_id = onlinepay.id;
                order.OnlinePay    = onlinepay.Name;
                pay = B_Lebi_Pay.GetModel("Code='OnlinePay'");
            }
            if (pay == null)
            {
                pay = new Lebi_Pay();
            }
            order.Pay_id = pay.id;
            order.Pay    = pay.Name;

            order.Site_id     = CurrentSite.id;
            order.Language_id = CurrentLanguage.id;
            B_Lebi_Order.Add(order);
            order.id = B_Lebi_Order.GetMaxId();
            Response.Write("{\"msg\":\"OK\",\"id\":\"" + order.id + "\",\"code\":\"" + order.Code + "\",\"url\":\"" + URL("P_Pay", order.id + "," + order.Code) + "\"}");
        }