123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- 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<OrderItem>();
- 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);
- }
- }
- }
|