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)
上一篇 2022年6月2日 上午7:00
下一篇 2022年6月2日 上午7:16


相关推荐

  • U盘越狱iPhone绕ID最新教程及各种坑解决,吐血之作(超详细超简单教程)[通俗易懂]

    U盘越狱iPhone绕ID最新教程及各种坑解决,吐血之作(超详细超简单教程)[通俗易懂]iPhone解锁ID超详细教程及各种坑解决,吐血之作目录iPhone解锁ID超详细教程及各种坑解决,吐血之作一、工具下载二、工具安装三、操作教程这是安装多个苹果版本及虚拟机版本后成功的教程,由于资源上传到百度云盘下载只有几十KB,所以为了大家能够尽快的体验上苹果系统,文章中涉及的所有工具请大家加QQ群进行交流下载:1064543120一、工具下载准备一台Windows系统电脑 准备一个>2G存储U盘 下载群文件中balenaEtcher-Se…

    2026年2月19日
    5
  • Spring Aop、拦截器、过滤器的区别[通俗易懂]

    Spring Aop、拦截器、过滤器的区别[通俗易懂]Spring Aop、拦截器、过滤器的区别

    2022年4月22日
    95
  • 狂神说Linux_狂神说java

    狂神说Linux_狂神说javaLinux在服务器端,很多大型项目都是部署在Linux服务器上利用VM + Centos7搭建本地Linux系统你可以使用 man [命令]来查看各个命令的使用文档,如 :man cp。概念云服务器就是一个远程电脑Linux中一切皆文件根目录/,所有的文件都挂载在这个节点下/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev : dev是Device(设备

    2022年8月8日
    8
  • 台式机通过网线共享笔记本电脑无线网络

    台式机通过网线共享笔记本电脑无线网络台式机通过网线共享笔记本电脑无线网络的步骤 1 保证笔记本通过 无线网络连接 可以正常上网 2 将台式机通过网线和笔记本连接 3 将笔记本的 本地连接 和 无线网络连接 的 ipv4 均设置为自动获取 4 打开笔记本的 无线网络连接 属性 共享 勾选 允许其他网络用户共享 如下图 5 允许共享点击 确定 后 笔记本的 本地连接 的 IP 会自动变更为如下状态

    2026年3月18日
    2
  • Spring batch教程 之 配置Step「建议收藏」

    Spring batch教程 之 配置Step「建议收藏」正如在BatchDomainLanguage中叙述的,Step是一个独立封装域对象,包含了所有定义和控制实际处理信息批任务的序列。这是一个比较抽象的描述,因为任意一个Step的内容都是开发者自己编写的Job。一个Step的简单或复杂取决于开发者的意愿。一个简单的Step也许是从本地文件读取数据存入数据库,写很少或基本无需写代码。一个复杂的Step也许有复杂的业务规则(取决于所实现的方式),并作

    2022年5月28日
    39
  • Pythonmatplotlib_matplotlib中文手册

    Pythonmatplotlib_matplotlib中文手册一份非常好的Matplotlib教程,留给自己看。

    2022年8月1日
    8

发表回复

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

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