商银宝安全电子合同交易平台支付接口说明1.概述商银宝网上支付主要用于解决网上交易的付费问题。商银宝安全电子合同交易平台网上支付系统定义了一个和商户系统的开放接口,商户系统通过这一接口就可以和商银宝网上支付系统联通,完成网上交易的资金结算。商银宝网上支付系统接口简单,使用方便;对商户系统没有任何附加要求。2.安全控制网上交易的传输安全控制手段采用电子证书的签名验证。商银宝的WEBSERVER将安装一个证书(Certificate),客户端的浏览器发送CGI请求时使用http协议。所有用http发送的请求以及WebServer返回的结果都会自动使用证书签名加密。3.支付方式在用户完成支付过程后控制能够从商银宝WEB系统自动转回商户WEB系统,并且商户WEB系统能够知道用户的付款情况。比如,出售信息产品的商户,在支付成功的情况下,商户的结果页除包含支付成功通知信息外,还可以包含用户购买的信息产品。要求商户WEB系统必须提供一个支付结果通知命令。商银宝WEB系统在收到支付网页发出的支付命令后,先执行扣款操作,然后返回结果通知商户WEB系统,并根据指定的通知结果命令将结果页返回用户的浏览器。商户WEB用户浏览器商银保WEB4.支付结果页1.生成支付5.返回结果页3.支付结果通知2.支付命令4.接口方式说明支付提交命令形如:formaction='http://商银宝支付服务地址'method='post'target='_blank'inputtype='hidden'name='commandID'value='0002'inputtype='hidden'name='reqType'value='02'inputtype='hidden'name='version'value='1.0.0.0'inputtype='hidden'name='returnURL'value=''inputtype='hidden'name='orderID'value='2008072936300'inputtype='hidden'name='orderSubDate'value='20080729112310'inputtype='hidden'name='merID'value='191'inputtype='hidden'name='amount'value='500'inputtype='hidden'name='curType'value='001'inputtype='hidden'name='goodsName'value=''inputtype='hidden'name=’goodNum’value=’’inputtype='hidden'name='merSignMsg'value='02'inputtype=’hidden’name=’interfaceMode’value=’1’inputtype='submit'value='立即使用商银宝支付'/form通知结果命令(请求响应结果返回到商户指定的URL)形如:http://returnURL?commandID=0001&version=1.0.0.0&orderID=XXXXXX....表一:交易请求接口参数说明:变量名称变量命名长度定义说明命令号commandIDMAX(4)取值:“0001”–提交订单接口版本号versionMAX(8)取值:“1.0.0.0”订单请求方式reqTypeMAX(2)02-网站集成订单号orderIDMAX(30)必输,签名,客户决定支付后商户网站产生的一个唯一的定单号,该订单号应该在相当长的时间内不重复。电子合同平台通过【订单提交时间】为起始,检查此时间之前一段时间内是否已经存在同样商户代码和订单号的指令记录,如果有则认为指令重复;订单提交时间orderDate=14必输,签名,格式为:YYYYMMDDHHmmss为提交订单时商户系统时间,此时间应在系统当前时间的加、减一小时范围内;取值举例:20080808200101商户代码merIDMAX(20)必输,签名,唯一确定一个商户的代码,由商户在系统注册时,由系统告知商户订单金额amountMAX(10)必输,签名,客户支付订单的总金额,一笔订单一个,以分为单位。不可以为零,必须符合金额标准。支付币种curType=3必输,签名,用来区分一笔支付的币种,目前系统只支持使用人民币(001)支付。取值:“001”商品名称goodsNameMAX(60)必输,签名,(用于语音播报)商品数量goodsNumMAX(10)必输,签名,(用于语音播报)订单过期时间orderExpireTimeMax(14)可选项:YYYYMMDDHHMMSS商户返回URLreturnURLMax(100)必输,签名.(当商银宝支付平台处理完商户WEB的支付请求后,将处理结果返回至此URL)注:必须以http://开头标准的URL格式接口模式interfaceMode10:不使用认证接口1:单向认证支付服务器2:选用文件证书双向认证(如永达编码,另收费)3:选用硬件证书双向认证(如永达编码,另收费)接入方式connectMode10:结合商户自有订购系统,修改接口接入商银宝支付平台1:结合商银宝订购系统,链接接入到商银宝网上商城2:提供订单系统,接入到商银宝支付平台(另收费)订单签名数据merSignMsg无限制可选项(依照接口模式而定),商户使用系统提供的签名API接口和商户证书将交易数据按一定格式进行签名,然后进行BASE64编码后得到的字符串。(格式:orderID+“:”+orderSubDate+“:”+merID+“:”+amount+“:”+curType+“:”+goodsName+“:”+goodsNum+“:”+returnURL)表二:请求响应结果说明:当电子合同交易平台收到商户提交的订单请求后,会对订单信息进行检查,同时检查商户的信息资料,通过合法性检查后,系统将对此订单做支付处理;处理完成后依据商户WEB的通知结果命令将结果返回至商户WEB。变量名称变量命名长度定义说明命令号commandIDMAX(4)取值:“0002”–订单返回接口版本号versionMAX(8)取值:“1.0.0.0”商户代码merIDMAX(20)必输,签名,唯一确定一个商户的代码,由商户在系统注册时,由系统告知商户。订单提交时间orderDate=14必输,签名,格式为:YYYYMMDDHHmmss为提交订单时商户系统时间取值举例:20080808200101订单号orderIDMAX(30)必输,签名,客户决定支付后商户网站产生的一个唯一的定单号,该订单号应该在相当长的时间内不重复。银行通过【订单提交时间】为起始,检查此时间之前一段时间内是否已经存在同样商户代码和订单号的指令记录,如果有则认为指令重复;订单过期时间orderExpireTimeMax(14)可选项:YYYYMMDDHHMMSS订单金额amountMAX(10)必输,签名,客户支付订单的总金额,一笔订单一个,以分为单位。不可以为零,必须符合金额标准。支付币种curType=3必输,签名,用来区分一笔支付的币种,目前工行只支持使用人民币(001)支付。取值:“001”系统返回码retCodeMAX(6)必输,签名,成功时返回码为“0”,错误时返回码为错误代码系统返回描述msgMAX(100)必输,签名,成功时为“”,错误时为错误描述系统返回信息签名signatureInfo无限制使用自己证书对返回消息按照一定格式进行的签名,然后进行BASE64编码后的字符串。(格式:orderid+“:”+orderDate+“:”+amount+“:”+curType+“:”+merID+“:”+msg+“:”+retCode)5.订单查询接口说明商户通过此接口可以查询支付订单的历史信息,订单查询接口通过WebService的形式提供给用户使用,满足了不同平台环境的使用需求。订单查询接口WebService格式:StringmerOrderQuery(StringmerNo,StringbeginDate,StringendDate)订单查询接口返回XML形式的结果集,格式定义如下:?xmlversion=1.0encoding=UTF-8?OrdersInfoOrderMerchantCode商户编号/MerchantCodeOrderType订单类型/OrderTypeCurrencyType币种/CurrencyTypeTransTime交易时间/TransTimeOrderAmt订单金额/OrderAmt/Order/OrdersInfo