Esempio n. 1
0
        public void OutString()
        {
            if (!this.Data.IsNullOrEmpty())
            {
                //this.Data = ChinaseToUnicode(this.Data);
                this.Data = LokFuEncode.LokFuAPIEncode(this.Data, this.Key);
            }
            string Ret = this.OutJson();

            try
            {
                System.Web.HttpContext.Current.Response.AddHeader("content-type", "application/json");
            }
            catch (Exception) { }
            System.Web.HttpContext.Current.Response.Write(Ret);
            System.Web.HttpContext.Current.Response.End();
        }
Esempio n. 2
0
        /// <summary>
        /// 验证授权并返回结果
        /// </summary>
        /// <param name="Sceneid">登录授权码</param>
        public void AuthorizedResult(string Sceneid)
        {
            UserLoginSceneid Log = Entity.UserLoginSceneid.FirstOrDefault(n => n.Sceneid == Sceneid);

            if (Log == null)
            {
                Response.Write("E0");
                return;
            }
            if (Log.AddTime.AddMinutes(5) < DateTime.Now)//失效
            {
                Response.Write("E0");
                return;
            }
            if (Log.UId.IsNullOrEmpty())        //未登录
            {
                if (!Log.Token.IsNullOrEmpty()) //已扫码
                {
                    Response.Write("E8");
                    return;
                }
                else
                {
                    Response.Write("E9");
                    return;
                }
            }
            Users BaseUsers = Entity.Users.FirstOrDefault(n => n.Id == Log.UId);

            if (BaseUsers == null)
            {
                Response.Write("E1");
                return;
            }
            //清除扫码记录cookie,删除临时保存的数据库二维码参数
            Entity.DeleteObject(Log);
            Entity.SaveChanges();
            //返回用户信息
            BaseUsers.Cols = "TrueName,UserName,CardStae,CardId";
            string json          = "{\"UserName\":\"" + BaseUsers.UserName + "\",\"CardStae\":\"" + BaseUsers.CardStae + "\",\"CardId\":\"" + BaseUsers.CardId + "\",\"TrueName\":\"" + BaseUsers.TrueName + "\"}";
            string AuthorizedKey = ConfigurationManager.AppSettings["AuthorizedKey"].ToString();

            json = LokFuEncode.LokFuAPIEncode(json, AuthorizedKey);
            Response.Write(json);
        }
        /// <summary>
        /// 一户一码模式绑卡类交易入口
        /// </summary>
        /// <param name="Id"></param>
        /// <param name="sign"></param>
        public void Pay(int Id, string sign)
        {
            if (Id.IsNullOrEmpty() || sign.IsNullOrEmpty())
            {
                Response.Write("Some Error[00]");
                return;
            }
            if (((Id * 100 + 99) + "Pay").GetMD5().Substring(8, 8) != sign)
            {
                Response.Write("Some Error[01]");
                return;
            }
            FastOrder FastOrder = Entity.FastOrder.FirstOrDefault(n => n.Id == Id);

            if (FastOrder == null)
            {
                Response.Write("Some Error[02]");
                return;
            }
            FastPayWay FastPayWay = Entity.FastPayWay.FirstOrDefault(n => n.Id == FastOrder.PayWay);

            if (FastPayWay == null)
            {
                Response.Write("Some Error[03]");
                return;
            }
            if (FastPayWay.DllName == "HFPay" || FastPayWay.DllName == "HFJSPay")
            {
                //不需要绑卡,去支付
                Response.Redirect("/paycenter/" + FastPayWay.DllName.ToLower() + "/index.html?etnum=" + HttpUtility.UrlEncode(LokFuEncode.LokFuAPIEncode(FastOrder.TNum, FastPayWay.DllName)));
            }
            else
            {
                //跳出绑卡
                Response.Redirect("/paycenter/cardpay/index.html?etnum=" + HttpUtility.UrlEncode(LokFuEncode.LokFuAPIEncode(FastOrder.TNum, "CardPay")));
            }
        }
