531分行业务平台POS清算系统业务实施手册doc 40页.docx
《531分行业务平台POS清算系统业务实施手册doc 40页.docx》由会员分享,可在线阅读,更多相关《531分行业务平台POS清算系统业务实施手册doc 40页.docx(46页珍藏版)》请在冰点文库上搜索。
531分行业务平台POS清算系统业务实施手册doc40页
需求,需要进行特色清算的一系列账务处理的平台。
主要包括将资金清算给一级商户结算账户,资金清算给一级商户下挂的终端(二级商户)结算户,手续费分润,退货等业务。
1.1.适用业务范围
1.支持多个清算品种,直联POS、间连POS、直联家易通、第三方支付等类POS交易的清算。
2.支持集群商户方式入账。
3.支持灵活的入账周期方式,一级商户和二级商户可采用不同的入账周期进行入账。
4.支持多类账户的入账,包括本行对公账户、内部账户、个人借记卡账户、贷记卡账户及他行账户。
5.支持商户的二级清算。
6.支持终端组清算。
7.支持二级清算手续费的分润。
8.退货报表。
1.2.术语及定义
1.一级清算
根据商户清算策略的参数设置,将清算资金清算至一级商户或者一级集群商户的清算账户。
2.一级清算账户
商户接收我行清算的账户,该账户可以是我行对公账户、内部账户、保证金账户、对私账户借记账户、对私贷记账户及他行结算账户。
如果该商户需要进行二级清算,则其一级清算账户必须是交行对公账户、内部账户或保证金账户。
3.二级清算
一个一级商户下可以有多个子商户(二级商户),可按要求进行分层资金清算。
资金先清算至一级商户的对公结算账户上(也可能是专业市场所对应的分行保证金账户或内部户),再自动清分给二级商户(二级清分)。
在二级清算模式下,一级清算完成后才可以进行二次清算。
4.二级清算账户
是我行二级清算时将资金清算给二级子商户的账户,该账户可以是交行对公账户,也可以是交行对私户(借记卡、贷记卡)或他行结算账户。
5.手续费内扣
是指向商户清算的资金中,已扣除我行应收手续费,只能采用同步扣收。
6.手续费外扣
是指向商户清算的资金为交易原金额,商户需在我行另外开立手续费扣收专户,或依据我行要求,主动划拨手续费,可选择同步扣收或异步扣收。
7.手续费同步扣收
是指在手续费扣收与商户入账金额处理同时进行,即每次向商户清算资金时,同时进行手续费扣收。
8.手续费异步扣收
是指手续费扣收可不与商户交易原金额入账处理同时进行,可在收单系统尚单独设置扣收周期。
手续费“异步扣收”的周期一般可设置为“周、月、季”,也可设为任一工作日进行手续费扣收。
9.清算本金
清算的交易金额去掉手续费即是清算本金。
10.商户手续费分润
根据商户分润参数设置进行分润,支持两级账户分润。
2.POS清算业务流程
3.功能模块
3.1.功能模块图
3.2.功能模块描述
详见POS清算需求规格说明书。
3.3.系统设计
POS特色清算标准版采用可扩展的策略模式实现,主体交易流程由标准版实现,规范业务流程,统一行内处理;流程中预留策略接口,由分行实现,提供可扩展性,满足分行特色需求。
标准版提供前端交易画面源码、标准版jar及可运行的项目原型。
前端源码已联调通过,可编译展示,可由分行进行调整,如增加或删除画面要素。
标准版Jar中包含接口wsdl、后台process、后台流程处理,通过调用分行实现的策略Action完成分行特色的交易逻辑。
项目原型是基于标准版jar、包含示例策略实现、可运行的工程,分行可定义并实现分行特色的策略Action,完成标准交易,或在改工程中定义并实现标准版未涵盖的分行特色交易,如特色报表。
3.3.1.标准版策略接口
说明:
POS特色清算标准版对所涵盖的功能点的流程和前端接入的接口进行了控制,并且实现了其中的绝大部分。
对于比较特色的部分则提供了策略模式由分行实现。
分行通过实现相应的策略Action满足自身实施版POS特色清算的特色需求。
POS特色清算标准版采用策略模式为分行提供可自由实现的策略Action。
在标准版中会调用分行实现的策略Action完成相应的流程,从而完成每一个功能点。
POS清算标准版接口总览如下:
功能模块
接口名
接口说明
清算数据导入模块
stlDataImportStrategyAction
清算数据导入策略
stlFileDownloadStrategyAction
清算文件下载策略
入账模块
chlAccountBeforeStrategyAction
单笔渠道入账交易前置检查策略
chlAccountAfterStrategyAction
单笔渠道入账交易后置处理策略
chlAccountCallBackStrategyAction
整个入账批次完成回调策略
3.3.2.数据库设计
3.3.2.1.数据库库表总览
POS清算标准版提供了张库表,总览如下:
序号
数据表名
中文名称
备注
1
ACP_JOURNAL
代收付渠道入账流水表
2
AGENT_BANK_REL
代理行映射关系表
3
BANK_FEE_JOURNAL
手续费入银行帐流水表
4
BASIC_SPL_INFO
基本商户信息表
5
BASIC_TERMINAL_INFO
基本终端信息表
6
BASIC_TRAN_INFO
原始交易流水表
7
BATCH_CONTROL_INFO
批次状态信息表
8
BK_SPL_ACCT_INFO
分行商户账户信息表
9
BK_SPL_DETL
分行商户基本信息表
10
BKU_ACOMA_JNL
收单机构一般交易流水文件表
11
BKU_AERR_JNL
差错交易受理方流水文件表
12
BKU_DLFEE
银联品牌费文件表
13
BKU_ERR_JNL
差错交易发卡方流水文件表
14
BKU_FLE_CTL
银联文件控制表
15
BKU_FLE_RULE
银联文件规则表
16
BKU_ICOM_JNL
发卡方一般交易流水文件表
17
BKU_INFB
IC卡电子现金应用的脱机消费受理方成功清算文件
18
BKU_RPT_TYP
分行报表类型表
19
BKU_SEAC
银联商户汇总文件表
20
CLUSTER_RELATIONSHIP
集群关系对照表
21
DATA_RESOURCE_INFO
数据来源表
22
FEE_DETAINED_INFO
手续费暂留信息表
23
FILE_IMPORT_JOURNAL
文件导入流水表
24
FLOW_CONTROL
流程状态表
25
FLOW_INF
流程信息表
26
GEMS_JOURNAL
主机渠道入账流水表
27
ITA_JOURNAL
同城渠道入账流水表
28
PNO_JOURNAL
二代支付渠道入账流水表
29
PRO_INF
交易信息表
30
PROCESS_STATE
交易状态信息表
31
RET_REG
退货登记簿
32
RETURN_DEAL_INFO
退货信息表
33
RISK_PEND_INFO
风险暂挂汇总表
34
SETTLE_TYPE_INFO
清算品种信息表
35
SPL_BASIC_RULE
商户特色清算规则信息表
36
SPL_FEE_RULE
一清手续费规则表
37
SPL_FEE_STRATEGY_TYPE
商户手续费策略表
38
SPL_RULE_INFO
一级可清算规则表
39
SPL_SETTLE_BATCH_DETAIL
清算批次明细表
40
SPL_SETTLE_DATA_DETAIL
一级可清算数据表
41
SPL_VIRTUAL_RELATIONSHIP
实体商户虚拟关系映射表
42
STRATEGY_MODEL
手续费模式
43
SUBSIDY_JOURNAL
资金贴付流水表
44
TERMINAL_BASIC_RULE
终端清算基本规则信息表
45
TERMINAL_INFO
终端信息表
46
TML_FEE_RULE
手续费计算规则表
47
TML_SETTLE_DATA_DETAIL
二级可清算数据表
48
VIRTUAL_SPL_INFO
虚拟商户信息表
49
RULE_MODEL
附加规则模式表
50
RULE_TYP
附加规则类型表
51
RULE_DETAILS
附加规则详情表
3.3.2.2.建表脚本
3.3.2.3.数据库对照表
说明,数据库对照表对POS清算系统表中的字段进行了简要说明。
详见
4.BBIP环境搭建
请参考平台开发手册:
注:
这里是为了方便查看,将文档放在这里,最新文档以下发的平台开发手册为准。
5.BBOS环境搭建
请参考BBOS开发手册:
注:
这里是为了方便查看,将文档放在这里,最新文档以下发的BBOS开发手册为准。
6.CPOS项目原型
请参考文档:
原型生成器:
7.CPOS前端源码
分行自行维护前端代码。
8.需要分行实施的模块
8.1.数据初始化
8.1.1.清算品种初始化
注:
使用标准版,必须进行清算品种初始化
1.清算品种初始化
I、确定清算品种
清算品种一般分为:
Z-直联清算,J-间联清算,R-直联家易通实时,F-直联家易通非实时,T-第三方,品种类别中还可以细分。
II、在清算品种表里插入记录
在清算品种表里需要插入的字段如下:
字段
字段名称
必输性
说明
STL_TYP_ID
清算品种编号
必输
主键
STL_TYP
清算品种
必输
清算品种代号,可采用24个字母来定义,如直联清算为Z,这个代号对应下面配置介绍中的清算品种mapping中的key
STL_TYP_NME
清算品种名称
必输
BR
机构号
必输
BK
分行号
必输
STM_AC_TYP
出账账号类型
非必输
一级清算时必输
STM_AC
出账账号
非必输
清算内部户,业务提供,一级清算时必输
STM_AC_NME
出账账号户名
非必输
一级清算时必输
ADV_AC_TYP
垫付账号类型
非必输
直联家易通时必输
ADV_AC
垫付银行入账账号
非必输
直联家易通时必输
ADV_AC_NME
垫付账号户名
非必输
直联家易通时必输
STM_AC_BK_NME
出账账号行名
非必输
STM_AC_BK_NO
出账账号行号
非必输
8.1.2.银联文件导入数据初始化
注:
目前支持解析的银联文件如下,如果不是这些银联文件,标准版不支持,参数就不用配了,银联文件由分行自行解析。
1、银联代理清算商户结算行入账文件(SEAC)
2、银联代理清算收单机构一般交易流水文件(ACOMA)
3、IC卡电子现金应用的脱机消费受理方成功清算文件(INF)
4、差错交易受理方文件(AERR)
5、一般交易发卡方流水文件(ICOM)
6、差错交易发卡方流水文件(ERR)
7、品牌服务费总表(DLFEE)
配置步骤:
⏹FTP配置:
在BBIP.PLAT_FTP_TBL表中配置;
表字段说明:
字段名
说明
FTP_ID
FTP_ID,命名规则:
BKU_FTP_BK(分行号),如BKU_FTP_01315232999
IP
FTP服务器地址
PORT
端口,默认21
MDE
模式,默认1
BK
分行号
USR_NME
FTP用户名
PSW
FTP密码
DST_DIR
远程路径,配置固定值#{dstDir}
DST_FLE
远程文件名,配置固定值#{dstFle}
LOC_DIR
本地路径,配置固定值#{locDir}
LOC_FLE
本地文件名,配置固定值#{locFle}
RMK
备注
例子:
BKU_FTP_01315232999182.217.8.5321101315232999weblogicweblogic#{dstDir}#{dstFle}#{locDir}#{locFle}cpos银联文件FTP
⏹文件路径配置:
在BBIP.PLAT_PRM_TBL表中配置。
这一步是设置#{dstDir},#{locDir}具体的值,每个银联文件对应一组#{dstDir},#{locDir},有多少个银联文件,就配多少组#{dstDir},#{locDir}。
表字段说明:
字段名
说明
SYSTEM_CODE
系统码
PARAM_NAME
变量名称
PARAM_VALUE
变量值
PARAM_DESC
变量描述
例子:
CHNCPOSbkufile_01315232999DLFEE_remote/home/weblogic/bkufile/
CHNCPOSbkufile_01315232999DLFEE_local/home/bbipadm/CPOS/bkufile/
SQL语句
insertintoBBIP.PLAT_PRM_TBL(SYSTEM_CODE,PARAM_NAME,PARAM_VALUE,PARAM_DESC)values('CHNCPOS','bkufile_01315232999DLFEE_remote','/home/weblogic/bkufile/','');
insertintoBBIP.PLAT_PRM_TBL(SYSTEM_CODE,PARAM_NAME,PARAM_VALUE,PARAM_DESC)values('CHNCPOS','bkufile_01315232999DLFEE_local','/home/bbipadm/CPOS/bkufile/','');
注意:
CHNCPOS需改成分行系统码,PARAM_NAME:
bkufile_+分行号+文件类型+_remote,每个分行每种文件都需配置
银联文件规则配置:
CPOS.BKU_FLE_RULE银联文件规则表:
SQL语句
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('1','01443999998','01315232999','INO','99','DLFEE',null,'BKU_DLFEE','001','品牌服务费总表');
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('2','01443999998','01315232999','IND','01','IERR',null,'BKU_ERR_JNL','002','差错交易发卡方流水文件');
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('3','01443999998','01315232999','INH','01','SEAC',null,'BKU_SEAC','003','银联代理清算商户结算行入账文件');
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('4','01443999998','01315232999','IND','32','ACOMA',null,'BKU_ACOMA_JNL','004','银联代理清算收单机构一般交易流水文件');
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('5','01443999998','01315232999','IND','01','ICOM',null,'BKU_ICOM_JNL','005','一般交易发卡方流水文件');
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('6','01443999998','01315232999','INF','51','B',null,'BKU_INF_B','006','IC卡电子现金应用的脱机消费受理方成功清算文件');
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('7','01443999998','01315232999','IND','01','AERR',null,'BKU_AERR_JNL','007','差错交易受理方文件');
insertintoCPOS.BKU_FLE_RULE(ID,BK,BR,IN_FLAG,SN,BUSS_TYP,DETL_TYP,INP_TAB,BKU_FLE_TYP,BKU_FLE_NME)values('12','01441999999','01441800999','INO','99','DLFEE',null,'BKU_DLFEE','001','品牌服务费总表');
注意:
分行需要那种银联文件可根据需要配置,只需将BK,BR改成自己分行的BK,BR即可
。
8.1.3.交易状态数据初始化
1.交易状态现只支持一清可清算数据生成,清算数据导入
2.CPOS.PRO_INF交易信息表:
SQL语句
insertintoCPOS.PRO_INF(PRO_CDE,PRO_NME,PRO_ID)values('01','清算数据导入','cpos.settleDataProcessProcess');
insertintoCPOS.PRO_INF(PRO_CDE,PRO_NME,PRO_ID)values('02','一清可清算数据生成','cpos.splStlDataGenProcess');
注:
直接执行该语句就可以
8.1.4.流程状态数据初始化
1.CPOS.FLOW_INF流程信息表:
SQL语句
insertintoCPOS.FLOW_INF(PRO_ID,PRO_NAME,DIS_IN_STS,DIS_FIN_STS)values('cpos.settleDataProcessProcess','清算数据导入','0','1');
insertintoCPOS.FLOW_INF(PRO_ID,PRO_NAME,DIS_IN_STS,DIS_FIN_STS)values('cpos.splStlDataGenProcess','一级可清算数据生成','2','3');
insertintoCPOS.FLOW_INF(PRO_ID,PRO_NAME,DIS_IN_STS,DIS_FIN_STS)values('cpos.generateTmlSettleDataProcess','二级可清算数据生成','4','5');
insertintoCPOS.FLOW_INF(PRO_ID,PRO_NAME,DIS_IN_STS,DIS_FIN_STS)values('cpos.settlAccountProcess','一级清算入账','6','7');
insertintoCPOS.FLOW_INF(PRO_ID,PRO_NAME,DIS_IN_STS,DIS_FIN_STS)values('cpos.tmlSettlAccountProcess','二级清算入账','8','9');
注:
直接执行该语句就可以
8.1.5.代理行映射关系数据初始化
1.CPOS.AGENT_BANK_REL代理行映射关系表
分行必须需配置分行号BK,如果该分行的银联数据是由代理行导入,则应配代理行号AGENT_BANK,如果没有则NULL
8.1.6.清算报表下载初始化
1.CPOS.STL_RPT_TYP清算报表类型表
SQL语句
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('1','010','一清详细报表');
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('2','011','一清算入账成功报表');
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('3','012','一清算入账失败报表');
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('4','013','一清算入账未知状态报表');
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('5','020','二清详细报表');
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('6','021','二清算入账成功报表');
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('7','022','二清算入账失败报表');
insertintoCPOS.STL_RPT_TYP(ID,STL_RPT_TYP,STL_RPT_TYP_NME)values('8','023','二清算入账未知状态报表');
inser