境内外币支付系统直联接口API使用手册

附件一:境内外币支付系统直联接口API 使用手册

境内外币支付系统 直联接口A P I 使用手册

V1.4

中国人民银行科技司 二〇〇八年四月

目录

1 2 3 4

编写目的 ........................................................................................................................................... 4 适用对象 ........................................................................................................................................... 4 支持平台及中间件 ........................................................................................................................... 4 使用说明 ........................................................................................................................................... 4 4.1 外币业务流程说明 .................................................................................................................. 4 4.2 直联行往帐发起流程说明 ...................................................................................................... 5 4.3 往账发送处理流程图 .............................................................................................................. 6 4.4 直联行来帐接收流程说明 ...................................................................................................... 6 4.5 来账接收(普通报文)流程图............................................................................................... 7 4.6 来账接收(实时报文)流程 .................................................................................................. 8 4.7 限定和约束 .............................................................................................................................. 8 直联接口API 函数说明(C 语言版本) . ...................................................................................... 8 5.1 API 函数清单 ........................................................................................................................... 8 5.2 API 函数说明 ........................................................................................................................... 9

5.2.1 发送报文函数 ................................................................................................................ 9 5.2.2 接收报文函数 ................................................................................................................ 9 5.2.3 提交事务函数 .............................................................................................................. 10 5.2.4 回滚事务函数 .............................................................................................................. 10 5.2.5 获得错误代码及描述函数 .......................................................................................... 11 安装过程 ......................................................................................................................................... 13 6.1 安装准备 ................................................................................................................................ 13 6.2 安装步骤 ................................................................................................................................ 13 6.3 安装验证 ................................................................................................................................ 14 开发环境说明 ................................................................................................................................. 15 7.1 头文件 .................................................................................................................................... 15 7.2 编译方法 ................................................................................................................................ 15 7.3 makefile 文件示例 ................................................................................................................. 15

7.3.1 AIX 平台的makefile ................................................................................................... 15 7.3.2 SUSE Linux平台makefile .......................................................................................... 17 运行环境说明 ................................................................................................................................. 19 8.1 目录结构 ................................................................................................................................ 19 8.2 配置文件 ................................................................................................................................ 20 8.3 环境变量 ................................................................................................................................ 20 8.4 AIX 平台动态库文件 ............................................................................................................ 21

8.4.1 库文件清单 .................................................................................................................. 21 8.4.2 操作步骤 ...................................................................................................................... 21 8.5 SUSE Linux平台 ................................................................................................................... 21

8.5.1 库文件清单 .................................................................................................................. 21 8.5.2 操作步骤 ...................................................................................................................... 21 8.6 签名串文件*.dat生成过程 . ................................................................................................... 22

5

6

7

8

版本修改记录:

[C]-[M]-[A]-[D]-

1 编写目的

本文档是《境内外币支付系统与结算银行账户处理系统接口规范》和《境内外币支付系统与商业银行行内系统接口规范》的附件,主要描述了直联接口API 的使用方法。目的是指导结算银行和商业银行的开发人员依据此手册完成接入境内外币支付系统行内部分的系统改造工作。

本接口规范的期望读者包括:结算银行和商业银行的技术开发人员及其他相关人员。 2

适用对象

本接口API 只适用于所有Q-Q 直联方式接入境内外币支付系统的直接(特许)参与者使用。 3

支持平台及中间件

目前直联接口API 支持操作系统平台为: 1、64或32 bit AIX5.3。 2、32 bit SUSE Linux9.0 支持的中间件产品为: 1、 MQ6.0

2、 TongLink/Q6.3

说明:AIX 平台的接口API 连接32 bit 中间件MQ 库。 4

使用说明

为了方便Q-Q 直联方式接入的直接(特许)参与者发起和接收外币支付系统业务报文,并为了提高系统安全性,特提供直联接口API 函数完成报文的发送和接收功能。该API 完成了对操作消息中间件的封装,并对报文进行了初步的合法性检查,且增加了报文的身份验证码,由境内外币支付系统业务处理中心(FXCC )验证身份码的合法性,对非通过接口API 发送的往帐报文予以拒绝。

直联行通过消息中间件接入外币支付系统的FXCC ,直联行通过调用API 发起和接收外币业务报文。

4.1 外币业务流程说明

假如直联行A 向直联行B 发起一笔境内跨行贷记业务(FMT100)报文。如下图所示: 1、 A 行发起:A 行组织好业务报文,先调用加签名函数生成签名串附加在报文中的第

