using System; using System.Collections.Generic; using com.chinaeinv.einv.order; using com.chinaeinv.einv.order.dto; using System.Collections; namespace einv_demo_order_cs { class Program { // 由电子发票平台分配的appCode private static string appCode = "请向瑞宏网工作人员索取"; // 证书文件路径 private static string keyStorePath = "请向瑞宏网工作人员索取"; // 证书密码 private static string password = "请向瑞宏网工作人员索取"; // 接口URL private static string apiUrl = "https://www.chinaeinv.com:943/igs/api/orderApi.jspa"; // 销售方纳税人识别号 private static string testTaxpayerCode = "请向瑞宏网工作人员索取"; private static OrderFacade orderFacade = new OrderFacadeAgent(appCode, keyStorePath, password, apiUrl); static void Main(string[] args) { // (异步)开具蓝字发票 TestKpAsync(); // (异步)开具红字发票 //TestChAsync(); // (异步)对开票失败的订单重新开票 //TestRetryKpAsync(); // (同步)取消订单 //TestCancel(); // (同步)根据订单编号查询发票 //TestCxByOrderNo(); Console.WriteLine("按回车键退出。"); Console.ReadLine(); //等待用户按一个回车 return; //可选,按下回车后关闭 } /** * (异步)开具蓝字发票 */ private static void TestKpAsync() { Order order = new Order(); // 订单编号 order.orderNo = "OrderNo-007"; // 销货方纳税人识别号 order.taxpayerCode = testTaxpayerCode; // 用户扫码key order.scanCodeKey = Guid.NewGuid().ToString(); // 店铺 order.shopName = "第198店"; // 店铺编号 order.shopCode = "198"; // 订单时间(yyyy-MM-dd HH:mm:ss) order.orderTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); // 联系人 order.contact = "小明"; // 联系电话 order.contactTel = "18000000000"; // 邮箱 order.contactMail = "test@chinaeinv.cn"; // 配送地址 order.shippingAddress = "火星北路1024号"; // 购货方名称,即发票抬头 order.customerName = "小明"; // 是否自动开票 order.autoBilling = true; // 开票人 order.drawer = "张三"; // 收款人 order.payee = "李四"; // 复核人 order.reviewer = "王五"; // 开票金额 order.totalAmount = "24000"; // 发票备注 order.remark = "软件系统维护期限为2018年1月1日至2019年12月31日。"; // 发票明细1 OrderItem orderItem1 = new OrderItem(); //商品编码 orderItem1.code = "001"; //商品名称 orderItem1.name = "软件开发"; //规格型号 orderItem1.spec = "无"; //税率 orderItem1.taxRate = "0.06"; //税价合计金额 orderItem1.amount = "10000"; //商品分类编码 orderItem1.catalogCode = "3040203000000000000"; // 发票明细2 OrderItem orderItem2 = new OrderItem(); //商品编码 orderItem2.code = "002"; //商品名称 orderItem2.name = "软件系统维护"; //规格型号 orderItem2.spec = "无"; //商品单价 orderItem2.price = "8000"; //数量 orderItem2.quantity = "2"; //单位 orderItem2.uom = "年"; //税率 orderItem2.taxRate = "0.06"; //税价合计金额 orderItem2.amount = "16000"; //折扣金额 orderItem2.discountAmount = "2000"; //商品分类编码 orderItem2.catalogCode = "3040203000000000000"; // 发票明细 order.orderItems = new List(); order.orderItems.Add(orderItem1); order.orderItems.Add(orderItem2); // 扩展参数 order.extendedParams = new Hashtable(); order.extendedParams.Add("testExtendedNo1", "12345678"); order.extendedParams.Add("testExtendedNo2", "87654321"); // 调用接口方法 orderFacade.KpAsync(order); } /** * (异步)开具红字发票 */ private static void TestChAsync() { Order order = new Order(); // 订单编号 order.orderNo = "OrderNo-006"; // 销货方纳税人识别号 order.taxpayerCode = testTaxpayerCode; // 冲红原因 order.reason = "开票信息有误。"; // 调用接口方法 orderFacade.ChAsync(order); } /** * (异步)对开票失败的订单重新开票 */ private static void TestRetryKpAsync() { OrderBase order = new OrderBase(); // 订单编号 order.orderNo = "OrderNo-004"; // 销货方纳税人识别号 order.taxpayerCode = testTaxpayerCode; // 调用接口方法 orderFacade.RetryKpAsync(order); } /** * (同步)取消订单 */ private static void TestCancel() { OrderBase order = new OrderBase(); // 订单编号 order.orderNo = "OrderNo-004"; // 销货方纳税人识别号 order.taxpayerCode = testTaxpayerCode; // 调用接口方法 orderFacade.Cancel(order); } /** * (同步)根据订单编号查询发票 */ private static void TestCxByOrderNo() { OrderBase orderBase = new OrderBase("OrderNo-006", testTaxpayerCode); // 调用接口方法 orderFacade.CxByOrderNo(orderBase); } } }