【电子回单】宁波银行直连版(NBCB_DC)回单配置指南

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

【电子回单】宁波银行直连版(NBCB_DC)回单配置指南

    宁波银行推送电子回单的方式,是电子回单代理程序向宁波银行前置机发送回单下载的请求,交易成功之后,银行返回回单文件的文件地址,通过URL将回单文件存到本地。

一、回单代理程序 - 配置项 - 银行配置

    在回单平台 - 配置项 - 系统配置页面 - 启用银行插件列表中,勾选“宁波银行直连版(NBCB_DC)”后,点【保存】按钮,在银行配置页面,“--请选择银行--”下拉列表中就可以选择到这个插件并进行配置了。 

1. 部分配置项可以参考银企平台的配置

  • 银行前置机IP地址:对接的银行前置机所在服务器IP地址

  • 银行前置机端口:对接的银行前置机服务的端口号

  • 用户登录ID:企业在宁波银行柜面银企直联开户后可以得到一个网银客户号

  • 银企直联密码:用户银企直联密码,免登陆可以不用填写

  • 签名端口:请求报文签名端口(咨询银行)

       以上配置项可以参考 银企平台 - 系统配置 - 前置机配置页面(选择宁波银行直连版(NBCB_DC))的配置,如下图所示:


2. 代理IP和代理端口

  • 代理IP:用于内网访问代理的IP

  • 代理端口:用于内网访问代理的端口

    非必填项,默认可以不配置。

3. 是否需要登录验证

    咨询银行下载回单是否需要登陆验证。新客户一般不需要登录验证,所以配置为“否”即可。

4. 银行概要文件编码方式

    用于解析文件处理回单,可选择GBK或者UTF-8。默认值(GBK)。

    默认值GBK。如果从日志中看到概要文件无法解析或乱码,可以换成UTF-8再验证。

5. 回单下载地址

    银行提供,根据银行提供的地址填写。如对接宁波银行的测试环境一般配置为:https://open-test.nbcb.com.cn:61027,如果是对接宁波银行的生产环境,配置为  https://mybank.nbcb.com.cn  或https://cb.nbcb.com.cn。默认值(https://mybank.nbcb.com.cn)

6. 测试日期

    银行提供,正式环境为空。格式yyyyMMdd(如:20240412)。

    在对接宁波银行测试环境进行测试的时候,银行可能会让下载未来日期的回单,但回单平台不支持创建未来日期的任务,那么就需要配置测试日期了。


7. 当日回单调度配置

  • 是否获取当日回单:获取当日回单功能,能够下载当天的回单文件,如果选择"是"请对下方【[当日回单创建]任务调度配置】进行设置。

  • 宁波银行[当日回单创建]任务调度配置:电子回单[当日回单创建]任务,每天自动创建所有[电子回单账号]的当天的回单任务,并且每个调度都会重置[失败]、[下载成功]状态的任务为[创建]。因当日电子回单对系统性能影响较大,请根据具体情况合理设置调度周期。


8. 匹配码规则

    匹配码是电子回单和交易明细匹配的唯一标识,请与银企平台-业务管理-银行业务配置-交易明细的匹配码保持一致。

    注意:银行提供的压缩包文件中包含‘receipt_v2.txt’文件才可以选择‘账号_日期_电子回单号_交易金额_明细序号_借贷标识’格式的匹配码。默认值(账号_日期_电子回单号_交易金额)

二、任务的[创建]->[预处理] ->[下载] ->[扫描]阶段

    为了快速的看到效果,可以在[配置项 - 银行配置]页面,将“宁波银行直联版电子回单调度方式”修改为“测试使用”(测试调度仅需要大约4分钟就可以完成一次调度)。修改并保存后,在[模块管理]页面重启【回单模块】生效。

1. 创建调度

    自动创建所有回单账号的前一天的回单任务。

    刚部署的情况下是没有任务的,可以点【+添加任务】按钮手动添加一个任务进行测试。