六块,再调用接口API 发送报文函数对报文进行合法性检查、加身份验证码并放入发送队列,更加详细的报文格式请参照《境内外币支付系统报文格式标准》。

2、 FXCC 验证:FXCC 从队列中得到A 行发起的报文FMT100,进行身份验证(校验

第7块:身份验证码),验证失败,直接丢弃报文,验证通过进行后续业务处理并转发该报文到报文接收行B 行的接收队列。

3、 B 行接收:B 行调用API 接收函数,从接收队列得到报文串,并进行身份验证(校

验第7块:身份验证码),并返回行内系统应用验证结果,验证失败则丢弃报文,验证成功的继续调用核签函数进行核签,根据核签结果做后续处理。

说明:图中黄色标识模块为接口API 需要完成的工作。 4.2 直联行往帐发起流程说明

1、 发起方(发起行行内系统)根据要求组织相应报文串并加数字签名后得到待发送的报文串(报

文串包括:{1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名})。

2、 发起方调用[API:发送报文函数] CFXPS_SENDMSG(const char *pSendMsg);完成将待发送的

报文进行合法性检查、加身份验证码(添加身份验证码后的报文串包括:{1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名}{7:身份验证串})和放入发送队列,根据返回码做相应处理:发送报文失败转4,并调用5获取错误码,成功则转3继续处理。 3、 发起方调用[API:提交事务函数] int CFXPS_COMMIT()提交交易; 4、 发起方调用[API:回滚事务函数] int CFXPS_ROLLBACK()回滚交易。

5、 发送方调用[API:获取错误码及错误描述] char* STDCALL CFXPS_GETERRDESC();如果发

送方在发送报文返回值不等于0(即发送失败),调用该函数获取错误码及错误描述,以便分析失败的原因。

4.3 往账发送处理流程图

4.4 直联行来帐接收流程说明

1、 接收方(接收行行内系统)需要接收实时来帐报文时调用[API:接收报文函数] long

CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg)从中间件顺序取得一笔待接收的实时来账报文(入参nMsgType=‘0’时表示接收实时来账),取报文成功并对报文进行合法性检查和身份验证通过,则返回接收报文实际长度(返回值)和接收报文串的地址(ppRecvMsg )(返回报文结构为{1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名})并转4,否则继续。

2、 接收方(接收行行内系统)需要接收普通来帐报文时调用[API:接收报文函数] long

CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg)从中间件顺序取得一笔待接收的普通来

账报文(入参nMsgType=‘1’时表示接收普通来账),取报文成功并对报文进行合法性检查和身份验证通过,则返回接收报文实际长度和接收报文串(ppRecvMsg )({1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名})并转4,否则继续。

3、 如果接收报文失败(返回值小于0),则转5,并调用6获取错误码,依据错误码描述分析原因。

再次调用[API:接收报文函数] CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg)从中间件重新取得该报文,成功则转3继续。

4、 接收方调用[API:提交事务函数] int CFXPS_COMMIT()提交交易; 5、 接收方调用[API:回滚事务函数] int CFXPS_ROLLBACK ()回滚交易。

6、 接收方调用[API:获取错误码] char* CFXPS_GETERRDESC();如果接收方在接收报文时返回

值不等0,调用该函数获取错误码详细说明,以便检查失败的原因。 4.5 来账接收(普通报文)流程图

4.6 来账接收(实时报文)流程

4.7 限定和约束

1、 本API 已经封装了中间件产品MQ 和TLQ 的操作函数,无需商业银行直接操作MQ 和

TLQ 。

2、 发送或接收API 报文大小有条件约束,报文的大小最大不能超过50M 。对1M 以下的报

文系统直接处理,对于1M 以上,50M 以下的报文,采用了MQ/TLQ的系统分片功能自动分片,默认配置的分片大小为1M 。可以调用API 直接进行发送,由MQ/TLQ系统自身判断超长并自动分片;接收方可以直接调用API 进行大报文的接收,API 会返回拼装好的大报文给行内系统应用。接收API 函数内部申请存储区获取到报文后,将存储区的地址(char **ppRecvMsg)返回给商业银行,商业银行应用可以直接读取该存储区的报文信息,但注意不能破坏此存储区内容。

3、 目前支持的API 为C 语言编写的静态库(AIX)/和动态库(SUSE LINUX)。 4、 本API 支持多进程调用,暂不支持多线程调用。 5

