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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何卸载赛门铁克symantec,ivanti[通俗易懂]

    如何卸载赛门铁克symantec,ivanti[通俗易懂]1、会安装这个软件的公司大概率不会改密码,默认卸载密码就是:symantec2、如果不幸改了密码,用下面这个软件可以卸载大部分功能链接:https://pan.baidu.com/s/14evQQ1sHh2FCmYjtBBmMqw提取码:luna

    2022年5月2日
    282
  • Python-辨析type/dtype/astype用法

    Python-辨析type/dtype/astype用法Python中与数据类型相关函数及属性有如下三个:type/dtype/astype。名称描述type()返回参数的数据类型dtype返回数组中元素的数据类型astype()对数据类型进行转换type()用于获取数据类型#type用于获取数据类型importnumpyasnpa=[1,2,3]print(type(a))#&gt;&…

    2022年5月29日
    36
  • matlab将两幅图进行融合_matlab拟合三维曲面

    matlab将两幅图进行融合_matlab拟合三维曲面matlab图像融合        [r,c]=size(y1);            %根据低频融合算法进行图像融合fori=1:r            %首先取两幅源图像相应的小波分解系数绝对值最大者的值作为融合图像的分解系数    forj=1:c        if(abs(y1(i,j))>=abs(y2(i,j)))            y3(

    2025年6月17日
    4
  • python3、sqlmap下载与安装教程

    一、前提需要安装python3,可以参考其他教程二、下载官网下载http://sqlmap.org/三、安装将下载的sqlmap.zip解压到文件夹sqlmap中,并拷贝到Python安装路径下四、配置在桌面上创建一个cmd进入python的快捷方式(这步可以不做,只是比较方便启动),右键新建快捷方式输入cmd快捷方式命名可随意,不作要求,这里用sqlmap右键–属性修改起始位置为sqlmap文件夹路径测试启动sqlmap,双击刚才创建的快捷方式,

    2022年4月7日
    240
  • WPA3在2018年为无线安全添砖加瓦

    WPA3在2018年为无线安全添砖加瓦Wi-FiAllianceAnnouncesWPA3,theSuccessortoWi-Fi’sWPA2SecurityProtocolTheWi-FiAlliance–comprising15majorsponsormembers(includingApple,Cisco,Dell,Intel,Microsoft,Qualcomman

    2022年6月8日
    24

发表回复

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

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