利用订单接口实现扫码开票

预计阅读时间: 7 分钟

扫码开票通常是指企业与消费者协同开票,企业负责填写订单的信息,譬如金额、订单号、商品信息等;消费者负责填写抬头信息,这种开票模式大大的降低了企业的工作量,提升了开票效率。

注意

扫码开票可以在调用方自己的系统里面实现,这样的话您需要自己实现二维码扫描,以及客户录入抬头的功能。

也可以采用瑞宏网的扫描开票方案,这会极大降低开发工作量,下面是瑞宏网的实现。

在创建订单创建接口中,有一个 autoBilling 的参数,如果为 false 则只会创建订单,不会执行开票,利用该特性可以实现扫码开票。

同时需要设置一个提取码 scanCodeKey ,扫码之后用户可以输入该提取码进行验证。

同时购货方的纳税人名称、税号、地址电话、开户行账号可以为空。

请求报文示例

{
    "orderNo": "订单编号",
    ...
    ...
    "scanCodeKey": "提取码",
    "autoBilling": "true",
    ...
    ...
}

注意

字段客户名称customerCode不能赋值。

扫码开票

通过订单接口创建的订单,可以用两种方式实现扫码开票,企业可以选择其中一种,也可以两种同时使用。

模式1:动态二维码

  1. 二维码规则

当调用订单创建接口(传入发票抬头customerName为空、自动开票autoBilling字段为false)数据提交成功时(code代码为0),可以根据规则生成二维码信息,消费者可以自行扫描二维码完成发票的开具及查看。

二维码内容规则

生产环境:http://www.chinaeinv.com/scancode/{taxpayerCode}/{orderNo}/{scanCodeKey}

测试环境(需要关注测试公众号):http://www.chinaeinv.com:980/scancode/{taxpayerCode}/{orderNo}/{scanCodeKey}

taxpayerCode: 开票企业税号;

orderNo: 订单号;

scanCodeKey: 提取码

  1. 顾客扫码开票录入界面示例

顾客扫码小票上面的二维码之后,会出现下图所示的界面,顾客只需要输入自己公司的抬头,即可以完成发票开具。

顾客扫码开票

模式2:固定二维码

对于某些无法在小票上面打印二维码的场景,可以在瑞宏网生成一个固定二维码放置在柜台处,以供顾客扫码,扫码之后会提示客户输入订单号和提取码(这些信息通常需要打印到小票上面),输入并且提交之后,将会跳转到上一个图中,提示用户输入抬头并且申请开票。

如需此项功能,请联系瑞宏网工作人员生成二维码。

顾客扫描静态二维码开票

税务总局对扫码开票的要求

商家打印出的二维码小票之后,顾客开完发票之后,可能会随手丢掉,这样就会造成信息泄露,出现风险。因此税局出台规定,要求电子发票平台进行数据安全的校验。

瑞宏网基于总局的要求,安全处理方案如下:

如果顾客在扫码开票的填写页面如果填写了自己的邮箱,二次扫描二维码就必须输入邮箱地址进行校验,如果没有录入邮箱,二次扫描需要录入受票方的企业名称进行校验。

订单接口, 扫码开票, 动态二维码, 固定二维码