电力收费接口.docx

上传人:b****5 文档编号:11815081 上传时间:2023-04-03 格式:DOCX 页数:64 大小:55.47KB
下载 相关 举报
电力收费接口.docx_第1页
第1页 / 共64页
电力收费接口.docx_第2页
第2页 / 共64页
电力收费接口.docx_第3页
第3页 / 共64页
电力收费接口.docx_第4页
第4页 / 共64页
电力收费接口.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

电力收费接口.docx

《电力收费接口.docx》由会员分享,可在线阅读,更多相关《电力收费接口.docx(64页珍藏版)》请在冰豆网上搜索。

电力收费接口.docx

电力收费接口

电力收费接口

 

 

————————————————————————————————作者:

————————————————————————————————日期:

 

 

Enesys燃气抄收系统银行接口规范

 

宁夏哈纳斯天然气有限公司

2006-12-18

1.系统方案

1.1.系统概述

1.1.1.业务

燃气公司委托银行代理普表交费系统包括实时处理业务和批量处理业务两个部分。

其中

实时处理业务包括:

●代扣签约

●实时交费

批量处理业务包括:

●代扣交费请求

●代扣交费清算

●代扣签约清算

●实时交费清算

1.1.2.通讯

实时处理业务采用TCP/IP协议,以SOCKET包进行数据通讯,通讯采用短连接同步方式,每笔业务开始时进行连接,业务结束后结束连接。

实时处理业务由银行端发起请求,银行端发起请求的时间没有限制。

代扣交费以文件进行数据交换。

采用FTP文件索取和发送的方式进行数据交换。

代扣交费请求文件由燃气公司生成,由银行端发起索取请求。

银行端发起索取请求的时间由燃气公司与银行协商确定。

燃气公司与各银行之间的信息交换采用专线物理连接的方式。

为了保证通讯数据的完整性,需要对通讯数据包进行MAC校验。

1.1.3.原则

所有交易按照下面的原则执行

银行方认定交易成功,说明银行正常收到燃气公司交易成功响应,交易肯定成功。

银行方认定交易失败,说明银行没有收到燃气公司交易成功响应,无论燃气公司方交易是否成功,交易肯定失败。

 

1.2.系统网络

 

2.业务概述

2.1.代扣签约业务

2.1.1.概述

代扣签约业务是燃气用户主动建立或取消委托银行代扣燃气使用费的业务。

一个燃气用户在委托银行代扣燃气使用费前,必须建立用户与银行间的代扣关系,否则只能通过其它渠道交纳燃气使用费。

代扣签约业务包括:

●查询签约信息

●代扣签约

●取消代扣签约

●提交代扣签约清算文件

2.1.2.要求

1.代扣签约业务只与居民用户有关,与单位用户和团交用户无关。

2.银行应保留燃气用户与银行间的代扣关系

3.燃气公司保留的燃气用户与银行之间的委托代扣关系,以燃气用户号、银行代码、日期、时间作为键值

4.一个燃气用户只能与一家银行建立有效的代扣关系。

如果先前已经与A银行建立了代扣关系,现在要与B银行建立代扣关系,需要先取消与A银行的代扣关系,然后再与B银行建立代扣关系

5.代扣签约业务发生的日期时间以银行提供的日期时间为准

6.燃气用户必须通过银行渠道完成代扣签约业务

7.燃气用户不能通过本行渠道取消他行的代扣关系

8.燃气用户修改代扣关系必须通过先取消代扣关系,再建立代扣关系的方式完成。

9.银行必须在代扣签约业务发生后的第2个工作日开始前,向燃气公司提供代扣签约清算文件。

燃气公司必须在代扣签约业务发生后的第2个工作日开始前清算完毕,否则对第2个工作日有影响

10.银行提供的代扣签约清算文件中,应只包含银行认为交易成功了的数据,不包含银行认为冲正成功了的数据

11.代扣签约清算以银行提供的清算数据为准

 

2.1.3.流程

2.1.3.1.代扣签约流程

1.用户到银行,输入用户号、银行账号、帐户密码

2.银行发送查询指令到燃气公司查询用户签约信息,到银行后台查询账户信息

3.银行发送代扣签约指令到燃气公司,燃气公司备案

4.银行保存代扣签约信息

2.1.3.2.取消代扣签约

1.用户到银行,输入用户号、银行账号、帐户密码

2.银行发送查询指令到燃气公司查询用户签约信息,到银行后台查询账户信息