直联接口API 函数说明(C 语言版本)

5.1 API 函数清单

说明:

5.2 API 函数说明 5.2.1 发送报文函数

【函数原型】

int CFXPS_SENDMSG(const char *pSendMsg); 【函数功能】

此函数完成商业银行向FXCC 发送往账报文。 【函数参数】 [参数1]:pSendMsg (输入)--待发送的报文串。

【返回码表】

无,详细错误码和错误描述请立即调用CFXPS_GETERRDESC()函数获取。 【调用说明】

商业银行应用需要发送往帐报文时使用,对需要加数字签名的报文应该加好数字签名后才调用此函数进行发送。 5.2.2 接收报文函数

【函数原型】

long CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg); 【函数功能】

此函数完成商业银行从FXCC 接收来账报文。

【函数参数】:

[参数1]:nMsgType (输入)-- 0-实时报文,1-普通报文。

[参数2]:ppRecvMsg (输出)--输出报文存放的存储区的地址,定义为指针的指针。

【返回码表】 无,详细错误码和错误描述请立即调用CFXPS_GETERRDESC()函数获取。 【调用说明】

1、 商业银行需要接收实时和普通来账报文时使用该函数。 2、 对实时报文和普通报文要分别调用此函数获得。

3、 此函数内部申请存储区并将获取到的报文存入此存储区,并将存储区的地址(char

**ppRecvMsg)返回给商业银行,商业银行应用程序可以直接读取该存储区的报文信息,但注意不能破坏此存储区内容。 5.2.3 提交事务函数

【函数原型】

int CFXPS_COMMIT(); 【函数功能】

此函数完成发送报文函数和接收报文函数的提交。 【函数参数】 [参数]:无 【返回码表】

【调用说明】 正常情况下应返回成功,如果返回失败,则是队列管理器出现异常,请检查MQ6.0/TLQ6.3运行情况。

5.2.4 回滚事务函数

【函数原型】

int CFXPS_ROLLBACK(); 【函数功能】

此函数完成发送报文函数和接收报文函数的提交。 【函数参数】

【返回码表】

【调用说明】

正常情况下应返回成功,如果返回失败,则是队列管理器出现异常,请检查MQ6.0/TLQ运行情况。

5.2.5 获得错误代码及描述函数

【函数原型】

char* CFXPS_GETERRDESC(); 【函数功能】

此函数完成发送报文函数和接收报文函数的返回值小于0时,调用该函数获取错误代码及描述,根据错误码及描述分析原因。 【函数参数】 无

【返回值说明】 返回字符串的指针。

- 11 -

- 12 -

【调用说明】 此函数用于获取详细的操作错误码和错误描述,应该在调用以上四个函数的任何一个后,如出现错误,应立即调用此函数获取详细错误码和错误描述。

6 安装过程

6.1 安装准备

6.2 安装步骤

AIX 平台操作方法: 1. 用普通用户登录系统

2. 把安装包中两个文件:installAIX.sh (通过ASCII

方式)和setupAIX.tar (通过BIN 方式),

通过FTP 上传到需要安装的目录,例如/fxapi目录下。 3. 增加文件installAIX.sh 的执行权限:

4. 执行installSle.sh 程序进行开始安装. 具体操作如下:

SUSE 平台操作方法: 1. 用普通用户登录系统

2. 把安装包中两个文件:installSle.sh (通过ASCII 方式)和setupSle.tar (通过BIN 方式),通

过FTP 上传到需要安装的目录,例如/fxapi目录下。 3. 增加文件installSle.sh 的执行权限:

- 13 -

4. 执行installSle.sh 程序进行开始安装. 具体操作如下:

6.3 安装验证

安装完成后请检查安装目录下的文件是否与如下列表中的文件清单相符:

- 14 -

7 开发环境说明

7.1 头文件

cfxpsapi.hpp

说明:在开发环境下,把这个头文件拷贝到所在的开发环境。 7.2 编译方法

1. 在使用静态或动态库时,在用户的工程中包含cfxpsapi.hpp 的头文件。

2. 在AIX 平台中,makefile 文件中要包含链接的静态库libmqfxapi.a (MQ 使用)或libtlqfxapi.a

(TLQ 使用),以及动态库libcapi.so 、libcfcatoolkit.so ,同时要链接中间件(MQ或TLQ) 库; 3. 在SUSE Linux平台中,makefile 文件中要包含链接的动态库(见下表格)同时要链接中间件

(MQ或TLQ) 库。

