飞鹅云打印: 提交订单支付成功后台自动打印,实现无人销售,自动打印,后台统计打印记录功能;
 
有自带WIFY:连接到wify就可以打印小票;
有自动SIM卡:第1年免流量费,第2年30一年       
 
#region 飞鹅云打印-API
        //飞鹅云打印
        public string print(string USER, string UKEY, string SN, string merchantName, string payType, string payTotalMoney, string realyPayTotalMoney, string payStatus, string orderNo, string deviceNo, string qrurl)
        {
            //标签说明:
            //单标签:
            //"<BR>"为换行,"<CUT>"为切刀指令(主动切纸,仅限切刀打印机使用才有效果)
            //"<LOGO>"为打印LOGO指令(前提是预先在机器内置LOGO图片),"<PLUGIN>"为钱箱或者外置音响指令
            //成对标签:
            //"<CB></CB>"为居中放大一倍,"<B></B>"为放大一倍,"<C></C>"为居中,<L></L>字体变高一倍
            //<W></W>字体变宽一倍,"<QR></QR>"为二维码,"<BOLD></BOLD>"为字体加粗,"<RIGHT></RIGHT>"为右对齐
            //string USER =  //*必填*:登录管理后台的账号名
            //string UKEY =//*必填*: 注册账号后生成的UKEY
            //string SN =        //*必填*:打印机编号,必须要在管理后台里手动添加打印机或者通过API添加之后,才能调用API
            string URL = "http://api.feieyun.cn/Api/Open/";//不需要修改
            //拼凑订单内容时可参考如下格式
            string orderInfo;
            //orderInfo = "<CB>中国福彩惠州</CB><BR>";
            //orderInfo += "<BR>";
            //orderInfo += "--------------------------------<BR>";
            //orderInfo += "交易类型:" + "     微信支付<BR>";
            //orderInfo += "总金额:" + "      100.00元<BR>";
            //orderInfo += "用户实付:" + "    100.00元<BR>";
            //orderInfo += "支付状态:" + "    支付完成<BR>";
            //orderInfo += "--------------------------------<BR>";
            //orderInfo += "订单编号:" + "<BR>";
            //orderInfo += "终端编号:" + SN + "<BR>";
            //orderInfo += "台号:" + "    *** <BR>";
            //orderInfo += "日期:" + System.DateTime.Now + "     <BR>";
            //orderInfo += "----------请扫描二维码----------";
            //orderInfo += "<QR>http://www.dzist.com</QR>";//把二维码字符串用标签套上即可自动生成二维码
            //orderInfo += "<BR>";
            orderInfo = "<CB>" + merchantName + "</CB><BR>";
            orderInfo += "<BR>";
            orderInfo += "--------------------------------<BR>";
            orderInfo += "交易类型:" + payType + "<BR>";
            orderInfo += "总金额:" + payTotalMoney + "元<BR>";
            orderInfo += "用户实付:" + realyPayTotalMoney + "元<BR>";
            orderInfo += "支付状态:" + payStatus + "<BR>";
            orderInfo += "--------------------------------<BR>";
            orderInfo += "订单编号:" + orderNo + "<BR>";
            orderInfo += "终端编号:" + SN + "<BR>";
            orderInfo += "台号:" + deviceNo + "<BR>";
            orderInfo += "日期:" + System.DateTime.Now + "     <BR>";
            //orderInfo += "----------请扫描二维码----------";
            orderInfo += "--------------------------------";
            orderInfo += "请妥善保管好购物凭证 多谢惠顾!";
            orderInfo += "<QR>" + qrurl + "</QR>";//把二维码字符串用标签套上即可自动生成二维码
            orderInfo += "<BR>";
            orderInfo = Uri.EscapeDataString(orderInfo);
            HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(URL);
            req.Method = "POST";
            UTF8Encoding encoding = new UTF8Encoding();
            string postData = "sn=" + SN;
            postData += ("&content=" + orderInfo);
            postData += ("&times=" + "1");//默认1联
            int itime = DateTimeToStamp(System.DateTime.Now);//时间戳秒数
            string stime = itime.ToString();
            string sig = sha1(USER, UKEY, stime);
            //公共参数
            postData += ("&user=" + USER);
            postData += ("&stime=" + stime);
            postData += ("&sig=" + sig);
            postData += ("&apiname=" + "Open_printMsg");
            byte[] data = encoding.GetBytes(postData);
            req.ContentType = "application/x-www-form-urlencoded";
            req.ContentLength = data.Length;
            Stream resStream = req.GetRequestStream();
            resStream.Write(data, 0, data.Length);
            resStream.Close();
            HttpWebResponse response;
            string strResult;
            try
            {
                response = (HttpWebResponse)req.GetResponse();
                StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
                strResult = reader.ReadToEnd();
            }
            catch (WebException ex)
            {
                response = (HttpWebResponse)ex.Response;
                strResult = response.StatusCode.ToString();//错误信息
            }
            response.Close();
            req.Abort();
            //服务器返回的JSON字符串,建议要当做日志记录起来
            Logger.Instance.APIInfoFormat("飞鹅云打印 result->{0}", strResult);
            return strResult;
        }
        //签名USER,UKEY,STIME
        public static string sha1(string user, string ukey, string stime)
        {
            var buffer = Encoding.UTF8.GetBytes(user + ukey + stime);
            var data = SHA1.Create().ComputeHash(buffer);
            var sb = new StringBuilder();
            foreach (var t in data)
            {
                sb.Append(t.ToString("X2"));
            }
            return sb.ToString().ToLower();
        }
        private static int DateTimeToStamp(System.DateTime time)
        {
            System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); return (int)(time - startTime).TotalSeconds;
        }
        #endregion