3.银行发送取消代扣签约指令到燃气公司,燃气公司备案

4.银行保存代扣签约信息

2.1.3.3.代扣签约清算流程

1.银行生成代扣签约清算文件,并发送到燃气公司指定目录。

2.银行发送清算指令到燃气公司,通知燃气公司,代扣签约清算文件已经成功发送

3.燃气公司根据银行发送的指令,记录代扣签约清算文件信息,并进行清算

 

2.2.代扣交费说明

2.2.1.概述

代扣交费业务是燃气公司根据燃气用户委托银行代扣燃气使用费所建立的关系,向银行提交燃气用户的燃气使用费,银行根据燃气公司提供的数据,从燃气用户的账户中扣除燃气使用费,并将扣除的金额转入燃气公司在银行开设的账户中。

代扣交费业务包括:

●代扣交费请求

●提交代扣交费清算文件

2.2.2.要求

1.代扣交费业务只与居民用户有关,与单位用户和团交用户无关。

2.代扣交费采用等额扣款的方式。

即银行必须按照燃气公司提供的数据记录,逐笔等额扣款。

3.代扣交费包括历史欠费(含滞纳金)和本期欠费(含滞纳金)

4.代扣交费以文件的形式进行数据交换。

代扣交费请求文件由燃气公司负责生成,代扣交费清算文件由银行负责生成。

5.银行端发起代扣交费的时间由燃气公司与银行协商确定。

6.银行必须在代扣交费业务发生后的第2个工作日开始前,向燃气公司提供代扣交费清算文件。

燃气公司必须在代扣交费业务发生后的第2个工作日开始前清算完毕,否则对第2个工作日有影响

7.银行提供的代扣交费清算文件中,应包含全部交易成功或失败了的数据。

即银行必须将燃气公司提交的数据记录全部返回(无论扣款成功还是失败)

8.代扣清算以银行提供的清算数据为准。

9.

 

2.2.3.流程

2.2.3.1.代扣交费请求流程

1.燃气公司生成代扣交费请求文件,保存到指定目录。

2.银行按协议时间指定目录取走代扣交费请求文件

3.银行发送指令到燃气公司,通知燃气公司,代扣交费请求文件已经成功取走

4.燃气公司根据银行发送的指令,登记银行取走代扣交费请求文件信息

2.2.3.2.代扣交费清算流程

1.银行生成代扣交费清算文件,并发送到燃气公司指定目录。

2.银行发送清算指令到燃气公司,通知燃气公司,代扣交费清算文件已经成功发送

3.燃气公司根据银行发送的指令,记录代扣交费清算文件信息,并进行清算

 

2.3.实时交费业务

2.3.1.概述

实时交费业务是燃气用户通过银行渠道主动交纳燃气使用费的业务

实时交费业务包括:

●查询欠费记录

●实时交费确认(交费提交)

●实时交费清算

●查询交费明细

●查询交费发票信息

●交费发票打印确认

●提交实时交费清算文件

2.3.2.要求

1.实时交费业务必须通过银行渠道完成

2.具有代扣关系的用户也可以通过实时交费业务交纳燃气使用费。

3.燃气用户在进行实时交费时,可自愿选择等额交费或交整不找零的交费方式。

4.实时交费采用前不清后不结的原则,即按照时间正排序的原则交费,不可选择性地跨月交费。

5.实时交费业务由银行端发起请求,燃气公司对银行端发起请求的时间没有限制。

6.实时交费业务采用多笔查询响应,多笔合计交费确认的方式

7.当燃气公司对银行的交费确认交易发出成功响应后,对应的交费记录应处于待清算状态。

待清算的交费记录不属于欠费记录

8.燃气公司对银行发起的实时交费冲正交易,一律认为银行端已经冲正成功。

燃气公司端冲正成功的交费记录处于待交费状态,可以继续交费。

9.单位用户与团交用户只能在银行柜台进行等额现金交费。

10.燃气用户如果是通过银行柜台交费,并且交费成功,银行应立即打印交费收据。

如果通过银行的其它渠道(电话银行、自助终端等)交费成功,银行应当给予补打发票。

11.银行必须在实时交费发生后的第2个工作日开始前,向燃气公司提供实时交费清算文件。

燃气公司必须在代交费业务发生后的第2个工作日开始前清算完毕,否则对第2个工作日有影响

12.银行提供的实时交费清算文件中,应只包含实时交费交易成功了的数据,不包含银行认为冲正成功了的数据

13.实时交费清算以银行提供的清算数据为准。

