当前位置:文档之家› 招商银行网上企业银行嵌入式直连方案

招商银行网上企业银行嵌入式直连方案

企业银行商务支付系统WEB版开发指南version 3.0招商银行China Merchants Bank版权所有不得复制修订记录日期修订版本修订人修订内容2012-4-27 1.0 杨成海2014-5-29 2.0 徐蓓增加3.3.4支付内部户订单和3.3.5预保留订单;增加4.1.2支付结果通知(支付收方内部户和预保留);修改3.3.1支付订单、电票出票订单、电票背书订单增加字段“支付结果通知地址”;修改4.3 通知地址设置。

2015-5-25 3.0 徐蓓增加6.自颁发文件证书;3.3订单信息增加字段“文件证书签名时间戳”;修改2.2和3.1增加自颁发证书流程相关说明。

目录1、前言 (3)1.1.概述 (3)1.2.背景 (3)1.3.阅读对象 (3)1.4.术语定义 (3)2、解决方案 (4)2.1.概述 (4)2.2.结构示意图 (4)2.3.客户端要求 (7)3、订单支付 (8)3.1.重要说明 (8)3.2.charset(信息编码) (9)3.3.order(订单信息) (9)3.3.1 支付订单 (9)3.3.2电票出票支付订单 (10)3.3.3电票背书支付订单 (11)3.3.4支付收方内部户订单(适用并笔入账) (13)3.3.5预保留订单 (14)3.4.sigdat(签名信息) (15)3.5.result(返回信息) (15)3.6.范例 (16)4、支付结果通知 (18)4.1.订单支付结果通知 (18)4.1.1支付结果通知 (18)4.1.2支付结果通知(支付收方内部户和预保留) (19)4.2.商户应答 (21)4.3.通知地址设置 (21)4.4.通知结果查询 (22)5、银企直联 (23)5.1.订单状态信息查询 (23)5.2.验证签名 (23)5.3.生成签名 (23)6、自颁发文件证书 (24)6.1.自颁发证书生成 (24)6.2.验证签名 (25)6.3.生成签名 (27)6.4.JAVA开发包下载和说明 (28)7、支付测试流程示例 (30)7.1.生成签名 (30)7.1.1编辑订单签名报文 (30)7.1.2 启动并登录银企直联前置机 (30)7.1.3 通过直联程序生成订单信息签名 (32)7.2.根据订单信息及签名信息完成支付操作 (34)7.5.验证银行签名 (37)7.5.1通过直联程序验证经办结果签名 (37)7.5.2通过开发包验证经办结果签名 (38)8、附录 (39)8.1.数据类型约定 (39)1、前言1.1.概述本开发指南对招商银行企业银行商务支付系统(以下简称本系统)进行详细地描述,通过该指南可以对本系统有个全面地了解,并可用于指导网站如何与该系统进行交互,实现商务支付1.2.背景目前网站有自己的信息流和物流管理,唯独缺少与之相配套的支付手段(既电子商务的资金流的一部分)。

企业银行的商务支付业务就是基于银行作为支付手段的提供者,参与该业务流程的一种方案,以便实现初步的电子商务支付功能。

1.3.阅读对象预期读者为实现和本系统进行交互的开发人员,以及其他需要了解本系统的人员。

1.4.术语定义订单:由网站产生的,包含企业购买商品或享受服务的要素的信息,包括支付信息和业务信息。

商务支付:网站产生的订单通过企业银行完成订单支付等功能的业务。

2、解决方案2.1.概述本系统整合在招商银行企业银行公众版中,与商务支付旧版本向下兼容。

网站将订单信息以post 的方式提交到银行指定网页,买家在该网页上进行支付。

买家操作时无需安装客户端软件(使用windows 系统自带的IE 浏览器),系统维护升级时也会自动进行无需人工干预。

2.2.结构示意图图1. 商户使用网银证书的流程图企业银行大众版服务器企业商户网站订单提交①订单信息和签名结果③支付信息③订单支付④支付结果及签名⑤招行直联前置机签名②/验签⑥ 数据库订单信息验签入库/查询 订单结果服务器签名公钥下载/订单查询企业商户网站企业银行大众版服务器1.订单提交自颁发文件证书私钥企业网银公钥2.签名3.订单信息和签名4.订单支付5.支付经办结果和银行签名5支付经办结果6.验证签名0.自颁发证书0.下载公钥3.支付信息确认图2. 商户使用自颁发证书流程图● 自颁发证书/下载公钥: 如果商户使用文件证书,则需要商户的企业网银管理员登录企业网银给自己颁发证书。

颁发后下载商户的文件证书和企业网银的公钥或证书。

● 订单提交:企业在网站上购物,提交订单进行支付。

● 签名:网站生成该企业的订单,并通过直联前置机对订单信息进行签名。

签名可以使用商户的网银硬件证书(u-key )通过银企直联系统完成,也可以通过企业自签发的文件证书完成。

● 订单信息和签名:网站将订单信息以及签名结果post 到招行指定的网页。

● 支付信息确认:企业确认订单信息是否正确,正确后登录企业银行公众版进行订单支付。

●订单支付:企业对该订单进行支付(蓝色区域表示不可修改)●支付经办结果及签名:订单支付后,银行通知商户该订单的支付经办结果及支付经办结果签名信息。

数据以HTTP协议post的形式将表单提交到商户指定的网址,数据编码与商户提交订单信息时的编码一致。

(例如商户以GB2312编码提交订单信息到银行,这里则以同样的编码GB2312返回)●验证签名:商户对支付经办结果及支付经办结果签名进行验签,保证银行系统传过来的数据没有被篡改(可选步骤)。