7.3 makefile 文件示例

7.3.1 AIX 平台的makefile

- 15 -

- 16 -

7.3.2

SUSE Linux平台makefile

- 17 -

- 18 -

8

运行环境说明

8.1 目录结构

- 19 -

8.2 配置文件

配置文件为:fxapi.ini ,其配置内容如下:

8.3 环境变量

在运行用户(例如:fxapi )的.profile 文件中加入环境变量,内容如下:

说明:

可根据自己系统的实际情况选择运行用户。

- 20 -

8.4 AIX 平台动态库文件 8.4.1 库文件清单

8.4.2 操作步骤

1、 MQ6.0/TLQ for AIX

(1)、 用root 用户登录。

(2)、 进入安装目录,例如:/fxapi/lib。

(3)、 把二个文件(libcfcatoolkit.so 、libcapi.so ),拷贝到/usr/lib/目录下。 (4)、 修改每个文件属性为755。 8.5 SUSE Linux平台 8.5.1 8.5.2

库文件清单

操作步骤

1、 MQ6.0 for SUSE Linux9.0

(1)、 用root 用户登录。

(2)、 进入安装目录,例如:/fxapi/lib。

(3)、 把六个文件(libcnccFXCCsle9.so 、libmqFXCCsle9.so 、libcfcaFXCCsle9.so 、

libmqfxapi.so 、libcfcatoolkit.so 、libcapi.so ),拷贝到/usr/lib/目录下。 (4)、 修改每个文件属性为755。

2、 TLQ6.3 for SUSE Linux9.0

(1)、 用root 用户登录。

(2)、 进入安装目录,例如:/fxapi/lib。

(3)、 把六个文件(libcnccFXCCsle9.so 、libtlqFXCCsle9.so 、libcfcaFXCCsle9.so 、

libtlqfxapi.so 、libcfcatoolkit.so 、libcapi.so ),拷贝到/usr/lib/目录下。 (4)、 修改每个文件属性为755。

8.6 签名串文件*.dat生成过程

数字签名串文件*.dat由直接参与者和结算银行自行生成,生成后放入API 运行环境的etc 目

录下。该文件用于API 检查发送的往帐报文是否是本行发起。

生成方法:使用签名函数对本节点行号(比如BJCNCNBJXXX 或者8887XXXXXXX )进行签名,将签名后的签名串保存到*.dat文件中。

其中签名函数的实现,详见《附件二:境内外币支付系统签名核签API 使用手册》中2.4节。 例如:要生成BJCNCNBJXXX.dat 文件,对节点行号串BNKBCNBJXXX 调用签名函数(使用本行的证书文件BJCNCNBJXXX.pfx 签名)生成签名串保存到BJCNCNBJXXX.dat 文件中。

附件一:境内外币支付系统直联接口API 使用手册

境内外币支付系统 直联接口A P I 使用手册

V1.4

中国人民银行科技司 二〇〇八年四月

目录

1 2 3 4

编写目的 ........................................................................................................................................... 4 适用对象 ........................................................................................................................................... 4 支持平台及中间件 ........................................................................................................................... 4 使用说明 ........................................................................................................................................... 4 4.1 外币业务流程说明 .................................................................................................................. 4 4.2 直联行往帐发起流程说明 ...................................................................................................... 5 4.3 往账发送处理流程图 .............................................................................................................. 6 4.4 直联行来帐接收流程说明 ...................................................................................................... 6 4.5 来账接收(普通报文)流程图............................................................................................... 7 4.6 来账接收(实时报文)流程 .................................................................................................. 8 4.7 限定和约束 .............................................................................................................................. 8 直联接口API 函数说明(C 语言版本) . ...................................................................................... 8 5.1 API 函数清单 ........................................................................................................................... 8 5.2 API 函数说明 ........................................................................................................................... 9

5.2.1 发送报文函数 ................................................................................................................ 9 5.2.2 接收报文函数 ................................................................................................................ 9 5.2.3 提交事务函数 .............................................................................................................. 10 5.2.4 回滚事务函数 .............................................................................................................. 10 5.2.5 获得错误代码及描述函数 .......................................................................................... 11 安装过程 ......................................................................................................................................... 13 6.1 安装准备 ................................................................................................................................ 13 6.2 安装步骤 ................................................................................................................................ 13 6.3 安装验证 ................................................................................................................................ 14 开发环境说明 ................................................................................................................................. 15 7.1 头文件 .................................................................................................................................... 15 7.2 编译方法 ................................................................................................................................ 15 7.3 makefile 文件示例 ................................................................................................................. 15