2.3.3.流程

2.3.3.1.实时交费确认流程

1.用户到银行,输入用户号

2.银行发送查询指令到燃气公司,查询用户欠费信息

3.银行根据前不清后不结的原则选择应交费月份,交纳燃气使用费

4.银行发送交费确认指令到燃气公司,燃气公司备案等待清算

5.银行保存实时交费确认信息

2.3.3.2.实时交费清算流程

1.银行生成实时交费清算文件,并发送到燃气公司指定目录。

2.银行发送清算指令到燃气公司,通知燃气公司,实时交费清算文件已经成功发送

3.燃气公司根据银行发送的指令,记录实时交费清算文件信息,并进行清算

2.3.3.3.实时交费打印发票确认流程

1.银行发送查询交费发票信息指令到燃气公司

2.银行发送打印交费确认指令到燃气公司,燃气公司备案等待清算

3.银行保存打印交费确认信息

2.3.3.4.实时交费发票清算流程

1.银行生成实时交费发票清算文件,并发送到燃气公司指定目录。

2.银行发送清算指令到燃气公司,通知燃气公司,实时交费发票清算文件已经成功发送

3.燃气公司根据银行发送的指令,记录实时交费发票清算文件信息,并进行清算

3.交易代码

业务名称

交易名称

交易代码

发起方

备注

通讯测试

通讯测试

0000

银行

代扣签约

查询签约信息

1001

银行

代扣签约

1002

银行

取消代扣签约

1003

银行

提交代扣签约清算文件

1004

银行

实时交费

查询欠费记录

2001

银行

实时交费确认

2002

银行

提交实时交费清算文件

2003

银行

实时交费清算

查询交费明细

2004

银行

获取交费发票信息

2005

银行

交费发票打印确认

2006

银行

提交交费发票清算文件

2007

银行

代扣交费

获取代扣交费文件

4001

银行

提交代扣交费清算文件

4002

银行

代扣交费清算

 

4.交易流程

4.1.代扣签约

4.1.1.代扣签约

1.由银行发起查询签约信息交易(1001)

2.根据查询到的客户基本信息进行代扣签约处理。

3.由银行发起代扣签约交易(1002),燃气公司备案等待清算

4.1.2.取消代扣签约

1.由银行发起查询签约信息交易(1001)

2.根据查询到的客户基本信息进行取消代扣签约处理。

3.由银行发起取消代扣签约交易(1003),燃气公司备案等待清算

注:

只能取消本行的代扣签约。

4.1.3.代扣签约清算

1.由银行生成代扣签约清算文件,FTP到燃气公司指定的路径下。

2.由银行发起代扣签约清算交易(1004),通知燃气公司代扣签约清算文件已经成功发送

 

4.2.实时交费

4.2.1.实时交费

1.由银行发起查询欠费记录交易(2001)

2.根据查询到的欠费记录进行实时交费处理。

3.由银行发起实时交费确认交易(2002),燃气公司备案等待清算。

4.2.2.实时交费清算(提交实时交费清算文件)

1.由银行生成实时代交费清算文件,FTP到燃气公司指定的路径下。

2.由银行发出代交费清算请求(2003)交易,通知燃气公司代交费清算文件已经成功发送

4.2.3.查询交费明细

1.由银行发起查询交费明细请求交易(2004)

4.2.4.打印交费发票

1.由银行发起查询交费发票信息请求交易(2005)

2.根据查询到的交费发票信息打印发票

3.由银行发起交费发票打印确认交易(2006),燃气公司备案等待清算

4.2.5.实时交费发票清算(提交实时交费发票清算文件)

3.由银行生成实时代交费清算文件,FTP到燃气公司指定的路径下。

4.由银行发出代交费清算请求(2007)交易,通知燃气公司代交费清算文件已经成功发送

 

4.3.代扣交费

4.3.1.代扣交费请求

1.由燃气公司生成代扣交费请求文件,存放在Ftpserver指定的路径下

2.由银行发起代扣请求交易(4001)

3.燃气公司返回代扣请求文件名

4.由银行通过FTP取走代扣请求文件。

4.3.2.代扣交费清算

1.由银行生成代扣交费清算文件,FTP到燃气公司指定的路径下。

2.由银行发出代扣交费清算交易(4002),通知燃气公司代扣交费清算文件已经成功发送。

 

5.交易处理说明

5.1.冲证交易

当银行端发起确认请求交易时,银行端系统发生异常,无法记载对等数据,要进行冲证交易。

