搜索结果

×

搜索结果将在这里显示。

查询开票详情

接口说明

接口描述:商户通过该接口查询开票状态和成功开票时的详细信息,支付网关会返回最新的数据。

适用对象:特约商户

请求URL:https://pay.yintongzaixian.com/api/invoice/query

请求方式:POST

请求类型:application/json 或 application/x-www-form-urlencoded

请求参数

字段名 变量名 必填 类型 示例值 描述
商户号 mchNo 是 String(30) M1621873433953 商户号
应用ID appId 是 String(24) 60cc09bce4b0f1c0b83761c9 应用ID
发票单号 invoiceOrderId 否 String(30) FP1789129338202107906 支付网关生成的发票单号,与mchOrderNo二者传一即可
商户开票单号 mchOrderNo 否 String(30) 1715412578007 商户开票单号,与invoiceOrderId二者传一即可
请求时间 reqTime 是 long 1622016572190 请求接口时间,13位时间戳
接口版本 version 是 String(3) 1.0 接口版本号,固定:1.0
签名 sign 是 String(32) C380BEC2BFD727A4B6845133519F3AD6 签名值,详见签名算法
签名类型 signType 是 String(32) MD5 签名类型,目前只支持MD5或RSA2方式

请求示例数据

{
    "appId": "653b67b90d14f66aa119a518",
    "sign": "FFDF7695ECF250BD68D432CE26326BC8",
    "signType": "MD5",
    "reqTime": "1715413704",
    "mchNo": "M1698391993",
    "version": "1.0",
    "invoiceOrderId": "FP1770009488532013057"
}

返回参数

字段名 变量名 必填 类型 示例值 描述
返回状态 code 是 int 0 0-处理成功,其他-处理有误,详见错误码
返回信息 msg 否 String(128) 签名失败 具体错误原因,例如:签名失败、参数格式校验错误
签名信息 sign 否 String(32) CCD9083A6DAD9A2DA9F668C3D4517A84 对data内数据签名,如data为空则不返回
返回数据 data 否 String(512) {} 返回下单数据,json格式数据

data数据格式

字段名 变量名 必填 类型 示例值 描述
发票单号 invoiceOrderId 是 String(30) P12021022311124442600 支付系统发票单号
商户号 mchNo 是 String(30) M1621873433953 商户号
商户开票单号 mchOrderNo 是 String(30) 20160427210604000490 返回商户传入的开票单号
含税开票金额 amount 是 int 100 含税开票金额,单位分
税额 feeAmount 是 BigDecimal 1 开票税额,单位分
开票状态 state 是 int 2 开票状态:0-订单生成,1-开票中,2-开票成功,3-开票失败,4-开票任务关闭,5-已冲红,6-已作废
渠道发票单号 channelInvoiceOrderNo 否 String 20160427210604000490 对应渠道发票单号
购方信息 buyerInfo 否 String(256) {} 购方信息json字符串,具体字段见下方说明
发票详细信息 invoiceInfo 否 String(256) {} 发票详细信息json字符串,具体字段见下方说明
商品信息 goodsList 否 String(256) [{}] 商品信息,jsonArray字符串,具体字段见下方说明
开票链接地址 channelInvoiceQrcodeUrl 否 String(128) http://www.jeequan.com/pay.html 开票链接地址
开票链接失效时间 expiredTime 否 String(30) 2024-05-15 00:00:00 开票链接失效时间
渠道错误码 errCode 否 String 1002 渠道下单返回错误码
渠道错误描述 errMsg 否 String 134586944573118714 渠道下单返回错误描述
备注 remark 否 String(256) 134586944573118714 备注
创建时间 createdAt 是 long 1622016572190 订单创建时间,13位时间戳

购方信息说明

字段名 变量名 必填 类型 示例值 描述
购方名称 buyerName 是 String(20) 张三 购方开票名称
购方税号 taxNo 否 String(128) abcde12345 购方开票税号
购方地址 address 否 String(20) 河北省沧州市解放西路华商大厦 购方地址
购方固定电话 telphone 否 String(20) 0317-xxx 购方固定电话
开户行 bankName 否 String(20) 中国农业银行 开户行
开户账号 bankAccount 否 String(20) 62xxxxx 开户账号
交付手机 pushPhone 否 String(20) 131xxxx 交付手机
交付邮箱 pushEmail 否 String(20) xx@xx.xx 交付邮箱

发票详细信息说明,开票成功时返回响应信息

