如何指定发票

沙箱环境

url: https://sandbox.nuonuocs.cn/open/v1/services
appKey: SD63236305
appSecret: SDDED2523BED4643

第一,首先进入诺诺官网,完成注册登录。

第二,点击文档中心->开发者文档,点击常用工具->进入SDK中心引入依赖。

第三,点击文档中心->API文档,点击发票查询->点击开票结果查询接口

第四,完成InvoiceTokenController的编写->开发票

@PostMapping("addInvoice1")
// 对接诺诺的开票接口
public String makeInvoice(@RequestParam String orderNos){
    String method = "nuonuo.ElectronInvoice.requestBillingNew";
    // 沙箱环境下token可以为空
    String token = "";
    String content = "{\"order\":"
            // 发票明细
            + "{\"invoiceDetail\":[" + "{"
            // 税率
            + "\"taxRate\":\"" + InvoiceConstants.TAX_RATE + "\","
            // 发票行性质:0,正常行;1,折扣行;2,被折扣行
            + "\"invoiceLineProperty\":\"" + InvoiceConstants.INVOICE_LINE_PROPERTY+ "\","
            + "\"selfCode\":\"" + "服务" + "\","
            //服务名
            + "\"listName\":\"" + "企业" + "\","
            //产品类型
            + "\"specType\":\"" + InvoiceConstants.SPEC_TYPE + "\","
            // 商品名
            + "\"goodsName\":\"" + "水费"+ "\","
            + "\"goodsCode\":\"" + "3040801"+ "\","
            // 不含税金额
            + "\"taxExcludedAmount\":\"" + 1 + "\","
            // 单价含税标志 0 不含税 1 含税
            + "\"withTaxFlag\":\"" + InvoiceConstants.WITH_TAX_FLAG + "\","
            // 数量
            + "\"num\":\"" + 1 + "\","
            // 税额 [不含税金额] * [税率] = [税额]
            + "\"tax\":\"" + InvoiceConstants.TAX + "\","
            // 单位
            + "\"unit\":\"" + "无锡极客" + "\","
            // 扣除额,差额征税时填写
            + "\"deduction\":\"" + 0 + "\","
            // 单价(精确到小数点后8位)
            + "\"price\":\"" + 1 + "\"}],"
            // 购方名称 Y
            + "\"buyerName\":\"" + "无锡极客信息技术有限公司" + "\","
            // 购方地址 N
            + "\"buyerAddress\":\"" + "江苏省无锡市新吴区无锡极客营" + "\","
            // 购方税号(企业要填,个人可为空) N
            + "\"buyerTaxNum\":\"" + "1111111111" + "\","
            // 开票类型:1:蓝票;2:红票
            + "\"invoiceType\":\"" + InvoiceConstants.INVOICE_TYPE + "\","
            // 发票种类
            + "\"invoiceLine\":\"" + InvoiceConstants.INVOICE_LINE + "\","
            // 清单标志:非清单:0;清单:1,默认:0,电票固定为0
            + "\"listFlag\":\"" + InvoiceConstants.LIST_FLAG + "\","
            // 推送方式:-1,不推送;0,邮箱;1,手机(默认);2,邮箱、手机
            + "\"pushMode\":\"" + InvoiceConstants.PUSH_MODE + "\","
            // 购方手机(开票成功会短信提醒购方,不受推送方式影响) Y
            + "\"buyerPhone\":\"" + "****" + "\","
            // 邮箱地址,沙箱环境也可以发送
            + "\"email\":\"" + "1234@qq.com" + "\","
            // 开票员id(诺诺系统中的id) N
            + "\"clerkId\":\"" + "1" + "\","
            + "\"payer\":\"" + "aaa" + "\","
            // 销售方银行账号和开户行地址
            + "\"salerAccount\":\"" + InvoiceConstants.TEST_SALER_ACCOUNT + "\","
            + "\"salerAddress\":\"" + InvoiceConstants.TEST_SALER_ADDRESS + "\","
            // 订单号(每个企业唯一) Y
            + "\"orderNo\":\"" + orderNos + "\","
            // 销方电话
            + "\"salerTelr\":\"" + InvoiceConstants.TEST_SALER_TEL + "\","
            // 订单时间 Y
            + "\"invoiceDate\":\"" + "2016-01-13 12:30:00" + "\","
            // 开票员 Y
            + "\"clerk\":\"" + "张三" + "\","
            //复核
            + "\"checker\":\"" + "张三" + "\","
            //收款人
            + "\"payee\":\"" + "张三" + "\","
            // 分机号(只能为空或者数字)
            + "\"extensionNumber\":\"" + "0" + "\","
            // 销方税号
            + "\"salerTaxNum\":\"" + "339901999999142" + "\""+
            "}}";
    String senid = UUID.randomUUID().toString().replace("-", ""); // 唯一标识,由企业自己生成32位随机码
    // 接口调用
    NNOpenSDK sdk = NNOpenSDK.getIntance();
    String result = sdk.sendPostSyncRequest(InvoiceConstants.TEST_URL, senid, InvoiceConstants.TEST_APP_KEY, InvoiceConstants.TEST_APP_SECRET, token, InvoiceConstants.TEST_SALER_TAX_NUM,InvoiceConstants.APPLY_METHOD, content);
    return result;
}

查询发票

@GetMapping("selectInvoice" )//orderNos 订单编号 serialNos 发票流水号
    public String selectInvoice(@RequestParam String orderNos,String serialNos) {
        //是否需要提供明细
        String isOfferInvoiceDetail = "1";
        NNOpenSDK sdk = NNOpenSDK.getIntance();
        String token = "";
        String content ="{"
                     + "isOfferInvoiceDetail:" + isOfferInvoiceDetail + ","
                     + "orderNos:" + orderNos + ","
                     + "serialNos:" + serialNos
                     +"}";
    System.out.println(content);
    String senid = UUID.randomUUID().toString().replace("-", "");

    //查询发票/   参数/   沙箱请求地址  senid/   appKey【消息体】   授权码【消息头】 token  查询发票的API方法名
    String result = sdk.sendPostSyncRequest(InvoiceConstants.TEST_URL, senid, InvoiceConstants.TEST_APP_KEY, InvoiceConstants.TEST_APP_SECRET, token, InvoiceConstants.TAX_NUM, InvoiceConstants.APPLY_METHOD1, content);
    return result;
}

第五,在apifox上面完成测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值