发票等相关接口用于接入方应用关于发票创建草稿、申请发票、开票等需求场景, 支撑业务方及公司财务人员的日常运营工作
POST https://apigate.glodon.com/ngtrade/invoice/draft
可通过该接口将用户在接入方系统填写的发票信息, 同步到支付中心, 后续业务人员在支付中心的后台申请相关订单的发票时, 可以直接预读取发票草稿, 不需要重新填写。
参数名 | 参数类型 | 参数含义 | 是否必填 |
---|---|---|---|
b64 | String | JSON报文的Base64编码数据 | 是 |
g_signature | String | 签名 | 是 |
JSON报文格式
{
"inputCharset":"UTF-8",
"signType":"MD5",
"appKey":"35l3AAQv9kByIUKVT7UXR7DdDV8xfPuL",
"type":1,
"orderIds":["365854575212756992","364766295645880320"],
"name":"接口测试普通发票合并开票",
"taxPayerId":"测试",
"registerAddr":"测试",
"registerPhone":"测试",
"taxPayerBank":"",
"bankAccount":"",
"remark":"remark",
"extra":"extra",
"taxRate":0.06,
"checkBy": "checkBy",
"responsibleBy": "responsibleBy",
"products":[
{
"productName":"产品1",
"productAmount":1
},
{
"productName":"产品2",
"productAmount":1
}
],
"address":{
"name": "name",
"mobile":"18901031876",
"address": "hhhhhhhhhhh",
"email":"email"
}
}
JSON字段说明
参数名 | 参数类型 | 参数含义 | 是否必填 |
---|---|---|---|
inputCharset | String | 字符编码, 固定为UTF-8 | 是 |
signType | String | 签名算法, 可选择SHA-256, SHA-1, MD5, 推荐使用SHA-256 | 是 |
appKey | String | 应用Key | 是 |
type | Integer | 发票类型:1为普通发票,2为增值税发票, 3为电子发票 | 是 |
orderIds | JSONArray | 发票关联的交易平台订单ID, 多个订单ID用英文逗号分隔,如"orderIds":["365854575212756992","364766295645880320"] | 是 |
name | String | 单位名称 | 是 |
taxPayerId | String | 税务证号, 长度必须为15、17、18或20位, 且内容必须为字母或数字 | 当type为2时必填 |
registerAddr | String | 注册地址 | 当type为2时必填 |
registerPhone | String | 注册电话 | 当type为2时必填 |
taxPayerBank | String | 开户银行 | 当type为2时必填 |
bankAccount | String | 开户账号 | 当type为2时必填 |
remark | String | 发票备注 | 否 |
extra | String | 扩展属性, 可自定义 | 否 |
taxRate | Float | 税率, 目前只支持0.06, 0.09或0.13 | 否 |
checkBy | String | 复核人 | 否 |
responsibleBy | String | 业务负责人 | 否 |
products | JSON节点 | 发票产品信息,可以包含0或多个产品 | 否 |
products[0].productName | String | 发票产品名称 | 若存在发票产品时必填 |
products[0].productAmount | Integer | 发票产品金额, 单位为分 | 若存在发票产品时必填 |
address.name | String | 收件人姓名 | 若存在发票地址时必填 |
address.mobile | String | 收件人手机 | 若存在发票地址时必填 |
address.address | String | 收件人地址 | 若存在发票地址时必填 |
address.email | String | 收件人电子邮件 | 否, 电子发票可为接收人电子邮件地址 |
curl -v -X POST -d "b64=ewogICAgImlucHV0Q2hhcnNldCI6IlVURi04IiwKICAgICJzaWduVHlwZSI6Ik1ENSIsCiAgICAiYXBwS2V5IjoidnVlY3NneDQ3N0lxRXgydUxENFhRZzVyRkQ1ZmhJbVQiLAogICAgInR5cGUiOjEsCiAgICAib3JkZXJJZHMiOiIyNDQ0OTA1NTg1MzU2NDcyMzIiLAogICAgIm5hbWUiOiLmtYvor5UiLAogICAgInRheFBheWVySWQiOiIiLAogICAgInJlZ2lzdGVyQWRkciI6IiIsCiAgICAicmVnaXN0ZXJQaG9uZSI6IiIsCiAgICAidGF4UGF5ZXJCYW5rIjoiIiwKICAgICJiYW5rQWNjb3VudCI6IiIsCiAgICAicmVjaWV2ZUVpbnZvaWNlQWRkcmVzcyI6IiIsCiAgICAicmVtYXJrIjoicmVtYXJrIiwKICAgICJleHRyYSI6ImV4dHJhIiwKICAgICJ0YXhSYXRlIjowLjA2LAogICAgInByb2R1Y3RzIjpbCiAgICAgICAgewogICAgICAgICAgICAicHJvZHVjdE5hbWUiOiIxMTExMTExMSIsCiAgICAgICAgICAgICJwcm9kdWN0QW1vdW50IjoyCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJwcm9kdWN0TmFtZSI6IjExMTExMTExIiwKICAgICAgICAgICAgInByb2R1Y3RBbW91bnQiOjEKICAgICAgICB9CiAgICBdLAogICAgImFkZHJlc3MiOnsKICAgICAgICAibmFtZSI6ICJuYW1lIiwKICAgICAgICAibW9iaWxlIjoiMTg5MDEwMzE4NzYiLAogICAgICAgICJhZGRyZXNzIjogImhoaGhoaGhoaGhoIiwKICAgICAgICAiZW1haWwiOiJlbWFpbCIKICAgIH0KfQ==" -d "g_signature=97D50C4D85A2C4A3D4FD2C5667707917" https://apigate.glodon.com/ngtrade-test/invoice/draft
HTTP代码 | 说明 | 类型 |
---|---|---|
200 | ok | 无内容 |
{
"code": "000000",
"message": "成功",
"data": "402162410389110784"
}
参数名 | 参数含义 |
---|---|
code | 响应状态码, 000000代表成功, 其余代表失败 |
message | 响应信息 |
data | 发票ID |
GET https://apigate.glodon.com/ngtrade/order/{orderId}/invoice
根据支付中心的订单编号, 查询订单关联的发票
参数名 | 参数类型 | 参数含义 | 是否必填 |
---|---|---|---|
orderId | 订单ID | 是支付系统生成的订单唯一标识 | 是 |
appKey | String | 应用Key | 是 |
inputCharset | String | 字符编码, 固定填写UTF-8 | 是 |
signType | String | 签名算法, 固定填写SHA-256 | 是 |
g_signature | String | 签名 | 是 |
curl -v -X GET "https://apigate.glodon.com/ngtrade-test/order/1/invoice?appKey=vuecsgx477IqEx2uLD4XQg5rFD5fhImT&g_signature=165f265bf1f5c7f2639be5d3ce28c8af927f81c8be898cf2c882d245314b2e47&signType=SHA-256&inputCharset=UTF-8"
HTTP代码 | 说明 | 类型 |
---|---|---|
200 | ok | 无内容 |
{
"code": "000000",
"message": "成功",
"data": {
"id": "442059602561990656",
"appKey": "vuecsgx477IqEx2uLD4XQg5rFD5fhImT",
"type": 3,
"status": 1,
"name": "name",
"payAmount": 10000.00,
"taxPayerId": "taxPayerId",
"registerAddr": "registerAddr",
"registerPhone": "registerPhone",
"taxPayerBank": "taxPayerBank",
"bankAccount": "bankAccount",
"checkBy": "checkBy",
"responsibleBy": "responsibleBy",
"invoiceAmount": 333300.00,
"taxRate": 0.06,
"taxAmount": 19998.00,
"invoiceApplyTime": null,
"invoiceBornTime": null,
"invoiceNumber": null,
"invoiceCode": null,
"remark": "remark",
"merged": 0,
"updateTime": null,
"orders": [
{
"ngtradeOrderId": "1",
"outOrderId": "1",
"payId": 1
}
],
"products": [
{
"productName": "productName1",
"productAmount": 1111.00
},
{
"productName": "productName2",
"productAmount": 2222.00
}
],
"address": {
"name": "1",
"mobile": "1",
"address": "1",
"email": "email"
}
}
}
参数名 | 参数含义 |
---|---|
code | 响应状态码, 000000代表成功 |
message | 响应信息 |
data | 业务数据节点 |
id | 发票ID |
appKey | 应用Key |
type | 1为普通发票,2为增值税发票, 3为电子发票 |
status | 0草稿、1已申请、2已开票、3待作废、4已作废 5已驳回 |
name | 发票名称 |
payAmount | 用户支付金额 |
taxPayerId | 税务证号(增值税发票) |
registerAddr | 注册地址(增值税发票) |
registerPhone | 注册电话(增值税发票) |
taxPayerBank | 开户银行(增值税发票) |
bankAccount | 开户账号(增值税发票) |
checkBy | 复核人 |
responsibleBy | 业务负责人 |
invoiceAmount | 开票合计 |
taxRate | 税率 |
taxAmount | 税金 |
invoiceApplyTime | 申请时间 |
invoiceBornTime | 开票日期 |
invoiceNumber | 发票号 |
invoiceCode | 发票代码 |
remark | 备注 |
merged | 是否为合并开票, 0不是, 1是 |
updateTime | 更新时间 |
orders[0].ngtradeOrderId | 交易订单ID |
orders[0].outOrderId | 业务渠道订单ID |
orders[0].payId | 交易支付流水ID |
products[0].productName | 产品名 |
address[0].name | 收件人姓名 |
address[0].mobile | 收件人手机 |
address[0].address | 收件人地址 |
address[0].email | 收件人电子邮箱 |