中国建设银行网上银行项目商商户户接接口口说说明明版版本本55..3300中国建设银行个人网上银行项目组2010年11月商户接口说明商户接口规范.doc第i页打印日期:01/14/20文文档档修修改改记记录录版本日期说明编写者审核者1.002000年8月15日修改1.5期文档舒展1.102000年8月21日增加商户对数字签名处理舒展1.202000年12月20日在银行向商户的返回串中(原文和签名)增加REMARK1和REMARK2黄欣3.002004年9月24日增加客户为企业客户的接口周明若4.002007年1月23日修改REMARK1和REMARK2字段长度(改为30)于新林5.102007年9月15日修改商户对银行接口李超5.202007年11月28日1.添加第6点:银行商户接口参数(服务器通知)2.修改网上支付流程(红色字体部分)胡向军程浩5.302010年11月1.增加密钥加密接口说明2.增加防钓鱼接口说明3.增加64位WINDOWSSERVER2008平台下的.NET商户验签4.增加使用Socket商户验签jar包(支持目前所有主流平台,尤其适用于linux+php、win2008+asp等商户系统)胡向军程浩商户接口说明商户接口规范.doc第ii页打印日期:01/14/20目录1.网上支付使用条件...................................................................................................................11.1客户进行网上支付的条件...............................................................................................11.2商户在建行网银系统开户...............................................................................................12.网上支付流程...........................................................................................................................22.1网上支付业务流程图:...................................................................................................22.2客户使用建行证书...........................................................................................................32.3网银系统返回信息...........................................................................................................32.4商户的货款结算与对账流程...........................................................................................42.5商户向客户退还货款的流程...........................................................................................42.5.1当日退款....................................................................................错误!未定义书签。2.5.2隔日退款....................................................................................错误!未定义书签。3.网上支付接口(个人客户)...................................................................................................5附录1:MAC算法说明..................................................................................................................6附录2:数字签名算法说明............................................................................................................8商户接口说明商户接口规范.doc第1页打印日期:01/14/2011..网网上上支支付付使使用用条条件件1.1客户进行网上支付的条件1)与建行签约的客户客户已在建设银行签约,申请网上支付服务客户签约的账户(信用卡或储蓄卡账户)可用于网上支付其购物的商户提供了建行支付功能网上支付的结算范围不能超过建行网上银行的辖区范围2)未与建行签约的客户在建设银行有账户(信用卡或储蓄卡账户)其购物的商户提供了建行支付功能网上支付的结算范围不能超过建行网上银行的辖区范围1.2商户在建行网银系统开户商户与建设银行签订协议银行为其提供结算账户与网上预申请密码在网上填写申请(需输入预申请密码才能见到开户申请表)网银中心授理并核发CA证书,建立商户信息维护表商户下载证书如果是需要实时反馈支付信息的商户,登录网银系统,申请密钥完成开户商户接口说明商户接口规范.doc第2页打印日期:01/14/2022..网网上上支支付付流流程程2.1网上支付业务流程图:网上支付业务流程步骤说明:1)客户登录商户网站,选择商户网站商品。2)客户将选好的商品放入购物车,并下订单。商户提供商户代码、订单号、合计金额等信息;3)客户选择代理付款的银行-建行,确认后,商户代码、订单信息、合计金额通过浏览器URL传到建行网上银行站点;网上银行自动显示支付页面,客户登录支付页面、查看安全提示或者安全问答,然后选择支付账户,输入密码点击支付,如果是签约客户则启用证书等安全工具。支付信息经加密后传送到网银中心;4)网银中心接收客户支付信息,转发到银行后台业务处理系统;5)银行后台业务系统处理后,返回处理结果给网银;6)网银通知客户支付(扣帐)是否成功。如果扣帐成功,提示客户注意接收商户返回的送货信息;对于不需要立即响应的商户,跳过步骤7、8;7)对于需要立即响应的商户,如果支付成功,网银将成功结果反馈给商户。若支付失败,不返回给商户信息商户网银客户银行后台13245678商户接口说明商户接口规范.doc第3页打印日期:01/14/208)对于需要立即响应的商户,收到银行扣帐成功的通知后,发给客户送货信息。如客户收到银行支付(扣帐)成功通知(步骤6),但未收到商户送货信息,则需向商户查询。日终时,商户与开设结算账户的建设银行(网银成员行)进行流水核对,对已支付但未得到商户确认的交易进行退款处理。2.2客户使用建行证书客户在商户网站选择建行支付后,被链接到建行网上银行网站。该链接将商户名、柜台号、定单号、金额,验证信息传到网上银行系统。客户进入建行网上银行系统时选择是否使用建行证书进行支付。1)如果是建行签约客户,可以选择有证书支付输入用户号及登录密码,进入网上支付页面,选择使用证书支付后。支付页面显示商户名、柜台号、定单号、金额等商户传来的信息(不能改动)。客户选择付款账户,输入交易密码,选择“确定”或“取消”2)如果客户没有与建行签约,只能使用无证书支付选择无证书支付后,进入网上支付页面支付页面显示商户名、柜台号、定单号、金额等商户传来的信息(不能改动)。客户输入龙卡卡号和密码,选择“确定”或“取消”。2.3网银系统返回信息网银系统返回给商户成功或失败信息(按商户类型,分两种情况进行处理)1)对于不需要实时反馈支付结果的商户,直接将支付结果通过浏览器显示给客户(业务流程步骤6)。2)对于需要实时反馈支付结果的商户,将支付结果返回客户(业务流程步骤6),同时,如果支付成功,将结果和数字签名信息(注:签名算法和签名内容由建行指定)反馈给商户(业务流程步骤7),签名校验成功后,进行后续处理;如果支付失败,不再通知商户。商户接口说明商户接口规范.doc第4页打印日期:01/14/202.4商户的货款结算与对账流程1)每个商户在建行开设专用结算账户。客户在建行网上银行支付功能下付款,货款记入商户的专用结算账户(含定单号信息)。2)商户通过浏览器登录建行网上银行,可实时查询网上支付流水;对于需要实时反馈支付结果的商户,由于在交易过程中已获取了支付结果,因此也可在商户本地数据库中查到支付信息。3)商户也可通过浏览器登录商户管理平台下载对账文件(包括支付流水和退款流水)。4)商户如果需采用批量查询接口进行对账,具体操作详见“2.商户查询接口”。2.5商户向客户退还货款的流程退还货款是指银行支付(扣款)成功后,因客户向商户提出退货或商户无法配送商品,商户通过银行向客户退还货款。退款流程如下:1)商户登录建行网上银行,选择网上退款功能。2)商户输入需退款的定单号或日期段来查询订单信息。3)银行查询原始交易返回交易日期和付款金额。4)商户输入退款金额(全部或部份),交易密码。5)银行后台系统检验是否能退款,返回成功或失败信息。6)商户也可以通过批量退款功能进行退款。商户接口说明商户接口规范.doc第5页打印日期:01/14/2033..网网上上支支付付接接口口((个个人人客客户户))个人客户在商户网站选择商品后,商户网站生成支付订单信息,传送到建行支付网关,目前建行支付接口包括:1.MD5摘要支付接口2.密钥加密支付接口3.防钓鱼支付接口详见“网上支付接口”目录,商户只需选择其中一个接口开发即可。商户接口说明商户接口规范.doc第6页打印日期:01/14/20附附录录11::MMAACC算算法法说说明明建设银行网上银行项目组决定对商户向网上银行系统提交的交易内容进行MAC校验,校验算法采用标准MD5算法,不带密钥。该算法的详细说明请参见RFC1321文档。我们假设商户实行标准的MD5算法对向网上银行系统提交的交易内容进行MAC校验,产生128位(bit)的MAC结果。输入为字符串,输出为16进制字符表示的字符串。下面是对MAC结果的显示方式的描述:1、对128位的交易结果按4位为一个单位进行划分,共获得32段2、将每段看成一个16进制数,如0011为0X3,1101为0Xd。3、将这个数映射到ASCII码表,形成相应的字符,如0X2为“2”,0Xd为“d”。4、将这些字符连成一个字符串,长度为32。下面是使用JAVA语言对表现方法的描述:publicstaticStringbintoascii(byte[]bySourceByte){intlen,i;bytetb;charhigh,tmp,low;Stringresult=newString();len=bySourceByte.length;for(i=0;ilen;i++){tb=bySourceByte[i];tmp=(char)((tb4)&0x000f);if(tmp=10)high=(char)('a'+tmp-10);elsehigh=(char)('0'+tmp);result+=high;tmp=(char)(tb&0x000f);商户接口