飞鹅云打印: 提交订单支付成功后台自动打印,实现无人销售,自动打印,后台统计打印记录功能;
 
有自带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. Adams/Car与Simulink联合仿真方法

    必须是Assembly装配体才行,并支持仿真设置.这里使用MDI_Demo_Vehicle模型,输出前缀为test1,输出选择files_only.然后OK输出. 生成的文件如下: 在Plant Ex ...

  2. 服务端spark gbdt模型计算性能优化

    服务端使用训练出来的模型,spark模型计算第一步是实现spark模型加载. 线上服务对用户体验影响极大,故需要对模型使用进行优化. 1.多线程并发进行计算,线上两个服务.优化cpu 2.在扩召回集, ...

  3. 【ACM】 1231 最大连续子序列

    [1231 最大连续子序列 ** Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...

  4. 关于在ViewPager的子页面中不能跳转的问题

    关于在ViewPager的子页面中不能跳转的问题 什么是ViewPager? 相信很多人使用过微信,其实微信的四个子页面:微信.通讯录.发现.我以及下面的引导空间就是ViewPager. 出现的问题: ...

  5. 使用log

    1:下载和安装log4j log4j的官方站点是http://logging.apache.org/log4j/登录此网站即可下载. http://logging.apache.org/log4j/2 ...

  6. python每日笔记

    9.28 查看python包路径: sys.path 9.4  sorted高级用法: >>> class Student: def __init__(self, name, gra ...

  7. 如何移除HTML5 input在type="number"时的上下小箭头

      在chrome下: input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{    -webkit-appearance ...

  8. pygame 笔记-3 角色动画及背景的使用

    上二节,已经知道如何控制基本的运动了,但是只有一个很单调的方块,不太美观,本节学习如何加载背景图,以及角色的动画. 素材准备:(原自github) 角色动画的原理:动画都是一帧帧渲染的,比如向左走的动 ...

  9. 避免 Deepin 15.4 系统 界面卡顿、假死等现象:隐藏自带的“任务栏”,安装轻量级的“任务栏tint2”

    使用 Deepin 过程中,发现当点击“任务栏”上面的按钮,尤其是右键单击,选择菜单时,界面很容易卡顿,再也动弹不了. 好吧,,,就不使用自带的“任务栏”了,换成一个轻量级的“任务栏tint2”, 1 ...

  10. MySql的优化步骤

    MySql优化的一般步骤: 1.通过show status 命令了解各种sql的执行效率 SHOW STATUS提供msyql服务器的状态信息 一般情况下,我们只需要了解以”Com”开头的指令 sho ...