中国工商银行网上银行新B2C在线支付接口说明V10011.doc
《中国工商银行网上银行新B2C在线支付接口说明V10011.doc》由会员分享,可在线阅读,更多相关《中国工商银行网上银行新B2C在线支付接口说明V10011.doc(16页珍藏版)》请在三一办公上搜索。
1、 B2C支付接口v1.0.0.11商户手册中国工商银行软件开发中心Copyright Reserved目录第 1 章业务说明3第 2 章商户接口42.1支付接口52.1.1支付接口表单定义52.1.2tranData数据定义62.1.3tranData格式定义72.1.4表单样例82.2通知接口92.2.1通知接口表单定义92.2.2notifyData数据定义102.2.3notifyData格式定义112.2.4表单样例112.3说明12第 3 章安全API说明13第 4 章开发步骤13第 1 章 业务说明以下简述处理流程:1. 客户在商户网站浏览商品信息,签订订单;2. 商户按照工行B2
2、C支付1.0.0.11接口形成提交数据,并使用工行提供API和商户证书对订单数据签名,形成form表单返回客户浏览器,表单action地址指向工行接收商户订单信息的servlet;3. 客户确认使用工行支付后,提交此表单到工行;4. 工行网银系统接收此笔订单,对订单信息和商户信息进行检查;5. 通过检查则显示工行支付页面,1.0.0.11版本会提示客户输入交易卡号;6. 客户输入后提交;7. 银行查询客户相关信息;8. 返回客户在银行的预留信息;9. 客户确认;10. 返回交易确认页面;11. 不同类型客户使用各自认证方式进行交易确认,支持静态支付密码、动态口令卡、证书签名;12. 银行校验后
3、进行支付处理;13. 工行进行支付指令处理后,如果商户需要工行实时通知,则工行将处理结果使用http协议post方式将通知消息数据提交到商户网站(这个接收银行通知消息的商户端地址是随商户订单数据提交银行的merURL字段),商户返回取货地址或关闭这个银行与其建立的连接后,银行才显示交易结果页面给客户。(注意1、发送通知和显示结果页面是串行的,所以商户端接收银行通知处理时间太长可能导致客户等待超时,造成银行不能将交易结果页面显示给客户。2、此连接是银行服务器自动和商户进行的连接,商户返回也是直接返回给银行,商户端不能对银行的这个请求进行重定向。)14. 工行进行支付指令处理后,如果商户不需要工行
4、实时通知,则工行直接显示交易结果给客户。B2C在线支付接口版本说明:1.0.0.0(基本支付)1.0.0.1(支持中英文界面)1.0.0.2(内部保留)1.0.0.3(保留1.0.0.1功能,优化通知方式)1.0.0.4(商户订单中指定支付卡,不强制使用e卡支付,不允许客户的支付卡透支支付,专门用于基金商户进行基金直销业务,同1.0.0.3通知方式)1.0.0.5(基于1.0.0.1,在原有接口基础上扩展支持红利卡,支持红利卡的商户采用;当上送项不支持红利卡的时候,接口等同于1.0.0.1)1.0.0.6(基于1.0.0.3,在原有接口基础上扩展支持红利卡,支持红利卡的商户采用;当上送项不支持
5、红利卡的时候,接口等同于1.0.0.3)1.0.0.7(基于1.0.0.3,在原有接口基础上扩展支持同时上送5笔订单,即支持购物车模式,支持商户主动分期付款模式,当商户选择1期和1笔订单的时候,功能等同于1.0.0.3接口)1.0.0.8(基于1.0.0.3,在原有接口基础上扩展,根据商户上送的是否允许透支标志来控制是否运行客户使用信用卡进行支付,同1.0.0.3通知方式)1.0.0.9(基于1.0.0.3,在原有接口基础上优化商户校验及接口并发性,同1.0.0.0通知方式)1.0.0.10(基于1.0.0.8,同1.0.0.0通知方式)1.0.0.11(基于1.0.0.7,在原有接口基础上增
6、加1.0.0.8的透支标志控制,增加商户上送数据,丰富及扩展用户体验,增加校验商户域名,同1.0.0.0通知方式)第 2 章 商户接口2.1 支付接口2.1.1 支付接口表单定义新模式接口的交易数据整合到一个xml格式串,作为表单的一项整体提交,不再同原来每个字段都是key-value形式;FORM表单数据如下:变量名称变量命名长度定义说明接口名称interfaceNameMAX(30)必输,取值:“ICBC_PERBANK_B2C”接口版本号interfaceVersionMAX(15)必输,取值:“1.0.0.11”交易数据tranData无限制必输,签名;整合所有交易数据形成的xml明文
7、串,并做BASE64编码;具体格式定义见下文;注意:需有xml头属性;整个字段使用BASE64编码;xml明文中没有回车换行和多余空格;订单签名数据merSignMsg无限制必输,商户使用工行提供的签名API和商户证书将tranData的xml明文串进行签名,得到二进制签名数据,然后进行BASE64编码后得到可视的merSignMsg;注意:签名时是针对tranData的xml明文,不是将tranData进行BASE64编码后的串;商城证书公钥merCert无限制必输,商户用二进制方式读取证书公钥文件后,进行BASE64编码后产生的字符串;注:1、数据中不能包含“|”、“&”、“=”,这些字符
8、为银行端程序保留字符;中文变量使用GBK编码。 2、从商户Post过来的数据,参数名的名称必须与上表中完全相同,名称中的字母大小写均要相同,不能进行随意更改(在form中的提交按钮中submit不能有Name属性);此外,如果其他input 项的Name中使用了双引号,如:,则一定注意在引号内不要包含空格,不要写成“mer URL ”,如果拼写错误或者多了空格,将造成数据无法识别,无法正常进行支付3、接口名称和版本号一定要和上表中相同.。4、商户提交数据中的空格将被认为是有效字符被接收,请商户开发时注意对多余空格的控制。5、tranData交易数据的xml串需要有xml的头,即2.1.2 tr
9、anData数据定义变量名称变量命名长度定义说明接口名称interfaceName16必输,取值:“ICBC_PERBANK_B2C”接口版本号interfaceVersionMAX(15)必输,取值:“1.0.0.11”交易日期时间orderDate=14必输,格式为:YYYYMMDDHHmmss要求在银行系统当前时间的前1小时和后12小时范围内,否则判定交易时间非法。订单号orderidMAX(30)必输,每笔订单都需要有不同的订单号;客户支付后商户网站产生的一个唯一的定单号,该订单号应该在相当长的时间内不重复。工行通过订单号加订单日期来唯一确认一笔订单的重复性。订单金额amountMAX
10、(10)必输,每笔订单一个;客户支付订单的总金额,一笔订单一个,以分为单位。不可以为零,必需符合金额标准。分期付款期数installmentTimesMAX(2)必输,每笔订单一个;取值:1、3、6、9、12、18、24;1代表全额付款,必须为以上数值,否则订单校验不通过。商户账号merAcctMAX(19)必输,每笔订单一个,可以相同;商户入账账号,只能交易时指定。(商户付给银行手续费的账户,可以在开户的时候指定,也可以用交易指定方式;用交易指定方式则使用此商户账号)商品编号goodsIDMAX(30)选输,每笔订单一个;商品名称goodsNameMAX(60)必输,每笔订单一个;商品数量g
11、oodsNumMAX(10)选输,每笔订单一个;已含运费金额carriageAmtMAX(10)选输,每笔订单一个;检验联名标志verifyJoinFlag=1必输, 取值“1”:客户支付时,网银判断该客户是否与商户联名,是则按上送金额扣帐,否则展现未联名错误;取值“0”:不检验客户是否与商户联名,按上送金额扣帐。语言版本LanguageMAX(10)选输,默认为中文版取值:“EN_US”为英文版;取值:“ZH_CN”或其他为中文版。注意:大小写敏感。支付币种curType= 3必输,用来区分一笔支付的币种,目前工行只支持使用人民币(001)支付。取值: “001”商户代码merIDMAX(2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国工商银行 网上银行 B2C 在线 支付 接口 说明 V10011
链接地址:https://www.31ppt.com/p-2398607.html