7.3.1 AIX 平台的makefile ................................................................................................... 15 7.3.2 SUSE Linux平台makefile .......................................................................................... 17 运行环境说明 ................................................................................................................................. 19 8.1 目录结构 ................................................................................................................................ 19 8.2 配置文件 ................................................................................................................................ 20 8.3 环境变量 ................................................................................................................................ 20 8.4 AIX 平台动态库文件 ............................................................................................................ 21

8.4.1 库文件清单 .................................................................................................................. 21 8.4.2 操作步骤 ...................................................................................................................... 21 8.5 SUSE Linux平台 ................................................................................................................... 21

8.5.1 库文件清单 .................................................................................................................. 21 8.5.2 操作步骤 ...................................................................................................................... 21 8.6 签名串文件*.dat生成过程 . ................................................................................................... 22

5

6

7

8

版本修改记录:

[C]-[M]-[A]-[D]-

1 编写目的

本文档是《境内外币支付系统与结算银行账户处理系统接口规范》和《境内外币支付系统与商业银行行内系统接口规范》的附件,主要描述了直联接口API 的使用方法。目的是指导结算银行和商业银行的开发人员依据此手册完成接入境内外币支付系统行内部分的系统改造工作。

本接口规范的期望读者包括:结算银行和商业银行的技术开发人员及其他相关人员。 2

适用对象

本接口API 只适用于所有Q-Q 直联方式接入境内外币支付系统的直接(特许)参与者使用。 3

支持平台及中间件

目前直联接口API 支持操作系统平台为: 1、64或32 bit AIX5.3。 2、32 bit SUSE Linux9.0 支持的中间件产品为: 1、 MQ6.0

2、 TongLink/Q6.3

说明:AIX 平台的接口API 连接32 bit 中间件MQ 库。 4

使用说明

为了方便Q-Q 直联方式接入的直接(特许)参与者发起和接收外币支付系统业务报文,并为了提高系统安全性,特提供直联接口API 函数完成报文的发送和接收功能。该API 完成了对操作消息中间件的封装,并对报文进行了初步的合法性检查,且增加了报文的身份验证码,由境内外币支付系统业务处理中心(FXCC )验证身份码的合法性,对非通过接口API 发送的往帐报文予以拒绝。

直联行通过消息中间件接入外币支付系统的FXCC ,直联行通过调用API 发起和接收外币业务报文。

4.1 外币业务流程说明

假如直联行A 向直联行B 发起一笔境内跨行贷记业务(FMT100)报文。如下图所示: 1、 A 行发起:A 行组织好业务报文,先调用加签名函数生成签名串附加在报文中的第

六块,再调用接口API 发送报文函数对报文进行合法性检查、加身份验证码并放入发送队列,更加详细的报文格式请参照《境内外币支付系统报文格式标准》。

2、 FXCC 验证:FXCC 从队列中得到A 行发起的报文FMT100,进行身份验证(校验

第7块:身份验证码),验证失败,直接丢弃报文,验证通过进行后续业务处理并转发该报文到报文接收行B 行的接收队列。

3、 B 行接收:B 行调用API 接收函数,从接收队列得到报文串,并进行身份验证(校

验第7块:身份验证码),并返回行内系统应用验证结果,验证失败则丢弃报文,验证成功的继续调用核签函数进行核签,根据核签结果做后续处理。

说明:图中黄色标识模块为接口API 需要完成的工作。 4.2 直联行往帐发起流程说明

1、 发起方(发起行行内系统)根据要求组织相应报文串并加数字签名后得到待发送的报文串(报

文串包括:{1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名})。

2、 发起方调用[API:发送报文函数] CFXPS_SENDMSG(const char *pSendMsg);完成将待发送的

报文进行合法性检查、加身份验证码(添加身份验证码后的报文串包括:{1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名}{7:身份验证串})和放入发送队列,根据返回码做相应处理:发送报文失败转4,并调用5获取错误码,成功则转3继续处理。 3、 发起方调用[API:提交事务函数] int CFXPS_COMMIT()提交交易; 4、 发起方调用[API:回滚事务函数] int CFXPS_ROLLBACK()回滚交易。

5、 发送方调用[API:获取错误码及错误描述] char* STDCALL CFXPS_GETERRDESC();如果发

送方在发送报文返回值不等于0(即发送失败),调用该函数获取错误码及错误描述,以便分析失败的原因。

