接入指南
产品描述
1、在发票云系统配置好企业方查询销售单明细、推送发票信息给企业方的接口,再按照发票云给定的生成二维码规则组装好二维码链接,客户在扫二维码的时候发票云通过二维码中的订单号和鉴权参数调用企业方查询明细接口获取销售单信息显示到手机端,用户填写好购方信息后提交到发票云进行开票,在通过推送接口将发票信息推送给企业方。
2、支持开票类型:数电票(普票)、数电票(专票)、专用发票、普通发票、卷式发票、电子发票、电子专票 (税务 ukey才能开具)
时序图
测试方式
二维码链接规则说明
正式地址:http://piaozone.com/scan/tyqr?k=key,ddh,je,timestamps,md5,$
测试地址:http://api-sit.piaozone.com/sacn/tyqr?k=key,ddh,je,timestamps,md5,$
key :门店id,由票无忧分配
ddh :小票单号
je: 小票金额
timestamps:二维码时间戳
md5: MD5 签名,详见 2 MD5说明
注意:最后面这个$符号写死就行
MD5说明
MD5(KEY+ DDH + MD5(public_key+ DDH) + JE)
第一步:
MD5_1 =MD5(public_key + DDH)
第二步:
MD5_2 =MD5(KEY + DDH + MD5_1 + JE)
附:
1、public_key 由票无忧分配,每个税号分配一对
2、public_key 由key关联查询
接口定义
接口地址:自行定义必须http请求。
支持格式:json/xml
请求方式:GET
1 、获取开票明细数据(具体参考调用实例)
Params 参数说明
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
SaleNo | string | 是 | 销售单号,根据单号请求明细 |
Timestamp | string | 是 | 时间戳精确至时分秒,可不校验 |
返回结果:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
buyerFixedTelephone | string | 否 | 购买方固定电话 |
buyerAddress | string | 否 | 购买方地址 |
buyerName | string | 否 | 购买方名称 |
buyerTaxNo | string | 否 | 购买方税号 |
buyerBank | string | 否 | 购买方银行名称 |
buyerAccount | string | 否 | 购买方银行账号 |
buyerMobilePhone | string | 否 | 购买方手机 |
buyerEmail | string | 否 | 购买方邮箱 |
name | string | 是 | 商品名称 |
qrty | string | 是 | 数量 |
mount | decimal | 是 | 金额 |
character | int | 是 | 行类型0-正常行;1-折扣行;2-被折扣行 |
taxFlag | int | 是 | 含税标志是否含税(0-不含税 1-含税) |
taxRate | decimal | 是 | 税率( 两位小数) |
taxNumber | string | 是 | 税收类别编码 |
spec | string | 否 | 规格型号 |
unit | string | 否 | 单位 |
zeroRaxFlag | string | 否 | 零税率标识空-非零税率,1-免税,2,不征税,3普通零税率 |
prePolicy | int | 否 | 优惠政策标识,0-不使用,1-使用 |
vatException | String | 否 | 增值税特殊管理prePolicy为1时必填 (能为空,prePolicy为1时必填) |
ownNumber | String | 否 | 自编码 |
totalDiscount | decimal | 否 | 整单折扣金额 |
remark | String | 否 | 发票备注,长度200 |
msg | String | 否 | 返回详细描述 |
code | int | 否 | 返回码,0 –成功,1-失败 |
(有折扣行,折扣行明细必须在被折扣行下一行,折扣行character为1,被折扣行为2,折扣行金额为负。有零税率,该行明细必须填零税率政策。有优惠政策,优惠政策标识为1,增值税特殊管理必填)
调用实例(参考):
http://220.163.118.50:80/getInvoiceInfo?SaleNo=15390&Timestamp=1558487856824
返回实例:
{
result: 'success',
data: [{
name: '入住押金',
qrty: '1',
mount: 900,
character: 0,
taxFlag: 1,
taxRate: 0.16,
taxNumber: '3040801010000000000',
spec: '',
unit: '',
zeroRaxFlag: '',
prePolicy: 0,
vatException: '',
ownNumber: ''
}],
buyerInfo: {
buyerName: '金蝶',
buyerTaxNo: '',
buyerAddress: '',
buyerFixedTelephone: '',
buyerAccount: '',
buyerMobilePhone: '',
buyerBank: '',
buyerEmail: ''
},
totalDiscount: '整单折扣金额 ',
remark: '发票备注',
msg: '获取开票信息成功',
code: 0,
success: true
}
2 、返回开票信息
支持格式:json/xml
请求方式:post
开票成功后返回的发票参数说明:
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
SaleNo | string | 是 | 销售单号 |
InvoiceType | string | 是 | 发票类型 PT普通/ZY专用/DZ电子 |
InvoiceSouce | string | 是 | 开票来源 1-扫码/2-小程序 |
InvoiceTitl | string | 是 | 发票抬头 |
InvoiceAmount | decimal | 是 | 开票金额 |
InvoiceTime | datetime | 是 | 开票时间 |
InvoiceNo | string | 否 | 发票号码 |
InvoiceCode | string | 否 | 发票代码 |
TaxNo | string | 否 | 税务号 |
InvoiceBank | string | 否 | 客户银行账号 |
InvoiceAddr | string | 否 | 客户地址电话 |
InvoiceUrl | string | 否 | 发票PDF文件URL |
Timestamp | string | 是 | 时间戳精确至时分秒 |
调用实例:
{
InvoiceAddr: '',
TaxNo: 914403006188392540,
SaleNo: 'd386c86e831e434dab3b5e1c043826b7',
InvoiceUrl: 'https://down.szhtxx.cn/downPdf/440301999999980/2018/12/06/15647920181206091233.pdf',
InvoiceTitle: '金蝶软件(中国)有限公司',
InvoiceBank: '',
InvoiceNo: '88500150',
InvoiceAmount: '900.00',
OpenId: 'oJaBa1GjGUdNaUQuBfalnWoN-rpE',
Timestamp: 1544058754788,
InvoiceType: 'DZ',
InvoiceTime: '2018-12-0609:12:34',
InvoiceCompany: '航信培训企业',
InvoiceCode: '044033500114'
}
返回结果:
自行定义