手机银行商户手册
用来区分一笔支付的币种,目前工行只支持使用人民币(001)支付。 取值: “001” 必输, 商户代码 merID MAX(20) 唯一确定一个商户的代码,由商户在工行开户时,由工行告知商户。 必输, 商户入账账号,只能交易时指定。(商商户账号 merAcct MAX(19) 户付给银行手续费的账户,可以在开户的时候指定,也可以用交易指定方式;用交易指定方式则使用此商户账号) 联名校验标志 verifyJoinFlag =1 必输, 手机银行订单必输0,不校验 选输,默认为中文版 语言版本 Language MAX(10) 目前只支持中文版 取值:“zh_CN”或其他为中文版。 注意:大小写敏感。 商品编号 商品名称 商品数量 已含运费金额 商城提示 goodsID goodsName goodsNum carriageAmt merHint MAX(10) MAX(40) MAX(10) MAX(10) MAX(40) 选输 选输 选输 选输 选输 选输 如果希望对订单的有效日期进行限定,此项必须输入类备注字段1 remark1 MAX(100) 似”20110802152230”的时间串代表8月2日15:22:30之前支付订单有效。 若不需要限定,此项送空,送其他值不合法。 备注字段2 remark2 MAX(100) 选输 必输 通知商户URL merURL MAX(1024) 必须合法的URL,交易结束,银行使用HTTP协议POST方式向此地址发送通知信息;目前只支持80端口。 选输 商户自定义,当返回银行结果时,作为一个隐藏域变量,商户可以用此变量维返回商户变量 merVAR MAX(1024) 护session等等。由客户端浏览器支付完成后提交通知结果时是明文传输,建议商户对此变量使用额外安全防范措施,如签名、base64 必输 通知类型 notifyType =2 在交易转账处理完成后把交易结果通知商户的处理模式。 第 6 页 共 17 页
手机银行商户手册
取值“HS”:在交易完成后实时将通知信息以HTTP协议POST方式,主动发送给商户,发送地址为商户端随订单数据提交的接收工行支付结果的URL即表单中的merURL字段; 取值“AG”:在交易完成后不通知商户。商户需使用浏览器登录工行的B2C商户服务网站,或者使用工行提供的客户端程序API主动获取通知信息。 选输 取值“0”:无论支付成功或者失败,银行都向商户发送交易通知信息; 结果发送类型 resultType =1 取值“1”,银行只向商户发送交易成功的通知信息。 只有通知方式为HS时此值有效,如果使用AG方式,可不上送此项,但签名数据中必须包含此项,取值可为空。 备用字段1 备用字段2 备用字段3 备用字段4 backup1 backup2 backup3 backup4 100 100 100 100 不输,预留字段 不输,预留字段 不输,预留字段 不输,预留字段 2.1.3 tranData格式定义
tranData格式(xml格式固定,选输字段的取值可以为空,标签需保留)
第 7 页 共 17 页
手机银行商户手册
2.1.4 表单样例
表单数据:
第 8 页 共 17 页
手机银行商户手册
3VsdFR5cGU+PGJhY2t1cDE+PC9iYWNrdXAxPjxiYWNrdXAyPjwvYmFja3VwMj48YmFja3VwMz48L2JhY2t1cDM+PGJhY2t1cDQ+PC9iYWNrdXA0PjwvbWVzc2FnZT48L0IyQ1JlcT4=\
standalone=\ion>1.0.0.6
2.2 通知接口
2.2.1 通知接口表单定义
变量名称 返回商户变量 变量命名 merVAR 长度定义 无限制 说明 取值:商户提交接口中merVAR字段当第 9 页 共 17 页
手机银行商户手册
返回银行结果时,作为一个隐藏域变量,商户可以用此变量维护session等等。由客户端浏览器支付完成后提交通知结果时是明文传输,建议商户对此变量使用额外安全防范措施,如签名、base64,银行端将此字段原样返回 银行通知消息,xml格式定义见下文,提交商户时对xml明文串进行了base64通知结果数据 notifyData 无限制 编码; xml串中没有回车换行和多余空格;包含xml头属性,且格式固定; 银行使用自己证书对商户通知消息notifyData字段的xml格式明文串进行的签名,然后进行BASE64编码后的字银行对通知结果的签名数据 signMsg 无限制 符串。 注意:签名是对notifyData的xml明文进行签名,不是其BASE64编码后的串;签名后得到二进制数据,对此数据进行BASE64编码得到signMsg
2.2.2 notifyData数据定义
变量名称 接口名称 接口版本号 变量命名 interfaceName interfaceVersion 长度定义 =13 MAX(15) 说明 取值:“ICBC_WAPB_B2C” 取值:“1.0.0.6” 格式为:YYYYMMDDHHmmss 交易日期时间 orderDate =14 要求在银行系统当前时间的前1小时和后12小时范围内,否则判定交易时间非法。 客户支付后商户网站产生的一个唯一订单号 orderid MAX(30) 的定单号,该订单号应该在相当长的时间内不重复。工行通过订单号加订单日期来唯一确认一笔订单的重复性。 订单金额 分期付款期数 amount installmentTimes merID merAcct MAX(10) MAX(2) 客户支付订单的总金额,以分为单位。 取值:1、3、6、9、12、18、24;1代表全额付款,必须为以上数值,否则订单校验不通过。 MAX(20) MAX(19) 唯一确定一个商户的代码,由商户在工行开户时,由工行告知商户。 商户收费入账账号 (只能交易时指定)。 第 10 页 共 17 页
商户代码 商户账号