4.3 往账发送处理流程图

4.4 直联行来帐接收流程说明

1、 接收方(接收行行内系统)需要接收实时来帐报文时调用[API:接收报文函数] long

CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg)从中间件顺序取得一笔待接收的实时来账报文(入参nMsgType=‘0’时表示接收实时来账),取报文成功并对报文进行合法性检查和身份验证通过,则返回接收报文实际长度(返回值)和接收报文串的地址(ppRecvMsg )(返回报文结构为{1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名})并转4,否则继续。

2、 接收方(接收行行内系统)需要接收普通来帐报文时调用[API:接收报文函数] long

CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg)从中间件顺序取得一笔待接收的普通来

账报文(入参nMsgType=‘1’时表示接收普通来账),取报文成功并对报文进行合法性检查和身份验证通过,则返回接收报文实际长度和接收报文串(ppRecvMsg )({1:基本头}{2:应用头}{3:用户头}{4:正文}{5:附加正文}{6:签名})并转4,否则继续。

3、 如果接收报文失败(返回值小于0),则转5,并调用6获取错误码,依据错误码描述分析原因。

再次调用[API:接收报文函数] CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg)从中间件重新取得该报文,成功则转3继续。

4、 接收方调用[API:提交事务函数] int CFXPS_COMMIT()提交交易; 5、 接收方调用[API:回滚事务函数] int CFXPS_ROLLBACK ()回滚交易。

6、 接收方调用[API:获取错误码] char* CFXPS_GETERRDESC();如果接收方在接收报文时返回

值不等0,调用该函数获取错误码详细说明,以便检查失败的原因。 4.5 来账接收(普通报文)流程图

4.6 来账接收(实时报文)流程

4.7 限定和约束

1、 本API 已经封装了中间件产品MQ 和TLQ 的操作函数,无需商业银行直接操作MQ 和

TLQ 。

2、 发送或接收API 报文大小有条件约束,报文的大小最大不能超过50M 。对1M 以下的报

文系统直接处理,对于1M 以上,50M 以下的报文,采用了MQ/TLQ的系统分片功能自动分片,默认配置的分片大小为1M 。可以调用API 直接进行发送,由MQ/TLQ系统自身判断超长并自动分片;接收方可以直接调用API 进行大报文的接收,API 会返回拼装好的大报文给行内系统应用。接收API 函数内部申请存储区获取到报文后,将存储区的地址(char **ppRecvMsg)返回给商业银行,商业银行应用可以直接读取该存储区的报文信息,但注意不能破坏此存储区内容。

3、 目前支持的API 为C 语言编写的静态库(AIX)/和动态库(SUSE LINUX)。 4、 本API 支持多进程调用,暂不支持多线程调用。 5

直联接口API 函数说明(C 语言版本)

5.1 API 函数清单

说明:

5.2 API 函数说明 5.2.1 发送报文函数

【函数原型】

int CFXPS_SENDMSG(const char *pSendMsg); 【函数功能】

此函数完成商业银行向FXCC 发送往账报文。 【函数参数】 [参数1]:pSendMsg (输入)--待发送的报文串。

【返回码表】

无,详细错误码和错误描述请立即调用CFXPS_GETERRDESC()函数获取。 【调用说明】

商业银行应用需要发送往帐报文时使用,对需要加数字签名的报文应该加好数字签名后才调用此函数进行发送。 5.2.2 接收报文函数

【函数原型】

long CFXPS_RECVMSG(int nMsgType, char **ppRecvMsg); 【函数功能】

此函数完成商业银行从FXCC 接收来账报文。

【函数参数】:

[参数1]:nMsgType (输入)-- 0-实时报文,1-普通报文。

[参数2]:ppRecvMsg (输出)--输出报文存放的存储区的地址,定义为指针的指针。

【返回码表】 无,详细错误码和错误描述请立即调用CFXPS_GETERRDESC()函数获取。 【调用说明】

1、 商业银行需要接收实时和普通来账报文时使用该函数。 2、 对实时报文和普通报文要分别调用此函数获得。

3、 此函数内部申请存储区并将获取到的报文存入此存储区,并将存储区的地址(char

**ppRecvMsg)返回给商业银行,商业银行应用程序可以直接读取该存储区的报文信息,但注意不能破坏此存储区内容。 5.2.3 提交事务函数

【函数原型】

int CFXPS_COMMIT(); 【函数功能】