5.2.异常情况处理说明

这里的异常都是针对确认请求交易而言。

而且程序运行是正常的。

5.2.1.通讯异常

银行发出确认请求后,会发生如下异常:

●超时为接收回包。

●接到回包,无法正确解析(mac校验错,无法解析)

5.2.2.银行端异常

银行端在接收燃气公司端发送的到确认响应包后,可能会发生如下异常:

●发现提交的确认请求数据有误(包括:

金额、用户号等)

●银行端进行数据库操作时发生故障,这时,银行端应采取发起冲证交易。

对于异常交易,无论燃气端数据库是否受到影响,只要银行的清算文件中不包括这些异常交易记录,那么,清算时这些记录会回到(或本身就是)洁净状态。

唯一的可能问题是:

燃气端数据已经改变,进入待清算状态,但银行端数据状态与其不一致,或不清楚这种改变,会导致客户当日无法有效的完成该项交易,这种问题的可能性非常小,可以人工干预。

当银行的系统(主机)、通讯链路发生故障,经过一段时间恢复后,是否可以、以及如何获得数据以便冲证交易,由银行确定,如果不发起,问题可以通过清算解决。

6.记录状态操作控制说明

6.1.代扣签约状态

名称

状态值

操作控制

正常状态

0

任何银行都可以进行查询操作

如果代扣银行代码为空,任何银行都可以进行建立操作

如果代扣银行代码不空,只有本行可以进行取消操作

待清算状态

1

任何银行都可以进行查询操作

如果代扣银行代码为空,任何银行都可以进行建立操作

如果代扣银行代码不空,只有本行可以进行取消作

清算错误状态

2

任何银行都可以进行查询操作

任何银行都不可以进行建立、取消操作

6.2.交费状态

交费状态描述

交费状态值

操作控制

待交费

4

任何银行都可以进行查询操作

任何银行都可以进行交费确认操作

待清算

5

任何银行都可以进行查询操作

只有本行可以进行二次确认请求操作

只有本行可以进行打印发票操作

已交费

7

任何银行都可以进行查询操作

只有本行可以进行打印发票操作

清算错误

8

任何银行都可以进行查询操作

任何银行都不可以打印发票操作

 

6.3.打印发票状态

名称

交费状态值

操作控制

未打凭证状态

0

任何银行都可以进行查询操作

只有本行可以进行打印发票操作

已打凭证状态

1

任何银行都可以进行查询操作

任何银行都不可以进行打印发票操作

6.4.用户类型定义

类型描述

类型定义

备注

单位客户

1

只能等额现金交费

居民客户

2

可以交整不找零

团交客户

3

只能等额现金交费

 

7.报文定义

7.1.报文定义

报文格式:

域0|域1|域2|……|域n。

报文长度(域0)={|域1|域2|……|域n|}的长度

注:

n表示报文域的最大计数值。

其中“|”是主域分隔符;“,”是子域分隔符。

“;”是子域段分隔符。

7.2.报文域定义

X(n):

X表示一般字符串,n表示字符串长度

D(n,m):

D表示数字字符串,n表示字符串长度,m表示小数位个数。

数字字符串中包含小数点.

7.3.MAC计算方法

in_str=”|域1|域2|……|域n-1|”

in_str_len={|域1|域2|……|域n-1|}的长度

mac_data是一个8位的校验码。

具体方法如下:

generat_mac_data(in_str,in_str_len,mac_data)

char*in_str;

intin_str_len;

charmac_data[9];