验证签名可以通过银企直联前置机完成,也可以通过开发包(jar)完成。

如果通过前置机完成,则不需要输入公钥,前置机会自动下载公钥,如果通过开发包则需要通过企业网银下载招行企业网银证书(含公钥)。

2.3.客户端要求系统要求●硬件:建议Pentium133以上CPU,1GB RAM,至少256色(建议16位以上真彩)显示,10G以上的空闲硬盘空间。

对数字证书卡用户,需要一个串口或USB口,用于安装数字证书卡驱动器;●操作系统:建议中文/英文WINDOWS XP/2003/7/2008,对英文WINDOWS,需要外挂中文平台;●浏览器:必须安装Microsoft Internet Explorer 6.0或6.0版本以上的浏览器。

本系统不支持Netscape的浏览器;●系统环境:应确保系统中没有病毒、木马等有害程序。

企业要求●开通招行企业银行(版本V4.0以上);●开通商务支付等业务,经办用户需要拥有招行签发的数字证书卡。

3、订单支付3.1.重要说明网站将订单及订单签名数据以post的形式将表单提交到招行指定网址。

post的信息包括:域order(订单信息,必输)、域sigdat(订单签名,可空)、域charset(信息编码,可空,空表示订单信息为gb2312编码)。

域数据如果没有特别说明,都采用以下的数据格式:1、每条记录以'\0'结束;2、每条记录由多个字段组成,字段间用" ;"(空格加分号)分开,各个字段格式为:字段名=数值;3、字段之间没有顺序关系;4、如果某个字段对应的数值为空,则该字段可以省略;5、字段如果对应日期,格式为:yyyymmdd;对应时间,格式为:hhmmss;对应日期+时间,格式为:yyyymmddhhmmss;6、字段如果对应金额,以元为单位,格式为:nnnnnnnnnnnnn.nn,整数部分最多13位,小数部分最多2位。

订单提交的地址:【测试环境】无签名:http://58.61.30.110/CmbBank_GenShell/UI/GenShellPC/Login/B2B/O rderConfirm.aspx网银证书签名:测试环境暂时无法签名,因为没有提供硬件key。

http://58.61.30.110/CmbBank_GenShell/UI/GenShellPC/Login/B2B/Or derConfirmSigned.aspx自颁发文件证书签名:http://58.61.30.110/CmbBank_GenShell/UI/GenShellPC/Login/B2B/Or derConfirmSS.aspx【生产环境】无签名:建议生产环境不要使用没有商户签名的订单提交,该功能仅作向下兼容支持。

https:///CmbBank_GenShell/UI/GenShellPC/Log in/B2B/OrderConfirm.aspx网银证书签名:https:///CmbBank_GenShell/UI/GenShellPC/Log in/B2B/OrderConfirmSigned.aspx自颁发文件证书签名:https:///CmbBank_GenShell/UI/GenShellPC/Login/B2B/O rderConfirmSS.aspx提示:由于测试环境无法发硬件网银key,所以无法在公网测试环境测试网银证书签名的清单提交。

因此如果要使用网银证书签名,请在测试环境先测试无签名的订单提交,上线前在生产环境验证签名版本。

3.2.charset(信息编码)由商户指定order域(订单信息)编码,WEB版商务支付新增域,可填gb2312或utf-8,空默认为gb2312。

result(返回信息)编码与order域(订单信息)编码相同。

3.3.order(订单信息)Order为单记录;现在支持3种订单(与旧版商务支付3.1版保持一致):支付订单、电票出票支付订单、电票背书支付订单。

3.3.1 支付订单支付订单名称代码类型可空描述商户编号MCHNBR C(10) 否网站的企业银行商户编号订单号REFORD C(40) 否订单号+订单支付号必须唯一查询对账单时,可查到订单号+订单支付号信订单支付号SUBORD C(10) 是息,但只显示20个字符,因此建议商户生成的订单号+订单支付号长度不要超过20个字符订单币种CCYNBR C(2) 否如10表示人民币订单金额TRSAMT M 否收方账号CRTACC C(35) 否该账号的币种必须与订单币种字段相符收方账户名CRTNAM Z(62) 否收方开户行CRTBNK Z(62) 否收方账号开户行名称,如:招商银行北京分行收方省份CRTPVC Z(16) 否收方账号开户行所在的省份,格式为:XX省(或市或自治区)。

如:广东省、北京市或新疆维吾尔自治区等。

收方城市CRTCTY Z(20) 否收款方账号开户行所在的城市名,指市或省辖行政单位。

如:深圳市。

对直辖市,该字段可空。

收方县/区CRTDTR Z(20) 是收方账号开户行所在的县或区,如:宝安区。

订单失效日期CNLDAT D 是企业必须在该日期前完成经办和审批,否则该订单失效如果该字段为空,则订单失效日期=订单产生日期+商户开户时指定的失效天数经办失效日期INVDAT D 是如果这两个字段都非空,则企业必须在经办失效日期和经办失效时间前完成经办,否则该订单失效经办失效时间INVTIM T 是中间节点标志KEYACC C(1) 是是否多收方中间节点账户(空表示N)Y:是N:否注意:已无用,请填空或N再确认标志ORDCFM C(1) 是订单是否需要商户再确认(空表示N)Y:是N:否电子邮件NTFCH1 C(36) 是用于交易成功后的邮件通知移动电话NTFCH2 C(16) 是用于交易成功后的邮件通知回调地址RETURL C(100) 是用于通知商户企业的经办结果,具体见3.5返回信息校验码CHKNUM C(30) 是支付结果通知地址FINURL C(100) 是 4.3通知地址设置设置支付结果通知地址。

相关主题