此函数完成发送报文函数和接收报文函数的提交。 【函数参数】 [参数]:无 【返回码表】

【调用说明】 正常情况下应返回成功,如果返回失败,则是队列管理器出现异常,请检查MQ6.0/TLQ6.3运行情况。

5.2.4 回滚事务函数

【函数原型】

int CFXPS_ROLLBACK(); 【函数功能】

此函数完成发送报文函数和接收报文函数的提交。 【函数参数】

【返回码表】

【调用说明】

正常情况下应返回成功,如果返回失败,则是队列管理器出现异常,请检查MQ6.0/TLQ运行情况。

5.2.5 获得错误代码及描述函数

【函数原型】

char* CFXPS_GETERRDESC(); 【函数功能】

此函数完成发送报文函数和接收报文函数的返回值小于0时,调用该函数获取错误代码及描述,根据错误码及描述分析原因。 【函数参数】 无

【返回值说明】 返回字符串的指针。

- 11 -

- 12 -

【调用说明】 此函数用于获取详细的操作错误码和错误描述,应该在调用以上四个函数的任何一个后,如出现错误,应立即调用此函数获取详细错误码和错误描述。

6 安装过程

6.1 安装准备

6.2 安装步骤

AIX 平台操作方法: 1. 用普通用户登录系统

2. 把安装包中两个文件:installAIX.sh (通过ASCII

方式)和setupAIX.tar (通过BIN 方式),

通过FTP 上传到需要安装的目录,例如/fxapi目录下。 3. 增加文件installAIX.sh 的执行权限:

4. 执行installSle.sh 程序进行开始安装. 具体操作如下:

SUSE 平台操作方法: 1. 用普通用户登录系统

2. 把安装包中两个文件:installSle.sh (通过ASCII 方式)和setupSle.tar (通过BIN 方式),通

过FTP 上传到需要安装的目录,例如/fxapi目录下。 3. 增加文件installSle.sh 的执行权限:

- 13 -

4. 执行installSle.sh 程序进行开始安装. 具体操作如下:

6.3 安装验证

安装完成后请检查安装目录下的文件是否与如下列表中的文件清单相符:

- 14 -

7 开发环境说明

7.1 头文件

cfxpsapi.hpp

说明:在开发环境下,把这个头文件拷贝到所在的开发环境。 7.2 编译方法

1. 在使用静态或动态库时,在用户的工程中包含cfxpsapi.hpp 的头文件。

2. 在AIX 平台中,makefile 文件中要包含链接的静态库libmqfxapi.a (MQ 使用)或libtlqfxapi.a

(TLQ 使用),以及动态库libcapi.so 、libcfcatoolkit.so ,同时要链接中间件(MQ或TLQ) 库; 3. 在SUSE Linux平台中,makefile 文件中要包含链接的动态库(见下表格)同时要链接中间件

(MQ或TLQ) 库。

7.3 makefile 文件示例

7.3.1 AIX 平台的makefile

- 15 -

- 16 -

7.3.2

SUSE Linux平台makefile

- 17 -

- 18 -

8

运行环境说明

8.1 目录结构

- 19 -

8.2 配置文件

配置文件为:fxapi.ini ,其配置内容如下:

8.3 环境变量

在运行用户(例如:fxapi )的.profile 文件中加入环境变量,内容如下:

说明:

可根据自己系统的实际情况选择运行用户。

- 20 -

8.4 AIX 平台动态库文件 8.4.1 库文件清单

8.4.2 操作步骤

1、 MQ6.0/TLQ for AIX

(1)、 用root 用户登录。

(2)、 进入安装目录,例如:/fxapi/lib。

(3)、 把二个文件(libcfcatoolkit.so 、libcapi.so ),拷贝到/usr/lib/目录下。 (4)、 修改每个文件属性为755。 8.5 SUSE Linux平台 8.5.1 8.5.2

库文件清单

操作步骤

1、 MQ6.0 for SUSE Linux9.0

(1)、 用root 用户登录。

(2)、 进入安装目录,例如:/fxapi/lib。

(3)、 把六个文件(libcnccFXCCsle9.so 、libmqFXCCsle9.so 、libcfcaFXCCsle9.so 、

libmqfxapi.so 、libcfcatoolkit.so 、libcapi.so ),拷贝到/usr/lib/目录下。 (4)、 修改每个文件属性为755。

2、 TLQ6.3 for SUSE Linux9.0

(1)、 用root 用户登录。