{

inti,j,k,n,len;

chartmp_str[1024],result_str[9];

memset(result_str,0x00,8);

len=in_str_len;k=len%8;n=8–k;

memcpy(tmp_str,in_str,len);

tmp_str[len]=0x7f;

memset(&tmp_str[len+1],0x00,n);

len=len+n;

for(i=0;i

{

for(j=0;j<8;j++){result_str[j]^=tmp_str[i];i=i+1;}

}

for(i=0;i<8;i++)

{

if(result_str[i]>=0x80)result_str[i]^=0x80;

if(result_str[i]==0x0d)result_str[i]=0x4d;

if(result_str[i]==0x0a)result_str[i]=0x4a;

if(result_str[i]==0x3a)result_str[i]=0x7a;

if(result_str[i]==0x7c)result_str[i]=0x3c;

if(result_str[i]==0x00)result_str[i]=0x40;

}

memcpy(mac_data,result_str,8);

return;

}

8.交易通讯接口定义

8.1.代扣签约

8.1.1.查询签约信息(交易代码=1001)

交易代码

1001

通讯类型

TCP/IPSocket同步短连接

银行请求报文域定义

域编号

域描述

类型

分隔符

重复域

备注

0

报文长度

X(4)

|

N

1

交易代码

X(4)

|

N

2

冲正码

X(4)

|

N

为空,查询交易不能冲正

3

交易流水号

X(20)

|

N

银行的

4

操作日期

X(8)

|

N

YYYYMMDD

5

操作时间

X(6)

|

N

hhmmss

6

银行代码

X(6)

|

N

7

银行网点

X(10)

|

N

8

银行柜员

X(20)

|

N

9

用户号

X(20)

|

N

10

MAC校验码

D(8,0)

|

N

燃气公司响应报文域定义

域编号

域描述

类型

分隔符

重复域

备注

0

报文长度

X(4)

|

N

1

响应码

X(4)

|

N

2

响应描述

X(60)

|

N

银行显示项

3

用户号

X(20)

|

N

银行显示项

4

用户姓名

X(100)

|

N

银行显示项

5

用气地址描述

X(100)

|

N

银行显示项

6

签约银行代码

X(6)

|

N

银行显示项

为空则还未签约

7

签约银行名称

X(100)

|

N

银行显示项

8

MAC校验码

D(8,0)

|

N

8.1.1.1.银行请求报文格式

域0|域1|……|域10

8.1.1.2.燃气公司响应报文格式

域0|域1|……|域8

8.1.1.3.相关响应码

响应码

响应码定义

0000

交易成功

0201

用户号错误

0202

银行号错误

0204

用户不存在

0205

网点号错误

0206

柜员号错误

0207

交易时间错误

8.1.2.代扣签约(交易代码=1002)

交易代码

1002

通讯类型

TCP/IPSocket同步短连接

银行请求报文域定义

域编号

域描述

类型

分隔符

重复域

备注

0

报文长度

X(4)

|

N

1

交易代码

X(4)

|

N

2

冲正码

X(4)

|

N

正常交易=空

冲正交易=9999

3

交易流水号

X(20)

|

N

银行的

4

操作日期

X(8)

|

N

YYYYMMDD

5

操作时间

X(6)

|

N

hhmmss

6

银行代码

X(6)

|

N

7

银行网点

X(10)

|

N

8

银行柜员

X(20)

|

N

9

用户号

X(20)

|

N

10

MAC校验码

D(8,0)

|

N

燃气公司响应报文域定义

域编号

域描述

类型

分隔符

重复域

备注

0

报文长度

X(4)

|

N

1

响应码

X(4)

|

N

2

响应描述

X(60)

|

N

银行显示项

3

MAC校验码

D(8,0)

|

N

 

8.1.2.1.银行请求报文格式

域0|域1|……|域10

8.1.2.2.燃气公司响应报文格式

域0|域1|……|域3

8.1.2.3.相关响应码

响应码

响应码定义

0000

交易成功

0201

用户号错误

0202

银行号错误

0204

用户不存在

0205

网点号错误

0206

柜员号错误

0207

交易时间错误

0301

代扣关系已经建立,不能重新建立代扣关系

0302

团缴户不能建立代扣关系

0303

代扣关系已经清算,不能冲正

0304

工商户不能建立代扣关系

0305

尚有未清算的代扣关系,不能建立代扣关系

0306

已经销户,不能建立代扣关系

8.1.3.取消代扣签约(交易代码=1003)

交易代码

1003

通讯类型

TCP/IPSocket同步短连接

银行请求报文域定义

域编号

域描述

类型

分隔符

重复域

备注

0

报文长度

X(4)

|

N

1

交易代码

X(4)

|

N

2

冲正码

X(4)

|

N

正常交易=空

冲正交易=9999

3

交易流水号

X(20)

|

N

银行的

4

操作日期

X(8)

|

N

YYYYMMDD

5

操作时间

X(6)

|

N

hhmmss

6

银行代码

X(6)

|

N

7

银行网点

X(10)

|

N

8

银行柜员

X(20)

|

N

9

用户号

X(20)

|

N

10

MAC校验码

D(8,0)

|

N

燃气公司响应报文域定义

域编号

域描述

类型

分隔符

重复域

备注

0

报文长度

X(4)

|

N

1

响应码

X(4)

|

N

2

响应描述

X(60)

|

N

银行显示项

3

MAC校验码

D(8,0)

|

N

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1