境内外币支付系统 直联接口API使用手册
V1.1
目录
2适用对象3
3支持平台及中间件3
4使用说明3
4.1外币业务流程说明34.2直联行往帐发起流程说明4.3往账发送处理流程图 54.4直联行来帐接收流程说明 54.5来账接收(普通报文)流程图6 4.6来账接收(实时报文)流程74.7限定和约束 7
5直联接口API函数说明(C语言版本)7
5.1API函数清单7 5.2API函数说明85.2.1发送报文函数 85.2.2接收报文函数 85.2.4回滚事务函数 5.2.3提交事务函数 95.2.5获得错误代码及描述函数10 9
6安装过程12
6.3安装验证13
6.1安装准备126.2安装步骤12
7开发环境说明 14
7.1头文件147.2编译方法147.3makefile文件示例15 7.3.1AIX平台的makefile15
7.3.2 SUSE Linux 平台 makefile 16
8运行环境说明18
8.1目录结构18 8.2配置文件198.3环境变量20
8.4AIX平台动态库文件 208.4.1库文件清单208.5 SUSE Linux平台 8.4.2操作步骤 208.5.1库文件清单208.5.2操作步骤 21
1编写目的
本文档是《境内外币支付系统与结算银行账户处理系统接口规范》和《境内外币支付系统与商
业银行行内系统接口规范》的附件,主要描述了直联接口API的使用方法.目的是指导结算银行和 商业银行的开发人员依据此手册完成接入境内外币支付系统行内部分的系统改造工作.
本接口规范的期望读者包括:结算银行和商业银行的技术开发人员及其他相关人员.
2适用对象
本接口API只适用于Q-Q直联方式接入境内外币支付系统的直接(特许)参与者使用.
3支持平台及中间件
目前直联接口API支持操作系统平台为:2、32 bit SUSE Linux9.0 1、64 或 32 bit AIX5.3.支持的中间件产品为:1、MQ6.0说明:AIX平台的接口API连接32bit中间件MQ库. 2、TongL.ink/Q6.3
4使用说明
为了方便Q-Q直联方式接入的直接(特许)参与者发起和接收外币支付系统业务报文,并为消息中间件的封装,并对报文进行了初步的合法性检查,且增加了报文的身份验证码,由境内外币 了提高系统安全性,特提供直联接口API函数完成报文的发送和接收功能.该API完成了对操作支付系统业务处理中心(FXCC)验证身份码的合法性,对非通过接口API发送的往帐报文予以拒绝.
务报文. 直联行通过消息中间件接入外币支付系统的FXCC,直联行通过调用API发起和接收外币业
4.1外币业务流程说明
假如直联行A向直联行B发起一笔境内跨行贷记业务(FMT100)报文.如下图所示:
A行发起:A行组织好业务报文,先调用加签名函数生成签名串附加在报文中的第六块,再调用接口API发送报文函数对报文进行合法性检查、加身份验证码并放入发送队列,更加详细的报文格式请参照《境内外币支付系统报文格式标准》.2、 FXCC验证:FXCC从队列中得到A行发起的报文FMT100,进行身份验证(校验第7块:身份验证码),验证失败,直接丢弃报文,验证通过进行后续业务处理并转发该报 文到报文接收行B行的接收队列.3、 B行接收:B行调用API接收函数,从接收队列得到报文串,并进行身份验证(校验第7块:身份验证码),并返回行内系统应用验证结果,验证失败则丢弃报文,验证成功的继续调用核签函数进行核签,根据核签结果做后续处理.
说明:图中黄色标识模块为接口API需要完成的工作.
4.2直联行往帐发起流程说明
1、发起方(发起行行内系统)根据要求组织相应报文串并加数字签名后得到待发送的报文串(报 文串包括:{1:基本头){2:应用头}{3:用户头1{4:正文}{5:附加正文}{6:签名}).2、发起方调用[API:发送报文函数]CFXPS_SENDMSG(const char*pSendMsg);完成将待发送的报文进行合法性检查、加身份验证码(添加身份验证码后的报文串包括:{1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名}{7:身份验证串})和放入发送队列,根据返回码做相应处理:发送报文失败转4,并调用5获取错误码,成功则转3继续处理.5、发送方调用[API:获取错误码及错误描述]char*STDCALLCFXPS_GETERRDESCO;如果发送方在发送报文返回值不等于0(即发送失败),调用该函数获取错误码及错误描述,以便分析失败的原因.
3、发起方调用[API:提交事务函数]intCFXPS_COMMITO提交交易:
4、发起方调用[API:回滚事务函数]intCFXPS_ROLLBACKO回滚交易.
4.3往账发送处理流程图
4.4直联行来帐接收流程说明
1、接收方(接收行行内系统)需要接收实时来帐报文时调用[APl:接收报文函数]longCFXPS_RECVMSG(int nMsgType char**ppRecvMsg)从中间件顺序取得一笔待接收的实时来账报文(入参nMsgType=“0”时表示接收实时来账),取报文成功并对报文进行合法性检查和身份验证通过,则返回接收报文实际长度(返国值)和接收报文串的地址(ppRecvMsg)(返回报文结构为{1:基本头{2:应用头1{3:用户头1{4:正文}{5:附加正文116:签名})并转4,否则继续.
2、接收方(接收行行内系统)需要接收普通来帐报文时调用[APl:接收报文函数]longCFXPS_RECVMSG(int nMsgType char**ppRecvMsg)从中间件顺序取得一笔待接收的普通来账报文(入参nMsgType=“1”时表示接收普通来账),取报文成功并对报文进行合法性检查和