# H5链接生成规范

# 接口说明

此接口用于开票二维码生成,开发者可通过此接口在POS机或PC网站上生成开票二维码,消费者扫码后开具发票。

  1. 开放平台二维码页面提供抬头录入、抬头模糊查询服务;
  2. 二维码生成规范支持离线生成;
  3. 此接口配套“商户订单查询”、“开票结果异步通知”接口使用:消费者扫码后点击提交开票按钮时,将通过“商户订单查询”接口查询开发者商户订单数据,开具发票后通过“开票结果异步通知”进行推送。

# 二维码信息

二维码信息包含:高灯开票链接、订单号、下单时间、订单金额、税号、门店号、数据签名。

环境 开票链接
测试环境 https://h5-test.wetax.com.cn/i/开发者简码/[编码参数]
正式环境 https://h5.wetax.com.cn/i/开发者简码/[编码参数]

其中,开发者简码可在高灯云控制台-应用中心-应用管理 (opens new window)中查看。(如果还未创建,请创建应用)

数据项 类型 必填 最大长度(字节) 描述 示例
order_id string 64 商户订单号:开发者接入方业务订单唯一标识(开具蓝票开具时填入值) gd_1904242006002627690
amount int 20 含税总金额【单位:分(如6666指66.66元)】 6666
order_time int 20 秒级时间戳 1512222222
org_code string(30) 100 销方纳税人识别号.门店编号
销方纳税人识别号(销方票面信息):即统一社会信用代码(一般是15、17、18、20位长度位数字或大写字母,字母I、O、S、V、Z除外)
门店编号:请登录“商家平台“-“门店管理”处查看,如果没有配置门店则“.”传空。
注意,销方纳税人识别号与门店编号中间是英文的“.”
91469027MA5RH09M0R.FF104 或91469027MA5RH09M0R.
sign string(32) MD5签名 6489BAB7384F66897F6F63FF84589602

注:数据项名称仅供参考,不做编码使用。

# 数据签名与编码算法

  1. 数据项不使用键名,键值按指定顺序使用#连接,拼接成字符串StringA。 键值顺序为:订单号#订单金额#订单时间#门店号;
  2. 连接字符串StringA与salt,拼接成字符串stringB, 对stringB做MD5加密,生成内容摘要,即数据签名sign,并将签名转为大写;
  3. 连接StringA和Sign,拼接成字符串StringC。Stringc格式为:订单号#订单金额#订单时间#门店号#数据签名; — 请严格按照该顺序拼接数据
  4. 对stringC进行 url encode编码,生成stringD,即为开票链接子路径。

# 签名/验签过程

过程 描述
签名过程 原始报文->生成MD5摘要-> 原始报文+数据摘要-> URLEncoder
解密过程 URLDecoder-> 分解原始报文+数据摘要1->生成数据摘要2->验证数据摘要1和数据摘要2

# 二维码生成实例

数据项
order_id 123456
amount 100
order_time 1530720018
org_code 1001001

appsecret值为: 27QX0ZzHxj9Ex4wRjIcKzT4GmR9RHseWJXBS3urCHr3CqK8F
开发者简码为:gdkj

步骤 说明 描述
1 拼接数据项 123456#100#1530720018#1001001
2 连接salt 123456#100#1530720018#100100127QX0ZzHxj9Ex4wRjIcKzT4GmR9RHseWJXBS3urCHr3CqK8F, 生成md5数据摘要:6489bab7384f66897f6f63ff84589602,转大写:6489BAB7384F66897F6F63FF84589602
3 拼接原始报文和数据摘要 123456#100#1530720018#1001001#6489BAB7384F66897F6F63FF84589602
4 urlencode后形成最终编码参数 123456%23100%231530720018%231001001%236489BAB7384F66897F6F63FF84589602
5 生成Url https://invoice.yewifi.com/i/gdkj/123456%23100%231530720018%231001001%236489BAB7384F66897F6F63FF84589602