招商银行数据接口说明.docx
《招商银行数据接口说明.docx》由会员分享,可在线阅读,更多相关《招商银行数据接口说明.docx(26页珍藏版)》请在冰豆网上搜索。
招商银行数据接口说明
招商银行数据接口说明
第一章概述
1.1目的
本文件描述了企业银行系统中定义的文件数据格式接口,该接口可用于企业银行系统与财务系统对接。
接口文件根据数据流向,可分为两大类,一类是由企业银行系统生成,需要导出到企业的财务系统中,如:
对帐单、支付和集团支付查询结果、发工资查询结果、收方信息、受益人信息等;另一类是由企业财务系统生成,需要导入到企业银行系统,用于经办业务,如:
成批支付结算文件、工资表、收方信息、受益人信息、成批信用证申请文件等。
根据接口文件是否采用了加密方式保存,也可以分为加密和非加密格式两大类。
通常加密格式的文件的后缀的第一个字符是“E”。
1.2文件生成日期
本文件于2003年2月28日制定,适用于企业银行系统4.0版及以后版本。
第二章文件结构
2.1非加密格式
非加密格式的文件为文本文件,包括描述信息和正文两部分。
详细内容可参照第三章“文件描述”。
描述信息在文件的第一行,且以“#”开始,各字段间用空格加分号分开,描述信息可以为空。
正文的每一行代表一个查询记录,用"\r\n"结尾。
每一个记录之间的各个元素之间用空格加分号分开,如果对应的元素没有任何内容,就不填写。
2.1加密格式
加密格式的文件是一个二进制文件,包括文件头和加密数据块两部分。
文件头包括标识、版本、描述块长度和描述块。
加密数据块经解密后格式同非加密格式的文件,加密算法由招商银行定义。
文件头在加密文件的开头,之后是加密数据块。
现对文件头详细说明如下:
字节0~6为标识(”CMBDATA”)。
字节7~8为版本号(字节7为主版本号,字节8为副版本号,本文件定义的格式为“2.0”)。
字节9~10为描述块的长度,整型。
描述块由多个描述字段组成,每个字段包括字段名(4个字节)、字段长度(1个字节)和字段内容。
字段名以“#”号开头的为招行保留,对于由企业财务系统生成的加密格式文件可由企业财务系统自定义。
如:
“#CKC”表示校验码,长度为4字节。
第三章文件描述
本单描述了企业银行系统中与用户相关的数据文件格式,分为加密和非加密格式两大类,由于加密格式的加密数据块经解密后格式同非加密格式的文件,因此,以下只对非加密文件的格式进行详细说明。
非加密格式文件由描述块和数据块两部分组成。
描述块记录了数据文件的相关信息,如接口版本等。
数据块记录了业务信息。
描述块为文件的第一行,如果第一行以“#”开始,这一行记录了描述信息,描述块可以为空。
描述块由多个字段组成,各字段间用“_;”(空格加分号,_表示空格,以下同)分开,每个字段的格式为:
字段名=数值。
数据块由多条记录组成,每一行表示一条记录,以“\r\n”结尾(注:
“\r\n”是指回车符和换行符)。
每条记录由多个字段组成,各字段间用“_;”(空格加分号)分开,每个字段的格式为:
字段名=数值。
在以下的格式说明中,如果未指明某个字段允许为空,则该字段不能为空。
3.1对帐单接口数据格式
对帐单文件用于企业对帐,系统可以将当天交易和历史交易的帐务数据用对帐单文件格式保存下来。
文件格式和含义如下:
●对帐单文件的文件名格式如下:
“XX”+“-”+“开始日期(yymmdd)”+“-”+“结束日期(yymmdd)”+“.”+“后缀”。
用非加密方式保存的帐务文件是一个文本文件,后缀是“ACT”;用加密方式保存的帐务文件是一个二进制文件,后缀是“EACT”。
如:
01-000808-000810.act是一个保存了XX01在2000-08-08到2000-08-10期间发生的交易的对帐单文件;01-000808-000810.eact则是一个加密的对帐单文件。
●加密的对帐单文件经解密后格式同非加密的对帐单文件。
以下介绍非加密对帐单文件格式。
●如果第一行以“#”开始,这一行记录了对帐单描述信息,各字段间用“_;”(空格加分号)分开。
格式如下:
BANKCODE=银行码(固定为“5456”,表示招商银行);VERSION=接口版本(本文件定义的格式的版本为“2.0”);TYPE=文件类型(最长10位字符,如:
“ACCOUNT”表示对帐单);ACCOUNT=银行XX(11位或13位字符串);CURRENCY=XX币种(最长10位字符串,如:
人民币、港币或美元等);MAKEDATE=对帐单生成日期(8位日期格式,yyyymmdd);OPERATOR=经办人用户名(最长20位字符串);SUMDEBIT=累计借金额(整数部分最多13位,小数2位);TOTALDEBIT=累计借总笔数(最长5位数字);SUMCREDIT=累计贷金额(整数部分最多11位,小数2位);TOTALCREDIT=累计贷总笔数(最长5位数字);BEGINBALANCE=对帐单期初余额(整数部分最多11位,小数2位);BALANCE-对帐单余额(整数部分最多13位,小数2位);BEGINDATE=查询开始日期(8位日期格式,yyyymmdd);ENDDATE=查询结束日期(8位日期格式,yyyymmdd)。
由企业银行生成的对帐单文件,描述行的所有字段均不为空。
●正文的每一行代表一条对帐单查询记录,用"\r\n"结尾。
每一条记录的各个字段之间用“_;”(空格加分号)分开,如果对应的字段没有任何内容,就不填写。
●用企业银行做的交易会有业务参考号,没有票据号,在柜台或其它地方生成的交易有票据号或其它的唯一标识,都统一称为业务参考号
●一行中各元素格式如下:
ETYDAT=交易日;ETYTIM=交易时间;VLTDAT=起息日;TRSCOD=交易类型;NARYUR=摘要;TRSAMTD=借方金额;TRSAMTC=贷方金额;TRSBLV=余额;REFNBR=流水号;REQNBR=流程实例号;BUSNAM=业务名称;NUSAGE=用途;YURREF=业务参考号;BUSNAR=业务摘要;OTRNAR=其它摘要;C_RPYBBK=收/付方开户地区;RPYNAM=收/付方名称;RPYACC=收/付方XX;RPYBBN=收/付方开户行行号;RPYBNK=收/付方开户行名;RPYADR=收/付方开户行地址;C_GSBBBK=母/子公司开户地区;GSBACC=母/子公司XX;GSBNAM=母/子公司名称;INFFLG=信息标志。
●格式说明:
ETYDAT(交易日):
交易发生的日期。
8位日期格式,yyyymmdd。
ETYTIM(交易时间):
交易发生的时间,只有小时有效。
6位时间格式,hhmmnn。
VLTDAT(起息日):
开始计息的日期。
8位日期格式,yyyymmdd。
TRSCOD(交易类型):
交易的类型。
最大8位字符串。
NARYUR(摘要):
交易的简单说明和注解。
最长16位字符串。
TRSAMTD(借方金额):
企业为借方时的交易金额。
nnnnnnnnnnnnn.nn,整数部分最多13位,小数部分为2位。
TRSAMTC(贷方金额):
企业为贷方时的交易金额。
nnnnnnnnnnnnn.nn,整数部分最多13位,小数部分为2位。
TRSBLV(余额):
XX的联机余额。
nnnnnnnnnnnnn.nn,整数部分最多13位,小数部分为2位。
REFNBR(流水号):
交易的流水号。
8位字符串。
REQNBR(流程实例号):
最大10位数字
BUSNAM(业务名称):
最大28位字符串。
NUSAGE(用途):
最大28位字符串。
YURREF(业务参考号):
最大30位字符串。
BUSNAR(业务摘要):
对业务的简单说明或注解。
最大196位字符串。
OTRNAR(其它摘要):
对业务的其它说明或注解。
最大58位字符串。
C_RPYBBK(收/付方开户地区):
收/付方XX开户行所在地区。
最大12位字符串,如、XX、XX等。
RPYNAM(收/付方名称):
收/付方XX名称。
最长58位字符串。
RPYACC(收/付方XX):
收/付方的转入或转出XX。
最长35位数字。
RPYBBN(收/付方开户行行号):
收/付方XX的开户行的行号。
最长20位字符串。
RPYBNK(收/付方开户行名):
收/付方XX的开户行的行名。
最长58位字符串。
RPYADR(收/付方开户行地址):
收/付方XX的开户行的地址。
最长58位字符串。
C_GSBBBK(母/子公司所在地区):
母/子公司XX的开户行所在地区,最长12位字符串,如、XX、XX等。
GSBACC(母/子公司XX):
最长35位字符串。
GSBNAM(母/子公司名称):
最长62位字符串。
INFFLG(信息标志):
用于标识收/付方XX和母/子公司的信息。
为空表示付方XX和子公司;为“1”表示收方XX和子公司;为“2”表示收方XX和母公司;为“3”表示原收方XX和子公司。
C_ATHFLG(有否附件信息标志):
2位字符
●示例:
3.2支付结算接口数据格式
成批支付结算接口文件用于用户在脱机状态下或在企业的财务系统中完成批量支付结算数据录入,并使用成批经办功能一次性经办一批支付结算数据,该接口文件可用于支付和集团支付两种业务。
文件格式和含义如下:
●成批支付结算文件的文件名格式如下:
“系统制单的日期(yymmdd)”+“-”+“序号i”+“.”+“后缀”。
用非加密方式保存的支付结算文件是一个文本文件,后缀是“PAM”;用加密方式保存的支付结算文件是一个二进制文件,后缀是“EPAM”。
如:
000808-10.pam是一个保存了2000-08-08产生的序号为10的成批支付结算文件;000808-10.epam则是一个加密的成批支付结算文件。
●加密的支付结算文件由文件头和加密数据块两部分组成。
加密数据块经解密后格式同非加密的支付结算文件,加密算法由招商银行定义。
以下介绍非加密的支付格式。
●如果第一行以“#”开始,这一行就表示支付结算文件的描述信息,各字段间用空格加分号分开。
格式如下:
SYSCODE=系统代码(12位字符串,由招商银行定义);VERSION=接口版本(本文件定义的格式的版本为“2.0”);TYPE=文件类型(最长10位字符,如:
“PAYMENT”表示支付结算);MAKEDATE=文件生成日期(8位日期格式,yyyymmdd);OPERATOR=经办用户名(最长20位字符串);SUM=累计金额(整数部分最多13位,小数2位);TOTAL=累计笔数(最长5位数字)。
描述行中SYSCODE、VERSION和TYPE不可为空,其它字段可选,为空的字段不填写。
●正文的每一行代表一条支付结算请求,用"\r\n"结尾。
每一条请求的各个字段之间用“_;”(空格加分号)分开,如果对应的字段没有任何内容,就不填写。
●一行中各字段格式如下:
YURREF=参考号;EPTDAT=期望日;EPTTIM=期望时间;DBTACC=付方XX;C_DBTBBK=付方开户地区;TRSAMT=金额;C_CCYNBR=币种;C_STLCHN=结算方式;NUSAGE=用途;BUSNAR=摘要;CRTACC=收方XX;CRTNAM=收方名称;CRTBNK=收方开户行;CRTPVC=收方省份;CRTCTY=收方城市;CRTDTR=收方县/区;NTFCH1=收方电子;NTFCH2=收方移动;CRTSQN=收方编号。
●格式:
YURREF(业务参考号):
用于标识该笔业务的编号,该号必须唯一。
最大30位字符串。
EPTDAT(期望日):
期望该笔业务在该日期发生。
8位日期格式,yyyymmdd。
EPTTIM(期望时间):
期望该笔业务在期望日内指定的时间之后发生。
6位数字,24小时制式的时间表示,hhmmss。
只有小时数有效。
可以为空。
DBTACC(付方XX):
企业用于付款的转出XX,该XX的币种类型必须与币种字段相符。
最大35位数字。
C_DBTBBK(付方开户地区):
付方XX的开户行所在地区,最大12位字符串,如、XX和XX等。
TRSAMT(交易金额)该笔业务的付款金额。
nnnnnnnnnnnnn.nn,整数部分最多13位,小数部分为2位。
C_CCYNBR(币种):
付款的币种类型。
最长10位字符串。
如:
人民币、港币或美元等。
C_STLCHN(结算方式):
期望该笔业务以何种方式完成结算。
最长12位字符串。
如:
快速、普通等。
NUSAGE(用途):
最长56位字符串。
BUSNAR(业务摘要):
用于企业付款时填写说明或者备注。
最长196位字符。
可以为空。
CRTACC(收方XX):
收款企业的转入XX,该XX的币种类型必须与币种字段相符。
最长35位数字。
CRTNAM(收方XX名):
收款方企业的转入XX的XX名称。
最长58位字符串。
CRTBNK(收方开户行):
收方XX开户行名称,如:
招商银行分行。
最长58位字符串。
名称中必须包含有“行”、“信用社”、“合作社”或“联社”。
CRTPVC(收方省份):
收方XX开户行所在的省份,如:
XX省、市或XX自治区。
最长16位字符串,格式为:
XX省(或市或自治区)。
CRTCTY(收方城市):
收款方XX开户行所在的城市名,指市或省辖行政单位。
最长20位字符串,格式为“XX市(或县)”,对直辖市,市县名可为空。
如:
XX市。
CRTDTR(收方县/区):
收方XX开户行所在的县或区,最长20位字符串,格式为:
XX县/区,可为空。
如:
宝安区。
NTFCH1(收方电子):
收款方的电子地址,用于通知。
最长36位字符串。
可以为空。
NTFCH2(收方移动):
收款方的移动,用于短信通知。
最长16位字符串。
可以为空。
CRTSQN:
收方编号,用于标识收款方的编号。
最长20位字符串。
3.3支付结算查询结果数据格式
支付结算查询结果文件用于企业通过支付结算查询功能查询一段时间内的支付、集团支付和内部转帐等业务的经办情况,并将查询到的结果保存到该格式的文件中。
文件格式和含义如下:
●支付结算查询结果文件的文件名格式如下:
“查询起始日期(yymmdd)”+“-”+“查询结束日期(yymmdd)”+“.”+“后缀”。
用非加密方式保存的支付结算查询结果文件是一个文本文件,后缀是“PRT”;用加密方式保存的支付结算查询结果文件是一个二进制文件,后缀是“EPRT”。
如:
000808-000818.prt是一个保存了2000-08-08到2000-08-18间支付结算查询结果的文件;000808-000818.eprt则是一个加密的支付结算查询结果文件。
●加密的支付结算查询结果文件由文件头和加密数据块两部分组成。
加密数据块经解密后格式同非加密的支付结算查询结果文件,加密算法由招商银行定义。
以下介绍非加密支付结算查询结果文件格式。
●如果第一行以“#”开始,这一行就表示支付结算查询结果文件的描述信息,各字段间用空格加分号分开。
格式如下:
BANKCODE=银行码(固定为“5456”,表示招商银行);VERSION=接口版本(本文件定义的格式的版本为“2.0”);TYPE=文件类型(最长10位字符,如:
“PAYRS”表示支付结算查询结果);MAKEDATE=文件生成日期(8位日期格式,yyyymmdd);OPERATOR=经办人用户名(最长20位字符串);SUM=累计金额(整数部分最多13位,小数2位);TOTAL=累计笔数(最长5位数字);C_BUSCOD=业务类型(全部、支付、集团支付或内部转帐);BEGINDATE=查询开始日期(8位日期格式,yyyymmdd);ENDDATE=查询结束日期(8位日期格式,yyyymmdd)。
由企业银行生成的对帐单文件,描述行的所有字段均不为空。
●正文的每一行代表一条支付结算查询记录,用"\r\n"结尾。
每一条记录的各个字段之间用“_;”(空格加分号)分开,如果对应的字段没有任何内容,就不填写。
●一行中各元素意义如下:
C_BUSCOD=业务类型;BUSMOD=业务模式;C_DBTBBK=付方开户地区;DBTACC=付方XX;DBTNAM=付方XX名;C_DBTREL=付方公司名;DBTBNK=付方行名称;DBTADR=付方行地址;C_CRTBBK=收方开户地区;CRTACC=收方XX;CRTNAM=收方XX名;C_CRTREL=收方公司名;CRTBNK=收方行名称;CRTADR=收方行地址;C_GRPBBK=母公司开户地区;GRPACC=母公司XX;GRPNAM=母公司XX名;C_CCYNBR=币种;TRSAMT=交易金额;EPTDAT=期望日;EPTTIM=期望时间;BNKFLG=系统内外标志;REGFLG=同城异地标志;C_STLCHN=结算通路;NUSAGE=用途;NTFCH1=收方电子;NTFCH2=收方移动;OPRDAT=经办日期;YURREF=业务参考号;BUSNAR=业务摘要;C_REQSTS=请求状态;C_OPRALS=操作别名;C_RTNFLG=业务处理结果;RTNNAR=结果摘要;RTNDAT=退票日期;ATHFLG=是否有附件信息。
●格式:
C_BUSCOD(业务类型):
12位字符。
支付、集团支付或内部转帐。
C_BUSMOD(业务模式):
支付结算业务所采用的业务审批模式,最长58位字符串。
C_DBTBBK(付方开户地区):
付方XX的开户行所在地区,最大12位字符串,如、XX和XX等。
DBTACC(付方XX):
企业用于付款的转出XX,该XX的币种类型与币种字段相符。
最大35位数字。
DBTNAM(付方XX名):
企业用于付款的转出XX的户名,最大58位字符。
C_DBTREL(付方公司名):
付款企业的公司名称,最大58位字符。
只对内部转帐有效。
DBTBNK(付方开户行):
企业用于付款的转出XX的开户行名称,如:
招商银行分行。
最长58位字符串。
DBTADR(付方行地址):
企业用于付款的转出XX的开户行地址,最大58位字符。
C_CRTBBK(收方开户地区):
收方XX的开户行所在地区,最大12位字符串,如、XX和XX等。
CRTACC(收方XX):
收款企业的转入XX,该XX的币种类型与币种字段相符。
最长35位数字。
CRTNAM(收方XX名):
收款方企业的转入XX的XX名称。
最大58位字符串。
C_CRTREL(收方公司名):
收款方企业的公司名称,最大58位字符。
CRTBNK(收方开户行):
收方XX的开户行名称,如:
招商银行分行。
最长58位字符串。
CRTADR(收方行地址):
收方XX的开户行地址。
C_GRPBBK(母公司开户地区):
企业所属母公司XX的开户行所在地区,最大12位字符串,如、XX和XX等。
只对集团支付有效。
GRPACC(母公司XX):
企业所属母公司的XX。
最大35位数字。
只对集团支付有效。
GRPNAM(母公司XX名):
企业所属母公司XX的XX名称。
最大58位字符串。
只对集团支付有效。
C_CCYNBR(币种):
付款的币种类型。
最长10位字符串。
如:
人民币、港币或美元等。
TRSAMT(交易金额):
该笔业务的付款金额。
nnnnnnnnnnnnn.nn,整数部分最多13位,小数部分为2位。
EPTDAT(期望日):
期望该笔业务在该日期发生。
8位日期格式,yyyymmdd。
EPTTIM(期望时间):
期望该笔业务在期望日内指定的时间之后发生。
6位数字,24小时制式的时间表示,hhmmss。
只有小时数有效。
可以为空。
BNKFLG(系统内外标志):
表示该笔业务是否为招行系统内的支付结算业务,一位字符,“Y”表示系统内,“N”表示系统外。
REGFLG(同城异地标志):
表示该笔业务是否为同城业务,一位字符,“Y”表示同城业务;“N”表示异地业务。
C_STLCHN(结算方式):
最大12位字符串。
NUSAGE(用途):
最大28位字符串。
NTFCH1(收方电子):
收款方的电子地址,用于通知。
最长36位字符串。
可以为空。
NTFCH2(收方移动):
收款方的移动,用于短信通知。
最长16位字符串。
可以为空。
OPRDAT(经办日期):
经办该笔业务的日期。
8位日期格式,yyyymmdd。
YURREF(业务参考号):
用于标识该笔业务的编号,该号必须唯一。
30位字符串。
BUSNAR(业务摘要):
用于企业付款时填写说明或者备注。
最长196位字符。
REQSTS(请求状态):
支付结算业务请求目前所处的状态,3位字母,AUT-待授权,NTE-受理完毕。
C_OPRALS(操作别名):
待处理的操作名称。
最大28位字符串。
C_RTNFLG(业务处理结果):
支付结算业务处理的结果。
1位字符,F-失败,S-成功,C-取消,R-拒绝。
RTNNAR(结果摘要):
支付结算业务处理的结果,如失败原因、退票原因等。
最大88位字符串。
RTNDAT(退票日期):
8位日期格式,yyyymmdd。
ATHFLG(是否有附件信息):
一位字符,“Y”表示有附件,“N”表示无附件。
3.4收方信息接口数据格式
收方信息文件保存了支付收款方的名称、XX、开户行等相关信息。
本地收方信息是指企业的贸易伙伴通常较为固定,预先把收方信息编辑好,在支付经办时引用或就地查询,可以大大方便支付经办工作,减少出错机会。
收方信息也可以从企业的财务系统中导出。
文件格式和含义如下:
●收方信息文件的文件名格式如下:
“文件名”+“.”+“后缀”。
用非加密方式保存的收方信息文件是一个文本文件,后缀是“RCV”;用加密方式保存的收方信息文件是一个二进制文件,后缀是“ERCV”。
●加密的收方信息文件由文件头和加密数据块两部分组成。
加密数据块经解密后格式同非加密的收方信息文件,加密算法由招商银行定义。
以下介绍非加密收方信息文件格式。
●如果第一行以“#”开始,这一行就表示收方信息文件的描述信息,各字段间用“_;”(空格加分号)分开。
格式如下:
SYSCODE=系统代码(12位字符串,由招商银行定义);VERSION=接口版本(本文件定义的格式的版本为“2.0”);TYPE=文件类型(最长10位字符,如:
“RECV”表示收方信息);MAKEDATE=文件生成日期(8位日期格式,yyyymmdd);OPERATOR=经办用户名(最长20位字符串);TOTAL=收方总数(最长5位数字)。
描述行中SYSCODE、VERSION和TYPE不可为空,其它字段可选,为空的字段不填写。
●正文的每一行代表一条收方信息记录,用"\r\n"结尾。
每一条记录的各个字段之间用“_;”(空格加分号)分开,如果对应的字段没有任何内容,就不填写。
●一行中各元素意义如下:
CRTSQN=编号;CRTNAM=XX名;CRTACC=XX;CRTBNK=开户行;CRTPVC=省份;CRTCTY=城市;CRTDTR=县/区;NTFCH1=电子;NTFCH2=移动。
●格式:
CRTSQN(编号):
最长20位字符串。
为索引关键字,不可以重复。
CRTNAM(XX名):
收款方企业的转入XX的XX名称。
最大58位字符串。
CRTACC(XX):
收款企业的转入XX,该XX的币种类型与币种字段相符。
最长35位数字。
CRTBNK(开户行):
收方XX的开户行名称,如:
招商银行分行。
最长58位字符串。
名称中必须包含有“行”、“信用社”、“合作社”、“金库”或“联社”。
CRTPVC(省份):
收方XX开户行所在的省份,最长16位字符串,格式为:
XX省(或市或自治区)。
如:
XX省、市或XX自治区。
CRTCTY(城市):
收方XX开户行所在的城市名,指市和省辖行政单位,最长20位字符串,格式为:
XX市(或县),对直辖市,城市名可为空。
如:
XX市。
CRTDTR(县/区):
收方XX开户行所在的县或区,最长20位字符串,格式为:
XX县/区,可为空。
如:
宝安区。
NTFCH1(地址):
收款方的电子地址,用于通知。
最长36位字符串。
可以为空。
NTFCH2(移动):
收款方的移动,用于短信通知。
最长16位字符串。
可以为空。
3.5代发接口数据格式
代发数据接