飞鹅云打印 API_C#的更多相关文章

  1. 基于MVC4+EasyUI的Web开发框架经验总结(16)--使用云打印控件C-Lodop打印页面或套打报关运单信息

    在最新的MVC4+EasyUI的Web开发框架里面,我整合了关于网购运单处理的一个模块,其中整合了客户导单.运单合并.到货扫描.扣仓.出仓.查询等各个模块的操作,里面涉及到一些运单套打的操作,不过由于 ...

  2. Android讯飞语音云语音听写学习

    讯飞语音云语音听写学习         这几天两个舍友都买了iPhone 6S,玩起了"Hey, Siri",我依旧对我的Nexus 5喊着"OK,Google" ...

  3. Java的云打印Lodop

        打印某一个网页上的内容我们都经常遇到过,比如网上申请港澳通行证时需要填写申请表,然后把申请表给打印出来.像这样的打印技术是怎么实现?这种打印可以通过一种叫云打印的插件来做,按我的理解云打印的技 ...

  4. 使用速卖通开放平台云API调用菜鸟组件实现云打印

    公司是跨境电商,使用速卖通平台卖玩具,我们自己研发的ERP是基于速卖通开放平台API,实现订单的发货提交,打印面单等功能 近期公司要求使用菜鸟组件云打印,去平台里看下,有这个API,如下图所示 实现也 ...

  5. c-lodop云打印实现手机打印 JS语句打印

    Lodop和c-lodop目前只能安装到windows操作系统上,但是其他操作系统可通过向C-Lodop安装的电脑发送打印任务,实现手机广域网或局域网打印,打印语句也是简单的JS语句,可以轻松实现云打 ...

  6. deepin云打印实现连接Windows打印机

    问题的产生:今天给台式机安装deepin系统时,突发奇想能不能给其安装上打印机驱动,让其实现打印功能. 问题的解决方法: 1.在连接打印机的电脑上安装deepin云打印服务端软件,下载地址:https ...

  7. 菜鸟云打印接入Demo

    菜鸟云打印接入Demo 0. 接入流程图 1. 连接打印客户端 首先要打开打印客户端,然后使用下面的方法,连接客户端(WebSocket协议): 地址 :  连接打印客户端 function doCo ...

  8. 云打印-Beta-凡事预则立

    凡事预则立 课程名称:软件工程1916|W(福州大学) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标:Beta冲刺 团队队员 队员学号 队员姓名 个人博客地址 备注 221600 ...

  9. 修咻咻对追光的人、云打印团队的Beta产品测试报告

    修咻咻对追光的人.云打印团队的Beta产品测试报告 作业描述 课程 软件工程1916|W(福州大学) 团队名称 修!咻咻! 作业要求 项目Beta冲刺(团队) 团队目标 切实可行的计算机协会维修预约平 ...

随机推荐

  1. 快速上手Git

    本文主要摘录于廖雪峰的Git教程,个别地方做了可能不恰当的修改或补充,主要方便自己回顾.查看更详细内容请移步廖老师博客.同时,感谢廖老师写出这么好的入门指导. (有彩蛋!!!) 一.热身 1.初始化一 ...

  2. 835.Hamming距离

    描述 两个整数的Hamming距离是对应比特位不同的个数. 给定两个整数x和y,计算两者的Hamming距离. 0 ≤ x, y < 2^31. 您在真实的面试中是否遇到过这个题? 样例 输入: ...

  3. Hibernate的核心接口

    Hibernate5个核心接口 所有Hibernate应用中都会访问Hibernate的5个核心接口 Configuration接口:配置Hibernate,根启动Hibernate,创建Sessio ...

  4. WebStorm中使用npm包管理器

    1.首先安装Node.js,安装之后添加NodeJs的安装路径到系统Path环境变量,在控制台之中测试node,与npm命令是否工作正常. 2.配置npm的源为国内的淘宝镜像,这里不推荐使用cnpm ...

  5. 2017.07.10【NOIP提高组】模拟赛B组

    Summary 今天题目总体不是难,但是分数很低,只有100+10+30,其中第二题还是以前做过的,第一题设计数论,而且以前做过同一个类型的题目,比赛推了很长时间.第三题时以前做过的原题,是贪心没学好 ...

  6. Express基础单词

    访问请求对象(request)或(req) 响应对象(response)或(res) 中间件(middleware) http的请求方法(method) 服务器的路径(path) 路由匹配时的函数(c ...

  7. javascript parseUrl函数解析url获取网址url参数

    function parseURL(url) { var a = document.createElement('a'); a.href = url; return { source: url, pr ...

  8. Linux之ssh登录

    作业三:ssh登录,scp上传.下载,ssh秘钥登录,修改ssh server端的端口为8888然后进行登录和scp测试 1.ssh登录 [root@localhost network-scripts ...

  9. jQuery 学习(2)——jQuery选择器

    1.jQuery为元素添加CSS样式如下: <div id="tt1">单个样式:css()内"属性名称","value"< ...

  10. SSE图像算法优化系列七:基于SSE实现的极速的矩形核腐蚀和膨胀(最大值和最小值)算法。

    因未测试其他作者的算法时间和效率,本文不敢自称是最快的,但是速度也可以肯定说是相当快的,在一台I5机器上占用单核的资源处理 3000 * 2000的灰度数据用时约 20ms,并且算法和核心的大小是无关 ...