Esempio n. 4
0
        public void GoPay(string etnum, int BankId)
        {
            if (etnum.IsNullOrEmpty() || BankId.IsNullOrEmpty())
            {
                Response.Write("Some Error[00]");
                return;
            }
            string    tnum      = LokFuEncode.LokFuAPIDecode(etnum, DllName);
            FastOrder FastOrder = Entity.FastOrder.FirstOrDefault(n => n.TNum == tnum);

            if (FastOrder == null)
            {
                Response.Write("Some Error[02]");
                return;
            }
            FastPayWay FastPayWay = Entity.FastPayWay.FirstOrDefault(n => n.Id == FastOrder.PayWay);

            if (FastOrder == null)
            {
                Response.Write("Some Error[03]");
                return;
            }
            Response.Redirect("/paycenter/" + FastPayWay.DllName.ToLower() + "/gopay.html?etnum=" + HttpUtility.UrlEncode(LokFuEncode.LokFuAPIEncode(FastOrder.TNum + "|" + BankId, FastPayWay.DllName)));
        }
        private ActionResult BankPay(Users Users, decimal Amount, PayConfig PayConfig, SysControl SysControl)
        {
            if (Users.Token.IsNullOrEmpty())
            {
                Users.Token = DateTime.Now.ToString().GetMD5();
                Entity.SaveChanges();
            }

            int InType = 0;

            if (SysControl.LagEntryNum > 0)
            {
                InType = 1;
            }

            string PostJson = "{amoney:" + Amount.ToString("F2") + ",token:\"" + Users.Token + "\",aid:2,paytype:4,x:\"0\",y:\"0\",intype:\"" + InType + "\",payway:\"" + PayConfig.Id + "\",orderaddress:\"网店收银台,IP:" + Utils.GetAddressAndIp() + "\"}";
            //提交数据
            string PostData = LokFuEncode.LokFuAPIEncode(PostJson, Shop_Keys);

            PostData = HttpUtility.UrlEncode(PostData);
            //Post参数
            string  PostString = "eno=" + Shop_ENO + "&data=" + PostData + "&code=0000";
            string  url        = AppPath + "/API/OrderRecharge/";
            string  RetString  = Utils.PostRequest(url, PostString, "utf-8");
            JObject json       = new JObject();

            try
            {
                json = (JObject)JsonConvert.DeserializeObject(RetString);
            }
            catch (Exception)
            {
                ViewBag.ErrorMsg = "接口数据有误![01]";
                return(View("Error"));
            }
            if (json == null)
            {
                ViewBag.ErrorMsg = "接口数据有误![02]";
                return(View("Error"));
            }
            string code = "";
            string data = "";

            try
            {
                code = json["code"].ToString();
                data = json["data"].ToString();
            }
            catch (Exception)
            {
                ViewBag.ErrorMsg = "接口数据有误![03]";
                return(View("Error"));
            }
            if (code != "0000")
            {
                ViewBag.ErrorMsg = "交易有误![" + code + "]";
                return(View("Error"));
            }
            //解密
            string  RetData = LokFuEncode.LokFuAPIDecode(data, Shop_Keys);
            JObject Json    = new JObject();

            try
            {
                Json = (JObject)JsonConvert.DeserializeObject(RetData);
            }
            catch (Exception)
            {
                ViewBag.ErrorMsg = "数据解析有误![01]";
                return(View("Error"));
            }
            if (Json == null)
            {
                ViewBag.ErrorMsg = "数据解析有误![02]";
                return(View("Error"));
            }
            Orders Orders = new Orders();

            Orders = JsonToObject.ConvertJsonToModel(Orders, Json);
            if (Orders.TNum.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "订单信息有误";
                return(View("Error"));
            }
            string payJson  = "{tnum:\"" + Orders.TNum + "\",token:\"" + Users.Token + "\"}";
            string JumpData = LokFuEncode.LokFuAPIEncode(payJson, Shop_Keys);

            JumpData = HttpUtility.UrlEncode(JumpData);
            string JumpString = "eno=" + Shop_ENO + "&data=" + JumpData + "&code=0000";
            string Url        = "/PayCenter/Pay/index.html?" + JumpString;

            return(this.Redirect(Url));
            //Response.Redirect(Url);
            //return View("GoPay");
        }
        private ActionResult WeiXinPay(Users Users, decimal Amount, PayConfig PayConfig, SysControl SysControl)
        {
            if (Users.Token.IsNullOrEmpty())
            {
                Users.Token = DateTime.Now.ToString().GetMD5();
                Entity.SaveChanges();
            }

            int InType = 0;

            if (SysControl.LagEntryNum > 0)
            {
                InType = 1;
            }

            #region 微信支付
            string PostJson = "{amoney:" + Amount.ToString("F2") + ",token:\"" + Users.Token + "\",payid:\"shop\",otype:8,action:\"Create\",x:\"0\",y:\"0\",intype:\"" + InType + "\",payway:\"" + PayConfig.Id + "\",orderaddress:\"网店收银台,IP:" + Utils.GetAddressAndIp() + "\",ip:\"" + Utils.GetIP() + "\"}";
            //提交数据
            string PostData = LokFuEncode.LokFuAPIEncode(PostJson, Shop_Keys);
            PostData = HttpUtility.UrlEncode(PostData);
            //Post参数
            string PostString = "eno=" + Shop_ENO + "&data=" + PostData + "&code=0000";
            //AppPath = "http://localhost:2610";
            string  url       = AppPath + "/API/OrderQC/";
            string  RetString = Utils.PostRequest(url, PostString, "utf-8");
            JObject json      = new JObject();
            try
            {
                json = (JObject)JsonConvert.DeserializeObject(RetString);
            }
            catch (Exception)
            {
                ViewBag.ErrorMsg = "接口数据有误![01]";
                return(View("Error"));
            }
            if (json == null)
            {
                ViewBag.ErrorMsg = "接口数据有误![02]";
                return(View("Error"));
            }
            string code = "";
            string data = "";
            try
            {
                code = json["code"].ToString();
                data = json["data"].ToString();
            }
            catch (Exception)
            {
                ViewBag.ErrorMsg = "接口数据有误![03]";
                return(View("Error"));
            }
            if (code != "0000")
            {
                ViewBag.ErrorMsg = "交易有误![" + code + "]";
                return(View("Error"));
            }
            //解密
            string  RetData = LokFuEncode.LokFuAPIDecode(data, Shop_Keys);
            JObject Json    = new JObject();
            try
            {
                Json = (JObject)JsonConvert.DeserializeObject(RetData);
            }
            catch (Exception)
            {
                ViewBag.ErrorMsg = "数据解析有误![01]";
                return(View("Error"));
            }
            if (Json == null)
            {
                ViewBag.ErrorMsg = "数据解析有误![02]";
                return(View("Error"));
            }
            Orders Orders = new Orders();
            Orders = JsonToObject.ConvertJsonToModel(Orders, Json);
            if (Orders.PayId.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "订单信息有误";
                return(View("Error"));
            }
            string   PayId        = Orders.PayId;
            string[] PayConfigArr = PayConfig.QueryArray.Split(new char[] { ',' });
            if (PayConfig.DllName == "WeiXin")
            {
                string AppId  = PayConfigArr[0];
                string AppKey = PayConfigArr[2];

                WxPayData jsApiParam = new WxPayData();
                jsApiParam.SetValue("appId", AppId);
                jsApiParam.SetValue("timeStamp", WxPayApi.GenerateTimeStamp());
                jsApiParam.SetValue("nonceStr", WxPayApi.GenerateNonceStr());
                jsApiParam.SetValue("package", "prepay_id=" + PayId);
                jsApiParam.SetValue("signType", "MD5");
                jsApiParam.SetValue("paySign", jsApiParam.MakeSign(AppKey));
                string Parameters = jsApiParam.ToJson();
                ViewBag.Parameters = Parameters;
                Orders             = Entity.Orders.FirstOrNew(n => n.TNum == Orders.TNum);
                ViewBag.Orders     = Orders;
                return(View("WeiXinPay"));
            }
            else if (PayConfig.DllName == "HFWeiXin")
            {
                //提交结算中心
                string merId      = PayConfigArr[0]; //商户号
                string merKey     = PayConfigArr[1]; //商户密钥
                string orderId    = Orders.TNum;     //商户流水号
                string myData     = "{\"merid\":\"" + merId + "\",\"orderid\":\"" + orderId + "\",\"code\":\"" + PayId + "\"}";
                string DataBase64 = LokFuEncode.Base64Encode(myData, "utf-8");
                string Sign       = (DataBase64 + merKey).GetMD5();
                DataBase64 = HttpUtility.UrlEncode(DataBase64);
                string myUrl = string.Format("req={0}&sign={1}", DataBase64, Sign);
                string Url   = "https://api.zhifujiekou.com/wxjsapi/gopay.html?" + myUrl;
                //Response.Redirect(Url);
                return(this.Redirect(Url));
            }
            else
            {
                return(View("Null"));
            }
            //return View("Null");
            #endregion
        }
        /// <summary>
        /// 补单
        /// </summary>
        /// <returns></returns>
        public ActionResult OrdersRepair(FastOrder FastOrder)
        {
            if (!FastOrder.Id.IsNullOrEmpty())
            {
                FastOrder = Entity.FastOrder.FirstOrDefault(n => n.Id == FastOrder.Id);
            }
            if (FastOrder == null)
            {
                ViewBag.ErrorMsg = "订单不存在";
                return(View("Error"));
            }
            if (FastOrder.PayState != 0)
            {
                ViewBag.ErrorMsg = "不符合补单规则";
                return(View("Error"));
            }
            if (FastOrder.State == 0)
            {
                FastOrder.State = 1;
                Entity.SaveChanges();
            }
            if (this.Request.QueryString["Confirm"] == "true")
            {
                OrdersPayOnly ConfirmOrdersPayOnly = Entity.OrdersPayOnly.Where(o => o.TNum == FastOrder.TNum).FirstOrDefault();
                Entity.OrdersPayOnly.DeleteObject(ConfirmOrdersPayOnly);
                Entity.SaveChanges();
            }
            OrdersPayOnly OrdersPayOnly = Entity.OrdersPayOnly.Where(o => o.TNum == FastOrder.TNum).FirstOrDefault();

            if (OrdersPayOnly != null)
            {
                ViewBag.Msg = "入账流程未完成,是否先结束流程?";
                return(View("Confirm"));
            }
            FastPayWay FastPayWay = Entity.FastPayWay.FirstOrNew(n => n.Id == FastOrder.PayWay);

            if (FastPayWay.State.IsNullOrEmpty())
            {
                ViewBag.ErrorMsg = "支付通道已关闭";
                return(View("Error"));
            }
            //补单查询
            Users     Users     = Entity.Users.FirstOrDefault(o => o.Id == FastOrder.UId);
            Equipment Equipment = Entity.Equipment.FirstOrDefault(e => e.No == Users.ENo);

            if (Equipment == null)
            {
                ViewBag.ErrorMsg = "支付通道已关闭";
                return(View("Error"));
            }
            string  keys      = Equipment.Keys;
            string  dataJosn  = "{\"token\":\"" + Users.Token + "\",\"tnum\":\"" + FastOrder.TNum + "\"}";
            string  data_data = HttpUtility.UrlEncode(LokFuEncode.LokFuAPIEncode(dataJosn, keys));
            string  Url       = ConfigurationManager.AppSettings["ApiPath"].ToString() + "/API/FastOrderQuery/";
            string  PostData  = string.Format("data={0}&eno={1}&code=0000", data_data, Users.ENo);
            string  result    = Utils.PostRequest(Url, PostData, "utf-8");
            JObject JS        = new JObject();

            try
            {
                JS = (JObject)JsonConvert.DeserializeObject(result);
                string statename = "";
                //返回成功
                if (JS["code"].ToString() == "0000")
                {
                    string ret_data = JS["data"].ToString();
                    result = LokFuEncode.LokFuAPIDecode(ret_data, keys);
                    JS     = (JObject)JsonConvert.DeserializeObject(result);

                    if (JS["state"].ToString() == "0" || JS["state"].ToString() == "1")
                    {
                        if (JS["state"].ToString() == "0")
                        {
                            statename = "取消交易";
                        }
                        else
                        {
                            statename = "待支付";
                        }
                        ViewBag.ErrorMsg = "补单失败!状态:" + statename;
                        return(View("Error"));
                    }
                    else
                    {
                        if (JS["state"].ToString() == "2")
                        {
                            statename = "待结算";
                        }
                        else
                        {
                            statename = "已结算";
                        }

                        ViewBag.Msg = "补单成功!状态:" + statename;
                        return(View("Succeed"));
                    }
                }
                else
                {
                    ViewBag.ErrorMsg = JS["msg"].ToString();
                    return(View("Error"));
                }
            }
            catch (Exception)
            {
                ViewBag.ErrorMsg = "补单失败!";
                return(View("Error"));
            }
        }
        public void Cancel(string tnum)
        {
            Response.AddHeader("content-type", "application/json");
            if (tnum.IsNullOrEmpty())
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"参数有误\"}");
                return;
            }
            Orders Orders = Entity.Orders.FirstOrDefault(n => n.TNum == tnum && n.UId == BasicUsers.Id);

            if (Orders == null)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"参数有误\"}");
                return;
            }
            if (Orders.TState == 0)
            {
                Response.Write("{\"err\":\"0\",\"msg\":\"OK\",\"tnum\":\"" + tnum + "\"}");
                return;
            }
            string PostJson = "{\"oid\":\"" + tnum + "\",\"token\":\"" + BasicUsers.Token + "\",\"action\":\"Cancel\"}";
            //提交数据
            string PostData = LokFuEncode.LokFuAPIEncode(PostJson, Shop_Keys);

            PostData = HttpUtility.UrlEncode(PostData);
            //Post参数
            string  PostString = "eno=" + Shop_ENO + "&data=" + PostData + "&code=0000";
            string  url        = AppPath + "/API/OrderF2F/";
            string  RetString  = Utils.PostRequest(url, PostString, "utf-8");
            JObject json       = new JObject();

            try
            {
                json = (JObject)JsonConvert.DeserializeObject(RetString);
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![01]\"}");
                return;
            }
            if (json == null)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![02]\"}");
                return;
            }
            string code = "";
            string data = "";

            try
            {
                code = json["code"].ToString();
                data = json["data"].ToString();
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![03]\"}");
                return;
            }
            if (code != "0000")
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"交易有误![" + code + "]\"}");
                return;
            }
            //解密
            string  RetData = LokFuEncode.LokFuAPIDecode(data, Shop_Keys);
            JObject Json    = new JObject();

            try
            {
                Json = (JObject)JsonConvert.DeserializeObject(RetData);
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"数据解析有误![01]\"}");
                return;
            }
            if (Json == null)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"数据解析有误![02]\"}");
                return;
            }
            Orders = JsonToObject.ConvertJsonToModel(Orders, Json);
            byte   tstate   = Orders.TType;
            byte   paystate = Orders.PayState;
            string msg      = "操作成功";

            if (tstate == 0)
            {
                msg = "取消交易成功!";
            }
            else
            {
                if (paystate == 1)
                {
                    msg = "交易已经支付!";
                }
            }
            Response.Write("{\"err\":\"0\",\"msg\":\"" + msg + "\",\"tnum\":\"" + tnum + "\"}");
            return;
        }
        public void QrCodePay(string paytype, decimal amount, int PayWay = 0)//生成二维码
        {
            Response.AddHeader("content-type", "application/json");
            if (BasicUsers.Token.IsNullOrEmpty())
            {
                BasicUsers.Token = DateTime.Now.ToString().GetMD5();
                Entity.SaveChanges();
            }
            string otype = "0";

            if (paytype == "WxSao")
            {
                otype = "8";
            }
            if (paytype == "AliSao")
            {
                otype = "7";
            }
            if (otype == "0")
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"参数有误\"}");
                return;
            }
            if (amount <= 0)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"交易金额有误!\"}");
                return;
            }
            string PostJson = "{\"amoney\":" + amount.ToString("F2") + ",\"token\":\"" + BasicUsers.Token + "\",\"otype\":" + otype + ",\"payway\":" + PayWay + ",\"action\":\"Create\",\"x\":\"0\",\"y\":\"0\",\"orderaddress\":\"超级收银台:" + Utils.GetAddressAndIp() + "\",ip:\"" + Utils.GetIP() + "\"}";
            //提交数据
            string PostData = LokFuEncode.LokFuAPIEncode(PostJson, Shop_Keys);

            PostData = HttpUtility.UrlEncode(PostData);
            //Post参数
            string  PostString = "eno=" + Shop_ENO + "&data=" + PostData + "&code=0000";
            string  url        = AppPath + "/API/OrderQC/";
            string  RetString  = Utils.PostRequest(url, PostString, "utf-8");
            JObject json       = new JObject();

            try
            {
                json = (JObject)JsonConvert.DeserializeObject(RetString);
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![01]\"}");
                return;
            }
            if (json == null)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![02]\"}");
                return;
            }
            string code = "";
            string data = "";

            try
            {
                code = json["code"].ToString();
                data = json["data"].ToString();
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![03]\"}");
                return;
            }
            if (code != "0000")
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"交易有误![" + code + "]\"}");
                return;
            }
            //解密
            string  RetData = LokFuEncode.LokFuAPIDecode(data, Shop_Keys);
            JObject Json    = new JObject();

            try
            {
                Json = (JObject)JsonConvert.DeserializeObject(RetData);
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"数据解析有误![01]\"}");
                return;
            }
            if (Json == null)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"数据解析有误![02]\"}");
                return;
            }
            Orders Orders = new Orders();

            Orders = JsonToObject.ConvertJsonToModel(Orders, Json);
            if (Orders.PayId.IsNullOrEmpty())
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"订单信息有误!\"}");
                return;
            }
            string        tnum     = Orders.TNum;
            string        payid    = Orders.PayId;
            string        FilePath = Server.MapPath("/UpLoadFiles/ShopOrders/" + tnum + ".gif"); //服务器端文件路径
            QRCodeEncoder Encoder  = new QRCodeEncoder();

            //QRCode("Byte", 4, 7, "M", "A");
            Encoder.QRCodeEncodeMode   = QRCodeEncoder.ENCODE_MODE.BYTE;   //二维码编码方式
            Encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M; //纠错码等级
            Encoder.QRCodeScale        = 5;                                //每个小方格的宽度
            Encoder.QRCodeVersion      = 5;                                //二维码版本号
            //动态调整二维码版本号,上限40,过长返回空白图片,编码后字符最大字节长度2953
            Bitmap image = Encoder.Encode(payid, Encoding.UTF8);

            image.Save(FilePath, ImageFormat.Gif);
            Response.Write("{\"err\":\"0\",\"msg\":\"/UpLoadFiles/ShopOrders/" + tnum + ".gif\",\"tnum\":\"" + tnum + "\"}");
            return;
        }
        public void CodePay(string payid, string paytype, decimal amount, int PayWay = 0)//条码支付
        {
            Response.AddHeader("content-type", "application/json");
            if (BasicUsers.Token.IsNullOrEmpty())
            {
                BasicUsers.Token = DateTime.Now.ToString().GetMD5();
                Entity.SaveChanges();
            }
            string otype = "0";

            if (paytype == "WxCode")
            {
                otype = "8";
            }
            if (paytype == "AliCode")
            {
                otype = "7";
            }
            if (otype == "0")
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"参数有误\"}");
                return;
            }
            if (amount <= 0)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"交易金额有误!\"}");
                return;
            }
            if (payid.IsNullOrEmpty())
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"请扫描条码!\"}");
                return;
            }
            int InType = 0;

            if (BasicSet.LagEntry == 1)
            {
                if (BasicUsers.InTypePC == 1)
                {
                    InType = 1;
                }
            }

            string PostJson = "{\"amoney\":" + amount.ToString("F2") + ",\"token\":\"" + BasicUsers.Token + "\",\"otype\":" + otype + ",\"payway\":" + PayWay + ",\"payid\":\"" + payid + "\",\"action\":\"Create\",\"x\":\"0\",\"y\":\"0\",\"intype\":\"" + InType + "\",\"orderaddress\":\"超级收银台:" + Utils.GetAddressAndIp() + "\",ip:\"" + Utils.GetIP() + "\"}";

            //提交数据
            string PostData = LokFuEncode.LokFuAPIEncode(PostJson, Shop_Keys);

            PostData = HttpUtility.UrlEncode(PostData);
            //Post参数
            string  PostString = "eno=" + Shop_ENO + "&data=" + PostData + "&code=0000";
            string  url        = AppPath + "/API/OrderF2F/";
            string  RetString  = Utils.PostRequest(url, PostString, "utf-8");
            JObject json       = new JObject();

            try
            {
                json = (JObject)JsonConvert.DeserializeObject(RetString);
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![01]\"}");
                return;
            }
            if (json == null)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![02]\"}");
                return;
            }
            string code = "";
            string data = "";

            try
            {
                code = json["code"].ToString();
                data = json["data"].ToString();
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"接口数据有误![03]\"}");
                return;
            }
            if (code != "0000")
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"交易有误![" + code + "]\"}");
                return;
            }
            //解密
            string  RetData = LokFuEncode.LokFuAPIDecode(data, Shop_Keys);
            JObject Json    = new JObject();

            try
            {
                Json = (JObject)JsonConvert.DeserializeObject(RetData);
            }
            catch (Exception)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"数据解析有误![01]\"}");
                return;
            }
            if (Json == null)
            {
                Response.Write("{\"err\":\"1\",\"msg\":\"数据解析有误![02]\"}");
                return;
            }
            Orders Orders = new Orders();

            Orders = JsonToObject.ConvertJsonToModel(Orders, Json);
            byte   paystate = Orders.PayState;
            string tnum     = Orders.TNum;
            string msg      = "Wait";

            if (paystate == 1)
            {
                msg = "OK";
            }
            Response.Write("{\"err\":\"0\",\"msg\":\"" + msg + "\",\"tnum\":\"" + tnum + "\"}");
            return;
        }