2. 预处理调度

    第一步,根据任务的账号、交易日期、交易序列号serialNo等信息调用客户回单信息查询(srv193_accountReceiptQuery)接口,调用成功之后原样返回交易序列号serialNo;

    第二步,等待一分钟银行生成生成回单文件,再根据查询序号JYXH(srv193接口的serialNo字段的值)信息调用回单生成状态查询(srv194_queryReceiptOrder)接口获取到文件地址WJDZ(命名规则:file/请求日期/dlReceipt/网银客户号+银行账号/xxxxxxxxxxxxxx_交易日期.zip)

    第三步,通过URL连接(生产环境是 https://mybank.nbcb.com.cn/file/请求日期/dlReceipt/网银客户号+银行账号/xxxxxxxxxxxxxx_交易日期.zip )将zip压缩包下载到\tempPath\NBCB_DC目录下并进行解压zip,获取pdf回单文件和概要文件。

    第四步,读取到概要文件中的电子回单号、交易金额等信息,拼接成回单文件名,文件名规则为“账号_日期_电子回单号_交易金额”,并对解压后的pdf回单文件进行重命名。   

    预处理调度结束后,可点击任务的【详情】查看回单的文件名,如下图所示:

    

    签名请求和响应报文、登录(srv001_signOn)请求和响应报文、客户回单信息查询(srv193_accountReceiptQuery)请求和响应报文、回单生成状态查询(srv194_queryReceiptOrder)请求和响应报文如下:

说明:

1)“是否需要登录验证”配置为“是”的情况下才会调用登录(srv001_signOn)接口。

2)调用登录客户回单信息查询、回单生成状态查询接口前都需要先进行签名。

2024-04-28 16:20:00.027  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——交易URL:http://xxx.xxx.xxx.xxx:9080/directlink/httpAccess
2024-04-28 16:20:00.028  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.utils.SignUtil     : 宁波银行——签名请求:<?xml version="1.0" encoding="GBK"?>
<msg>
    <msg_head>
        <msg_type>0</msg_type>
        <msg_id>1005</msg_id>
        <msg_sn>0</msg_sn>
        <version>1</version>
    </msg_head>
    <msg_body>
        <origin_data_len>165</origin_data_len>
        <origin_data>
            <opReq>
                <serialNo>1784497781059092480</serialNo>
                <reqTime>20240428162000</reqTime>
                <ReqParam>
                    <userID>9xxxxxxxx8</userID>
                    <userPWD>xxxxxxxxxx</userPWD>
                </ReqParam>
            </opReq>
        </origin_data>
    </msg_body>
</msg>
2024-04-28 16:20:02.313  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.utils.SignUtil     : 宁波银行——签名响应:<?xml version="1.0" encoding="UTF-8"?>
<msg>
    <msg_head>
        <msg_type>1</msg_type>
        <msg_id>1005</msg_id>
        <msg_sn>0</msg_sn>
        <version>1</version>
    </msg_head>
    <msg_body>
        <signed_data>MIIF9gYJ*****************AafywyrFa</signed_data>
    </msg_body>
</msg>

2024-04-28 16:20:02.313  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——登录(srv001_signOn)请求:<?xml version="1.0" encoding="UTF-8"?>
<NBCBEBankData>
    <sessionId>-1</sessionId>
    <serviceId>srv001_signOn</serviceId>
    <customerId>9xxxxxxxx8</customerId>
    <softwareId>002</softwareId>
    <functionId>00</functionId>
    <functionName>login</functionName>
    <opReq>
        <serialNo>1784497781059092480</serialNo>
        <reqTime>20240428162000</reqTime>
        <ReqParam>
            <userID>9xxxxxxxx8</userID>
            <userPWD>xxxxxxxxxx</userPWD>
        </ReqParam>
    </opReq>
    <signData>MIIF9*************iAafywyrFa</signData>
</NBCBEBankData>
2024-04-28 16:20:02.811  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——登录(srv001_signOn)响应:<?xml version="1.0" encoding="UTF-8"?>
<NBCBEBankData>
    <serialNo>1784497781059092480</serialNo>
    <sessionId>GQCUIJHIHXJPBTJEDJERCPDMGCDIFODKIIEICCBT</sessionId>
    <retCode>0000</retCode>
    <errorMsg/>
    <opRep>
        <opResult>
            <corpName>XXXXXXXXXXXXXXXXXXX公司</corpName>
        </opResult>
    </opRep>
</NBCBEBankData>
2024-04-28 16:20:02.813  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.utils.SignUtil     : 宁波银行——签名请求:<?xml version="1.0" encoding="GBK"?>
<msg>
    <msg_head>
        <msg_type>0</msg_type>
        <msg_id>1005</msg_id>
        <msg_sn>0</msg_sn>
        <version>1</version>
    </msg_head>
    <msg_body>
        <origin_data_len>166</origin_data_len>
        <origin_data>
            <opReq>
                <serialNo>1784497792740229120</serialNo>
                <reqTime>20240428162002</reqTime>
                <ReqParam>
                    <ZHHA>7xxxxxxxxxxxxxxx4</ZHHA>
                    <ZZH/>
                    <CXRQ>20240415</CXRQ>
                </ReqParam>
            </opReq>
        </origin_data>
    </msg_body>
