手机银行商户手册
B2C支付接口v1.0.0.6
中国工商银行软件开发中心 Copyright Reserved
商户手册 手机银行商户手册
目录
第 1 章 业务说明 ....................................................................................................................... 3 第 2 章 商户接口 ....................................................................................................................... 4
2.1 支付接口 ....................................................................................................................... 4 2.1.1 支付接口表单定义 ................................................................................................... 4 2.1.2 tranData数据定义 .................................................................................................. 5 2.1.3 tranData格式定义 .................................................................................................. 7 2.1.4 表单样例 ................................................................................................................... 8 2.2 通知接口 ....................................................................................................................... 9 2.2.1 通知接口表单定义 ................................................................................................... 9 2.2.2 notifyData数据定义 ............................................................................................ 10 2.2.3 notifyData格式定义 ............................................................................................ 11 2.2.4 表单样例 ................................................................................................................. 12 2.3 商户判断支付结果及返回商户取货 ......................................................................... 13 2.4 其他说明 ..................................................................................................................... 13 第 3 章 安全API说明 ............................................................................................................ 14 第 4 章 开发步骤 ..................................................................................................................... 14
4.1通用步骤 ......................................................................................................................... 14 4.2移动生活商户改造方法 ................................................................................................. 15 4.3附件 ................................................................................................................................. 16
第 2 页 共 17 页
手机银行商户手册
第 1 章 业务说明
B2C在线支付接口版本说明: 1.0.0.0(基本支付)
1.0.0.1(支持商户主动分期付款模式,商户不分期的情况下支持客户自助分期,商户客户都不分期的情况下,流程同1.0.0.0)
1.0.0.3(1.0.0.1版本基础上,支持后台自动给商户发送支付结果通知消息,通知消息发送方式为只有支付成功的情况下发送通知,其余情况不通知) 1.0.0.4(1.0.0.3版本基础上,支持他人代付功能)
1.0.0.6(基于1.0.0.3版本,支持启动工行手机银行客户端(iPhone、Android)进行支付,支持工行移动生活商户进行支付,支持HTML网页版本(只支持iPhone、Android的webkit核心浏览器,需要商户侧自行判断客户的浏览器是否可用)进行支付。
注:1.0.0.6接口的HTML网页版本暂未开放!
以下简述处理流程:
1. 客户在商户WAP网站、商户客户端(iPhone、Andrid)、工行移动生活商户浏览商品信息,签订订单;
2. 商户按照工行手机银行B2C支付1.0.0.6接口形成提交数据,并使用工行提供API和商户证书对订单数据签名,形成form表单返回客户浏览器,表单action地址指向工行接收商户订单信息的servlet;
3. 客户确认使用工行支付后,提交此表单到工行;
4. 工行手机银行系统接收此笔订单,对订单信息和商户信息进行检查;
5. 通过检查则根据商户上送的启动类型,启动工行手机银行客户端程序(iPhone、Android)的支付页面或HTML网页版本(只支持iPhone、Android的webkit核心浏览器)的支付页面; 6. 客户输入后提交; 7. 银行查询客户相关信息; 8. 返回客户在银行的预留信息; 9. 客户确认;
10. 返回交易确认页面;
11. 不同类型客户使用各自认证方式进行交易确认,支持静态支付密码、动态口令卡、工银电子密码器、音频U盾(U盾只支持iPhone客户端版本)。 12. 银行校验后进行支付处理;
13. 工行将处理结果使用http协议post方式,将通知消息数据提交到商户网站; 14. 给客户展现成功支付页面。
1) 若商户启动类型为客户端版本,则结果页面只提供返回手机银行按钮,点击后返回手机
银行程序,客户需要自行回到商户页面或商户程序进行取货,商户根据上一步的通知消息判断是否支付成功。
2) 若商户启动类型为工行移动生活版本,则结果页面提供返回商户按钮,点击返回后会回
到商户的页面,客户可以在此页面进行取货,商户可以根据上一步发送的通知消息判断是否支付成功。
3) 若商户启动类型为HTML网页版本,则上一步通知商户时,商户返回取货地址(必须是
正确格式的URL地址),银行会在成功支付页面展现取货地址链接,客户点击链接返回商户的取货地址页面。
第 3 页 共 17 页
手机银行商户手册
第 2 章 商户接口
接口定义通过接口名称和接口版本号来标识,以便将来的扩展;
2.1 支付接口
2.1.1 支付接口表单定义
WAP银行B2C接口的交易数据整合到一个xml格式串,作为表单的一项整体提交; FORM
表单数据如下: 变量名称 接口名称 接口版本号 变量命名 interfaceName interfaceVersion 长度定义 MAX(30) MAX(15) 必输, 取值:“ICBC_WAPB_B2C” 必输, 取值:“1.0.0.6” 必输,签名; 整合所有交易数据形成的xml明文串,并做BASE64编码; 交易数据 tranData 无限制 具体格式定义见下文; 注意: 需有xml头属性;整个字段使用BASE64编码; xml明文中没有回车换行和多余空格; 必输, 商户使用工行提供的签名API和商户证书将tranData的xml明文串进行签名,订单签名数据 merSignMsg 无限制 得到二进制签名数据,然后进行BASE64编码后得到可视的merSignMsg; 注意:签名时是针对tranData的xml明文,不是将tranData进行BASE64编码后的串; 商城证书公钥 必输, merCert 无限制 商户用二进制方式读取证书公钥文件后,进行BASE64编码后产生的字符串; 必输, 取值: 1:工行iPhone客户端版 启动类型 clientType MAX(2) 2:工行Android客户端版 21:工行移动生活版(iPhone) 22:工行移动生活版(Android) 0:HTML版(只支持iPhone、Android第 4 页 共 17 页
说明 手机银行商户手册
的webkit核心浏览器)暂未开放
注:
1、数据中不能包含“|”、“&”、“=”,这些字符为银行端程序保留字符;中文变量使用GBK编码。
2、从商户Post过来的数据,参数名的名称必须与上表中完全相同,名称中的字母大小写均要相同,不能进行随意更改(在form中的提交按钮中submit不能有Name属性);此外,如果其他input 项的Name中使用了双引号,如:
4、商户提交数据中的空格将被认为是有效字符被接收,请商户开发时注意对多余空格的控制。 5、tranData交易数据的xml串需要有xml的头,即
2.1.2 tranData数据定义
变量名称 接口名称 接口版本号 变量命名 interfaceName interfaceVersion 长度定义 =13 =7 必输, 取值:“ICBC_WAPB_B2C” 必输, 取值:“1.0.0.6” 必输, 格式为:YYYYMMDDHHmmss 交易日期时间 orderDate =14 要求在银行系统当前时间的前1小时和后12小时范围内,否则判定交易时间非法。 必输, 客户支付后商户网站产生的一个唯一订单号 orderid MAX(30) 的定单号,该订单号应该在相当长的时间内不重复。工行通过订单号加订单日期来唯一确认一笔订单的重复性。 必输, 订单金额 amount MAX(10) 客户支付订单的总金额,一笔订单一个,以分为单位。不可以为零,必需符合金额标准。 必输,每笔订单一个; 分期付款期数 installmentTimes curType MAX(2) 取值:1、3、6、9、12、18、24;1代表全额付款,必须为以上述值,否则订单校验不通过。 支付币种 = 3 必输, 第 5 页 共 17 页 说明