字段名 变量名 必填 类型 示例值 描述
发票代码 invoiceCode 是 String(30) 张三 发票代码
发票号码 invoiceNo 是 String(30) abcde12345 发票号码
数电发票号码 digitInvoiceNo 否 String(30) abcde12345 数电发票号码
发票密文 invoiceCipher 否 String(256) xxx 发票密文
发票下载地址 einvoiceUrl 是 String(20) http 发票下载地址,访问可下载发票
红字发票号码 redInvoiceNo 否 String(20) xxxxx 红字发票号码

商品信息说明

字段名 变量名 必填 类型 示例值 描述
商品ID goodsId 是 String(64) 65f951200d14521d34c0757b 商品唯一ID
商品名称 goodsName 是 String(64) 玉米 商品名称
税收分类编码 goodsCode 否 String(32) 1010101030000000000 税收分类编码
税收分类简称 goodsClassify 否 String(20) xxx 税收分类简称
商品单价 goodsPrice 否 BigDecimal 2.00000000 商品单价,单位元
商品数量 goodsNum 否 BigDecimal 0.1050 商品数量
商品小计 totalPrice 否 String(20) 0.21 商品小计,单位元
商品税率 goodsTaxRate 否 String(20) 9 商品税率,枚举值: 0, 1, 3, 5, 6, 9, 13,分别对应: 0%, 1%, 3%...
商品税额 goodsTaxAmount 否 BigDecimal 0.00 商品税额,单位元
零税率标识 freeTaxMark 否 byte 0 零税率标识, 0-无 1-出口免税和其他免税优惠政策 2-不征增值税 3-普通零税率
规格型号 goodsSpecification 否 String(20) xxx 规格型号
计量单位 goodsUnit 否 String(20) 斤 计量单位
特殊票种标记 invoiceSpecialMark 否 String(20) 00 特殊票种标记,00:普通发票 01:不动产租赁服务发票 02:农业发票 03:建筑服务发票 06:抵扣通行费 07:其他通行费 08:成品油

返回示例数据

{
    "code": 0,
    "data": {
        "amount": 21,
        "buyerInfo": "{\"buyerName\":\"河北计全科技有限公司\",\"pushPhone\":\"132xxxxxxxx\",\"taxNo\":\"91XXXXXXXXX\"}",
        "channelInvoiceOrderNo": "fa143b2231d34d2b935ef8aff176db47",
        "channelInvoiceQrcodeUrl": "",
        "feeAmount": 0E-10,
        "goodsList": "[{\"freeTaxMark\":0,\"goodsClassify\":\"玉米\",\"goodsCode\":\"1010101030000000000\",\"goodsId\":\"65f951200d14521d34c0757b\",\"goodsName\":\"玉米\",\"goodsNum\":0.1050,\"goodsPrice\":2.00000000,\"goodsTaxAmount\":0.00,\"goodsTaxRate\":9,\"goodsUnit\":\"斤\",\"invoiceSpecialMark\":\"00\",\"totalPrice\":0.21}]",
        "invoiceInfo": "{\"einvoiceUrl\":\"http://fp.baiwang.com/fp/d?d=2197F8FAF1E5110FE0DB7C8145DDB9F76E93D2EE951BAE52F104FC59AA25FC8A\",\"invoiceCode\":\"011077890011\",\"invoiceNo\":\"06569890\"}",
        "invoiceOrderId": "FP1770009488532013057",
        "state": 2
    },
    "msg": "SUCCESS",
    "sign": "3A8FF74B7C86BCA234BEB77C814B29A2"
}

SDK调用示例(Java):

JeepayClient jeepayClient = JeepayClient.getInstance(Jeepay.appId, Jeepay.apiKey, Jeepay.getApiBase());
InvoiceOrderQueryRequest request = new InvoiceOrderQueryRequest();
InvoiceOrderQueryReqModel model = new InvoiceOrderQueryReqModel();
model.setMchNo(Jeepay.mchNo);                           // 商户号
model.setAppId(jeepayClient.getAppId());                 // 应用ID

request.setBizModel(model);
try {
    InvoiceOrderQueryResponse response = jeepayClient.execute(request);
    _log.info("验签结果:{}", response.checkSign(Jeepay.apiKey));
    if (response.isSuccess(Jeepay.apiKey)) {
        _log.info("data:{}", response.getData());
    } else {
        _log.info("请求失败:mchNo={}, msg={}", Jeepay.mchNo, response.getMsg());
    }
} catch (JeepayException e) {
    _log.error(e.getMessage());
}