</msg>
2024-04-28 16:20:04.731  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.utils.SignUtil     : 宁波银行——签名响应:<?xml version="1.0" encoding="UTF-8"?>
<msg>
    <msg_head>
        <msg_type>1</msg_type>
        <msg_id>1005</msg_id>
        <msg_sn>0</msg_sn>
        <version>1</version>
    </msg_head>
    <msg_body>
        <signed_data>MIIF********U1eykMrfxAw==</signed_data>
    </msg_body>
</msg>
2024-04-28 16:20:04.732  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——客户回单信息查询(srv193_accountReceiptQuery)请求:<?xml version="1.0" encoding="UTF-8"?>
<NBCBEBankData>
    <sessionId>GQCUIJHIHXJPBTJEDJERCPDMGCDIFODKIIEICCBT</sessionId>
    <serviceId>srv193_accountReceiptQuery</serviceId>
    <customerId>9xxxxxxxx8</customerId>
    <softwareId>002</softwareId>
    <functionId>01</functionId>
    <functionName>receiptDetail</functionName>
    <opReq>
        <serialNo>1784497792740229120</serialNo>
        <reqTime>20240428162002</reqTime>
        <ReqParam>
            <ZHHA>7xxxxxxxxxxxxxxx4</ZHHA>
            <ZZH></ZZH>
            <CXRQ>20240415</CXRQ>
        </ReqParam>
    </opReq>
    <signData>MIIF9*****************1eykMrfxAw==</signData>
</NBCBEBankData>
2024-04-28 16:20:07.740  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——客户回单信息查询(srv193_accountReceiptQuery)响应:<?xml version="1.0" encoding="UTF-8"?>
<NBCBEBankData>
    <serialNo>1784497792740229120</serialNo>
    <sessionId>GQCUIJHIHXJPBTJEDJERCPDMGCDIFODKIIEICCBT</sessionId>
    <retCode>0000</retCode>
    <errorMsg/>
    <opRep>
        <opResult>
            <YDDM>0000</YDDM>
            <SBYY>调用成功</SBYY>
            <SHMU>4</SHMU>
            <JYXH>DL0296539060</JYXH>
        </opResult>
    </opRep>
</NBCBEBankData>
2024-04-28 16:20:07.741  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 等待一分钟银行生成生成回单文件

2024-04-28 16:21:07.743  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.utils.SignUtil     : 宁波银行——签名请求:<?xml version="1.0" encoding="GBK"?>
<msg>
    <msg_head>
        <msg_type>0</msg_type>
        <msg_id>1005</msg_id>
        <msg_sn>0</msg_sn>
        <version>1</version>
    </msg_head>
    <msg_body>
        <origin_data_len>141</origin_data_len>
        <origin_data>
            <opReq>
                <serialNo>1784498065080582144</serialNo>
                <reqTime>20240428162107</reqTime>
                <ReqParam>
                    <JYXH>1784497792740229120</JYXH>
                </ReqParam>
            </opReq>
        </origin_data>
    </msg_body>
</msg>
2024-04-28 16:21:10.247  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.utils.SignUtil     : 宁波银行——签名响应:<?xml version="1.0" encoding="UTF-8"?>
<msg>
    <msg_head>
        <msg_type>1</msg_type>
        <msg_id>1005</msg_id>
        <msg_sn>0</msg_sn>
        <version>1</version>
    </msg_head>
    <msg_body>
        <signed_data>MIIF***************1yXMxhAH1YPJVo</signed_data>
    </msg_body>
</msg>
2024-04-28 16:21:10.247  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——回单生成状态查询(srv194_queryReceiptOrder)第1次请求:<?xml version="1.0" encoding="UTF-8"?>
<NBCBEBankData>
    <sessionId>GQCUIJHIHXJPBTJEDJERCPDMGCDIFODKIIEICCBT</sessionId>
    <serviceId>srv194_queryReceiptOrder</serviceId>
    <customerId>9xxxxxxxx8</customerId>
    <softwareId>002</softwareId>
    <functionId>02</functionId>
    <functionName>receiptDownload</functionName>
    <opReq>
        <serialNo>1784498065080582144</serialNo>
        <reqTime>20240428162107</reqTime>
        <ReqParam>
            <JYXH>1784497792740229120</JYXH>
        </ReqParam>
    </opReq>
    <signData>MIIF3**********hAH1YPJVo</signData>