(2)、 进入安装目录,例如:/fxapi/lib。

(3)、 把六个文件(libcnccFXCCsle9.so 、libtlqFXCCsle9.so 、libcfcaFXCCsle9.so 、

libtlqfxapi.so 、libcfcatoolkit.so 、libcapi.so ),拷贝到/usr/lib/目录下。 (4)、 修改每个文件属性为755。

8.6 签名串文件*.dat生成过程

数字签名串文件*.dat由直接参与者和结算银行自行生成,生成后放入API 运行环境的etc 目

录下。该文件用于API 检查发送的往帐报文是否是本行发起。

生成方法:使用签名函数对本节点行号(比如BJCNCNBJXXX 或者8887XXXXXXX )进行签名,将签名后的签名串保存到*.dat文件中。

其中签名函数的实现,详见《附件二:境内外币支付系统签名核签API 使用手册》中2.4节。 例如:要生成BJCNCNBJXXX.dat 文件,对节点行号串BNKBCNBJXXX 调用签名函数(使用本行的证书文件BJCNCNBJXXX.pfx 签名)生成签名串保存到BJCNCNBJXXX.dat 文件中。


相关文章

  • 境内外币支付系统运行管理规定(试行)
  • 境内外币支付系统运行管理规定(试行) 字号 大 中 小 文章来源:支付结算司 2009-05-04 16:21:48 打印本页 关闭窗口 第一章 总 则 第一条 为规范境内外币支付系统(以下简称外币支付系统)的运行管理,确保外币支付系统安全 ...查看


  • NC63产品手册-银企直连
  • 产品手册- V6.3 用友软件股份有限公司银企直连 版权 用友集团版权所有 未经用友集团的书面许可,本操作手册任何整体或部分的内容不得被复制.复印.翻 译或缩减以用于任何目的.本操作手册的内容在未经通知的情形下可能会发生改变,敬请留意.请注 ...查看


  • 个人外汇管理办法实施细则 1
  • 个人外汇管理办法实施细则 第一章 总则 第一条 为规范和便利银行及个人的外汇业务操作,根据<个人外汇管理办法>,制定本细则.  第二条 对个人结汇和境内个人购汇实行年度总额管理.年度总额分别为每人每年等值5万美元.国家外汇管理 ...查看


  • 斜梯形锥螺纹联接强度计算方法探讨
  • 第28卷第5期 2007年 5月 煤 矿 机 械 Vol 128No 15May. 2007 斜梯形锥螺纹联接强度计算方法探讨 徐子平, 孙玉萍, 曹年宝 (煤炭科学研究总院南京研究所, 南京210018) 摘要:介绍了螺纹的种类和分类方法 ...查看


  • 除砂器操作手册
  • CSQ78-70 除砂器 (3 1/16-10000psi) 操作手册 为了防止万一--: 请仔细阅读操作手册后方可操作! 操作时必问你自己,万一--. 目 录 一. 安全提示 二. 技术数据 三. 简介 四. 操作 五. 操作提示 六. ...查看


  • 金融营销学
  • 金融营销学作业(一) 序号92 金融1103 刘一人 学号1103010347 一.案例分析 1.分析小陈对待银行客户经理这项工作的心理存在什么问题 客户经理既是银行与客户关系的代表,又是银行对外业务的代表,不仅需要全面了解客户需求并向其营 ...查看


  • 中国现代化支付系统CNAPS
  • 中国现代化支付系统CNAPS 中国现代化支付系统是中国人民银行按照我国支付清算需要,并利用现代化计算机技术和通讯网络开发建设的,能够有效.安全处理各银行办理的异地.同城各种支付业务及其资金清算和货币市场交易资金清算的应用系统.由大额实时支付 ...查看


  • 银行一线柜员任职资格考试题库
  • 一线柜员任职资格考试题库 一 单项选择题 <钞票及票据鉴别> 1.截至2002年11月18日,第五套人民币共发行了( )种面额纸币和( )种面额的硬币. A. 6 .3 B. 5 .3 C. 4 .3 D. 7 .3 B 2.鉴 ...查看


  • 人民银行现代支付系统宣传
  • 支 付 宣 传 资 料 一.中国现代化支付系统 1.中国现代化支付系统概述? 中国现代化支付系统是中国人民银行按照我国支付清算需要,并利用现代计算机技术和通信网络开发建设的,能够高效.安全处理各银行办理的异地.同城各种支付业务及其资金清算和 ...查看


热门内容