C#通过接口获取税控盘基本信息「建议收藏」

C#通过接口获取税控盘基本信息「建议收藏」C#读盘需要引用C++DLL通过传入XML报文,传出XML报文注意事项程序必须使用32位除了查询基本信息无需注册码外,其它操作均需要注册码。注册码来源不明开票有开票接口组件,本文仅读取盘内的基本信息接口定义skpc.dll文件依赖NISEC_SKP.dll、ZLib_Tools.dll//税控盘接口////载入DLL[DllImport(“skpc.dll”,…

大家好,又见面了,我是你们的朋友全栈君。

C#读盘需要引用C++ DLL
通过传入XML报文,传出XML报文

  • 注意事项
  1. 程序必须使用32位
  2. 除了查询基本信息无需注册码外,其它操作均需要注册码。注册码来源不明
  3. 开票有开票接口组件,本文仅读取盘内的基本信息

接口定义

skpc.dll文件依赖 NISEC_SKP.dll、ZLib_Tools.dll

//税控盘接口//
//载入DLL
[DllImport("skpc.dll", EntryPoint = "OperateDisk", CharSet = CharSet.Ansi)];
//声明方法
public static extern IntPtr OperateDisk(String InXml, byte[] OutXml);

传入的Xml报文

//skpkl节点为盘口令,默认口令是88888888
<?xml version="1.0" encoding="gbk"?>
<business comment="税控盘信息查询" id="SKPXXCX">
  <body yylxdm="1">
    <input>
      <skpkl>88888888</skpkl>
    </input>
  </body>
</business>

应用实例

        /// <summary>
        /// 读取税控盘
        /// </summary>
        /// <param name="sInputxml">传入的XML报文</param>
        /// <returns>返回XML</returns>
        public static string Skpinfo(string sInputxml)
        { 
   
            byte[] buffer = new byte[1048576]; 
            OperateDisk(sInputxml, buffer); 
            return Encoding.Default.GetString(buffer, 0, Array.IndexOf(buffer, (byte)0));
        }

返回Xml报文

<?xml version="1.0" encoding="gbk"?>
<business comment="税控盘信息查询" id="SKPXXCX">
  <body yylxdm="1">
    <output>
        <skpbh>税控盘编号</skpbh>
        <nsrsbh>纳税人识别号</nsrsbh>
        <nsrmc>纳税人名称</nsrmc>
        <swjgdm>税务机关代码</swjgdm>
        <swjgmc>税务机关名称</swjgmc>
        <fplxdm>发票类型代码</fplxdm>
        <dqsz>当前时钟</dqsz>
        <qysj>启用时间</qysj>
        <bbh>版本号</bbh>
        <kpjh>开票机号</kpjh>
        <qylx>企业类型</qylx>
        <blxx>保留信息</blxx>
        <qtkzxx>其它扩展信息</qtkzxx>
        <returncode>读盘状态代码</returncode>
        <returnmsg>读盘状态信息</returnmsg>
     </output>
  </body>
</business>
  • 参数说明
节点 名称 长度 说明
yylxdm 应用类型代码 1 1:国税 、2:地税
skpkl 税控盘口令 8
skpbh 税控盘编号 12
nsrsbh 纳税人识别号 20
nsrmc 纳税人名称 80
swjgdm 税务机关代码 11 9位或者11位
swjgmc 税务机关名称 80
fplxdm 发票类型代码 30 存在的所有发票类型代码(三位一组,无分割)
dqsz 当前时钟 14 YYYYMMDDHHMMSS
qysj 启用时间 14 YYYYMMDDHHMMSS
bbh 版本号 10
kpjh 开票机号 5 最大65535
qylx 企业类型 3 “00”不特殊企业“01”特殊企业
blxx 保留信息 16 农产品销售收购类型+铁路企业类型+纳税人性质
qtkzxx 其它扩展信息
returncode 返回代码 8 00000000成功,其它失败
returnmsg 返回信息 256 读盘状态信息

税控盘信息查询工具

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137383.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用js来实现那些数据结构16(图02-图的遍历)

    上一篇文章我们简单介绍了一下什么是图,以及用JS来实现一个可以添加顶点和边的图。按照惯例,任何数据结构都不可或缺的一个point就是遍历。也就是获取到数据结构中的所有元素。那么图当然也不例外。这篇文章

    2022年3月25日
    37
  • 引用类型「建议收藏」

    引用类型「建议收藏」1.引用reference有时候又称为别名(alias),它可以用作对象的另一个名字。引用类型由类型标识符和一个取地址操作符来定义引用必须被初始化例如intival=1024

    2022年7月2日
    23
  • vue路由懒加载实现_vue路由懒加载实现原理

    vue路由懒加载实现_vue路由懒加载实现原理某些情况下,一个页面的path路径可能是不确定的,比如我们进入用户界面时,希望是如下的路径:/user/aaaa或/user/bbbb。p除了有前面的/user之外,后面还跟上了用户的ID。这种path和Component的匹配关系,我们称之为动态路由(也是路由传递数据的一种方式)。1、配置router2、使用路由3、创造用户组件并使用传进来的用户信息在compute中用this.$route.params.userId,但是mustache语法中直接$route.pa

    2022年10月7日
    3
  • 电压电流转换检测「建议收藏」

    电压电流转换检测「建议收藏」电流可以转换成电压,电压也可以转换成电流。图十就是这样一个电路。上图的负反馈没有通过电阻直接反馈,而是串联了三极管Q1的发射结,大家可不要以为是一个比较器就是了。只要是放大电路,虚短虚断的规律仍然是符合的!由虚断知,运放输入端没有电流流过,则(Vi–V1)/R2=(V1–V4)/R6……a同理(V3–V2)/R5=V2/R4……b由虚短知V1=V2……c如果R2=R6,R4=R5,则…

    2022年6月2日
    35
  • 【SpringBoot】39、SpringBoot上传文件至项目resources目录下

    【SpringBoot】39、SpringBoot上传文件至项目resources目录下当我们没有搭建单独的文件服务器时,我们需要将文件上传至项目目录下,今天我们就学习如何上传文件到项目的resources目录下一、引入依赖<dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.3</version></depende

    2022年6月13日
    30
  • 直立智能车(平衡车)毕业论文[通俗易懂]

    直立智能车(平衡车)毕业论文[通俗易懂]直立智能车设计摘要随着微电子控制技术的发展和人们对出行工具的日益增长的需求,一款简单易操作、容易携带、清洁无污染的两轮自平衡车开始走进大众的视野,但这种小型代步工具仍可能存在一定的不稳定性和安全隐患,本次课题主要通过在实验室制作一款简易的自平衡小车,通过手机蓝牙控制,以此模拟真实的使用者驾驶体验,在模拟实验中提升平衡车的稳定性,解决可能出现的实…

    2022年5月29日
    103

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号