</NBCBEBankData>
2024-04-28 16:21:10.704  INFO [NBCB_DC,,1779902501579915264] 10596 --- [pool-3-thread-13] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——回单生成状态查询(srv194_queryReceiptOrder)第1次响应:<?xml version="1.0" encoding="UTF-8"?>
<NBCBEBankData>
    <serialNo>1784498065080582144</serialNo>
    <sessionId>GQCUIJHIHXJPBTJEDJERCPDMGCDIFODKIIEICCBT</sessionId>
    <retCode>0000</retCode>
    <errorMsg/>
    <opRep>
        <opResult>
            <ZLZT>1</ZLZT>
            <WJDZ>file/20240428/dlReceipt/9xxxxxxxxx8xxxxxxxxxxxxxxx4/xxxxxxxxxxxxxx_20240415.zip</WJDZ>
            <SCSJ>20240428162006</SCSJ>
        </opResult>
    </opRep>
</NBCBEBankData>


获取到文件地址WJDZ(命名规则:file/请求日期/dlReceipt/网银客户号+银行账号/xxxxxxxxxxxxxx_交易日期.zip)后,通过URL连接(生产环境是 https://mybank.nbcb.com.cn/file/请求日期/dlReceipt/网银客户号+银行账号/xxxxxxxxxxxxxx_交易日期.zip )将zip压缩包下载到\tempPath\NBCB_DC目录下并进行解压zip,获取pdf回单文件和概要文件。
然后读取到概要文件中的电子回单号、交易金额等信息,拼接成回单文件名,文件名规则为“账号_日期_电子回单号_交易金额”,并对pdf回单文件进行重命名。


    下载到的zip压缩文件类似下面这样:

    回单概要文件的内容说明如下(4.25号晚上升级之后才会返回receuot_v2.txt):

3. 下载调度

    在下载调度阶段,将下载到\tempPath\NBCB_DC\的pdf回单移动到扫描工作路径\scanPath\NBCB_DC下。至此,下载调度结束。

4. 扫描调度

     对下载到scanPath\NBCB_DC\目录的文件进行扫描,解析出结构化数据保存到回单库的表中同时将文件保存到bakPath\NBCB_DC\目录下。扫描调度结束后,可点击回单任务的【结果】查看回单的结构化数据。如下图所示:


三、常见问题

    

 1、任务失败,异常信息提示“获取参数异常

    此时查看回单日志,可以看到如下日志:

2024-04-26 06:02:54.080  INFO [NBCB_DC,,1783163992982683648] 13248 --- [pool-3-thread-36] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——客户回单信息查询(srv193_accountReceiptQuery)响应:

<?xml version="1.0" encoding="UTF-8"?>

<NBCBEBankData>

    <serialNo>1783617669832900608</serialNo>

    <sessionId>-1</sessionId>

    <retCode>mc.entfinbank.account-management.accounts.0054</retCode>

    <errorMsg>获取参数异常</errorMsg>

    <opRep>

        <opResult>

            <YDDM></YDDM>

            <SBYY></SBYY>

            <JYXH></JYXH>

            <SHMU></SHMU>

        </opResult>

    </opRep>

</NBCBEBankData>


分析解答:

    咨询银行老师,答复当没有回单时会提示这个信息,后续银行方应该会优化该提示。


2、任务失败,异常信息提示“该回单当天查询次数过多

    此时查看回单日志,可以看到如下日志:

2024-04-24 00:03:07.459  INFO [NBCB_DC,,1782439217142431744] 13248 --- [pool-3-thread-52] c.k.bos.bank.nbcb.dc.job.NbcbDcFetchJob : 宁波银行——客户回单信息查询(srv193_accountReceiptQuery)响应:

<?xml version="1.0" encoding="UTF-8"?>

<NBCBEBankData>

    <serialNo>1782802359684956160</serialNo>

    <sessionId>-1</sessionId>

    <retCode>mc.entfinbank.account-management.accounts.0055</retCode>

    <errorMsg>该回单当天查询次数过多</errorMsg>

    <opRep>

        <opResult>

            <YDDM></YDDM>

            <SBYY></SBYY>

            <JYXH></JYXH>

            <SHMU></SHMU>

        </opResult>

    </opRep>

</NBCBEBankData>


分析解答:

    咨询银行老师,答复银行方的要求是:每天调用次数不超过总次数100次,频次不要超过5分钟2次。

    如果客户对回单的实时性要求非常高,那么“是否获取当日回单”需要配置为“是”,“[当日回单创建]任务调度配置”的调度周期最小也要设置为5分钟;调度方式使用【自定义】调度,“[预处理]任务调度配置”的调度周期也至少要设置为5分钟,且开始时间从早上9:00~下午5:00(早九晚五,5分钟一次,每小时12次,每天96次)。

    如果客户对回单的实时性要求没那么高的话,调度方式配置为【正式使用】就可以。

【电子回单】宁波银行直连版(NBCB_DC)回单配置指南

宁波银行推送电子回单的方式,是电子回单代理程序向宁波银行前置机发送回单下载的请求,交易成功之后,银行返回回单文件的文件地址,通...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息