中国工商银行网上银行B2C在线支付API 接口
工商银行手机银行使用指南

工商银行手机银行使用指南(附资费表)
工商银行服务费标准:
一、企业业务
(一)服务费
(二)交易费
*柜面资金汇划业务收费标准
(三)工本费
(四)协议费
指由我行为特定客户提供电子银行个性化服务而收取的通过协商确定的费用。
(五)其他
二、个人业务
(一)服务费
(二)交易费
(三)工本费
注释:
1、遇新增或调整收费标准时,中国工商银行将于执行前10个工作日通过本栏目予以公告;
2、以上收费标准最终解释执行权归中国工商银行所有。
三、电子商务
(一)服务费
(二)交易费。
中国工商银行银企互联系统接口说明V

中国工商银行银企互联系统接口说明Version 4.2中国工商银行电子银行部中国工商银行北京软件研发部2005年07月目录1 帐户查询 (1)1.1 单帐户余额查询 (1)提交包 (1)返回包 (1)1.2 多帐户余额查询 (2)提交包 (2)返回包 (3)1.3 当日明细查询 (4)提交包 (4)返回包 (5)1.4 历史明细查询 (6)提交包 (6)返回包 (7)1.5 现金管理户当日明细查询 (9)提交包 (9)返回包 (9)1.6 现金管理户历史明细查询 (11)提交包 (11)返回包 (12)2 转帐支付(逐笔) (13)支付提交包 (13)支付返回包 (15)逐笔支付查询提交包 (16)逐笔支付查询返回包 (16)3 企业财务室 (17)3.1 财务室批量指令 (17)提交包 (17)返回包 (19)3.2 财务室批量指令查询 (20)提交包 (20)返回包 (20)4 收费站 (22)4.1 批量扣个人指令 (22)提交包 (22)返回包 (23)4.2 批量扣个人指令查询 (24)提交包 (24)返回包 (24)4.3 缴费个人信息查询 (26)提交包 (26)返回包 (27)4.4 批量扣企业指令 (28)提交包 (28)返回包 (29)4.5 批量扣企业指令查询 (29)提交包 (30)返回包 (30)4.6 缴费企业信息查询(只查已签订协议的) (31)提交包 (32)返回包 (32)5 批量代理汇兑 (33)5.1 代理汇兑指令提交 (33)提交包 (33)返回包 (35)5.2 代理汇兑指令查询 (36)提交包 (36)返回包 (36)5.3 网点信息下载 (38)提交包 (38)返回包 (38)6 批量外汇汇款 (39)6.1 集团内外汇资金调拨指令提交 (39)提交包 (40)返回包 (41)6.2 集团内外汇资金调拨指令查询 (41)提交包 (41)返回包 (42)6.3 B股资金清算指令提交 (43)提交包 (43)返回包 (45)6.4 B股资金清算指令查询 (45)提交包 (45)返回包 (46)6.5 国内外汇汇款指令提交 (47)提交包 (47)返回包 (49)6.6 国内外汇汇款指令查询 (49)提交包 (49)返回包 (50)7 电子商务 (51)7.1 B2C订购指令查询 (51)提交包 (51)返回包 (52)7.2 B2C退货、返还、转付指令查询 (54)提交包 (54)返回包 (55)7.3 B2B订购指令查询 (57)提交包 (57)返回包 (58)7.4 B2B退货、返还指令查询 (59)提交包 (59)返回包 (60)7.5 C2C订购指令查询 (62)提交包 (62)返回包 (63)7.6 B2B/B2C退货、返还、转付指令提交 (64)提交包 (64)返回包 (65)7.7 个人联名卡签权指令 (67)提交包 (67)返回包 (67)8 工资单 (68)8.1 工资单文件上传 (68)提交包 (68)返回包 (70)8.2 工资单文件查询 (70)提交包 (71)返回包 (71)8.3 工资单文件删除 (72)提交包 (72)返回包 (73)9 附录错误代码 (74)9.1 明文返回的错误代码 (74)9.2 xml中retCode的错误代码 (74)1帐户查询1.1 单帐户余额查询提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCQueryBalanceOp</opName><ReqParam><Area_code>地区代码</Area_code><Account_num>帐号</Account_num> ---必输项<Account_cur>币种</Account_cur><userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID</PackageID> ---必输项<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam></opReq></ICBCYH>返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCQueryBalanceOp</opName><opResult><Account_num>帐号</Account_num><Account_cur>币种</Account_cur> 例:RMB<retCode>错误返回码错误描述在errMsg 中</retCode><errMsg>错误描述</errMsg><Acc_balance>昨日余额</Acc_balance><Balance>余额</Balance><Usable_balance>可用余额</Usable_balance><Acct_property>帐户属性</Acct_property> 中文<PackageID>包序列ID</PackageID><userID>企业代码</userID><RepReserved1>返回包备用字段1</RepReserved1><RepReserved2>返回包备用字段2</RepReserved2></opResult></opRep></ICBCYH>1.2 多帐户余额查询提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCQueryBalanceListOp</opName><ReqParam><userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID</PackageID> ---必输项<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam><ReqParamSet><ReqParam><Area_code>地区代码</Area_code><Account_num>帐号</Account_num> ---必输项<Account_cur>币种</Account_cur><ReqReserved3>请求包备用字段3</ReqReserved3><ReqReserved4>请求包备用字段4</ReqReserved4></ReqParam></ReqParamSet></opReq></ICBCYH>返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCQueryBalanceListOp</opName><opResult><retCode>错误返回码错误描述在errMsg 中</retCode><errMsg>错误描述</errMsg><PackageID>包序列ID</PackageID><userID>企业代码</userID><RepReserved1>返回包备用字段1</RepReserved1><RepReserved2>返回包备用字段2</RepReserved2></opResult><opResultSet><opResult><Account_num>帐号</Account_num><Account_cur>币种</Account_cur><Acc_balance>昨日余额</Acc_balance><Balance>余额</Balance><Usable_balance>可用余额</Usable_balance><Acct_property>帐户属性</Acct_property> 中文<RepReserved3>返回包备用字段3</RepReserved3><RepReserved4>返回包备用字段4</RepReserved4> </opResult></opResultSet><ErrSet><Err><Account_num>账号</Account_num><errMessage>出错信息</errMessage></Err></ErrSet></opRep></ICBCYH>1.3 当日明细查询提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCCurDetailOp</opName><ReqParam><Area_code>地区代码</Area_code><Account_num>帐号</Account_num> ---必输项<Account_cur>币种</Account_cur><userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID</PackageID> ---必输项<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam></opReq></ICBCYH>返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCCurDetailOp</opName><opResult><retCode>错误返回码错误描述在errMsg 中</retCode><errMsg>错误描述</errMsg><Account_num>本方帐号</Account_num><PackageID>包序列ID</PackageID><userID>企业代码</userID><RepReserved1>返回包备用字段1</RepReserved1><RepReserved2>返回包备用字段2</RepReserved2></opResult><opResultSet><opResult><Trans_date>交易日期</Trans_date>(例:yyyy-MM-dd-HH:mm:ss:6位毫秒)共26位<Check_num>凭证号</Check_num><Bank1_code>对方行行号</Bank1_code><Rec_Account_num>对方账号</Rec_Account_num><Amount>发生额</Amount><Yt>用途</Yt><Trans_type>业务种类</Trans_type> 中文<PostScript>附言</PostScript><Rec_Account_name>对方户名</Rec_Account_name><sign>借贷标志</sign> 中文<Trans_abstr>摘要</Trans_abstr><RepReserved3>返回包备用字段3</RepReserved3><RepReserved4>返回包备用字段4</RepReserved4></opResult></opResultSet></opRep></ICBCYH>1.4 历史明细查询提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCHisDetailOp</opName><ReqParam><Area_code>地区代码</Area_code><Account_num>帐号</Account_num><Begin_date>起始日期</Begin_date> ---必输项(例:yyyyMMdd)<End_date>终止日期</End_date> ---必输项<Max_amount>最大金额</Max_amount> ---必输项(以分为单位,不带小数点)<Min_amount>最小金额</Min_amount> ---必输项<userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID</PackageID> ---必输项<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam></opReq></ICBCYH>返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCHisDetailOp</opName><opResult><retCode>错误返回码错误描述在errMsg 中</retCode><errMsg>错误描述</errMsg><PackageID>包序列ID</PackageID><userID>企业代码</userID><RepReserved1>返回包备用字段1</RepReserved1><RepReserved2>返回包备用字段2</RepReserved2></opResult><opResultSet><opResult><Area_code>地区代码</Area_code><Account_num>帐号</Account_num><Trans_date>交易日期</Trans_date> (例:yyyyMMdd)<Check_num>凭证号</Check_num><Trans_abstr>摘要</Trans_abstr><Debit_Amount>借方发生额</Debit_Amount><Crebit_Amount>贷方发生额</Crebit_Amount><Balance>余额</Balance><Rec_Account_num>对方账号</Rec_Account_num><Bank_name>开户行名称</Bank_name><Bank1_name>对方行行名</Bank1_name><Unit1_name>对方单位名称</Unit1_name><Trans_type>业务种类</Trans_type> 中文<Yt>用途</Yt><Trans_time>交易时间</Trans_time>(例:yyyy-MM-dd-HH:mm:ss:6位毫秒)共26位其值与当日明细中“交易日期”字段值一致<sign>借贷标志</sign> 中文<RepReserved3>返回包备用字段3</RepReserved3><RepReserved4>返回包备用字段4</RepReserved4></opResult></opResultSet></opRep></ICBCYH>1.5 现金管理户当日明细查询提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCCashManageAccCurDetailOp</opName><ReqParam><Area_code>地区代码</Area_code><Account_num>帐号</Account_num> ---必输项<Account_cur>币种</Account_cur><userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID</PackageID> ---必输项<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam></opReq></ICBCYH>返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCCashManageAccCurDetailOp</opName><opResult><retCode>错误返回码错误描述在errMsg 中</retCode><errMsg>错误描述</errMsg><Account_num>本方帐号</Account_num><PackageID>包序列ID</PackageID><userID>企业代码</userID><RepReserved1>返回包备用字段1</RepReserved1><RepReserved2>返回包备用字段2</RepReserved2> </opResult><opResultSet><opResult><Trans_time>交易时间</Trans_time> HH:mm:ss<Bank1_code>对方行行号</Bank1_code><Rec_Account_num>对方账号</Rec_Account_num><Amount>发生额</Amount><Yt>用途</Yt><Trans_type>业务种类</Trans_type> 中文<PostScript>附言</PostScript><Rec_Account_name>对方户名</Rec_Account_name><sign>借贷标志</sign> 中文<Trans_abstr>摘要</Trans_abstr><REF>业务编号</REF><OREF>相关业务编号</OREF><BUSCODE>业务代码</BUSCODE><ENSUMMRY>英文备注</ENSUMMRY><CVOUHTYPE>凭证种类</CVOUHTYPE><CVOUHNO>凭证号</CVOUHNO><ADDINFO>附加信息</ADDINFO><RepReserved3>返回包备用字段3</RepReserved3><RepReserved4>返回包备用字段4</RepReserved4> </opResult></opResultSet></opRep></ICBCYH>1.6 现金管理户历史明细查询提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCCashManageAccHisDetailOp</opName><ReqParam><Area_code>地区代码</Area_code><Account_num>帐号</Account_num><Begin_date>起始日期</Begin_date> ---必输项(例:yyyyMMdd)<End_date>终止日期</End_date> ---必输项<Max_amount>最大金额</Max_amount> ---必输项(以分为单位,不带小数点)<Min_amount>最小金额</Min_amount> ---必输项<userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID</PackageID> ---必输项<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam></opReq></ICBCYH>返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCCashManageAccHisDetailOp</opName><opResult><retCode>错误返回码错误描述在errMsg 中</retCode> <errMsg>错误描述</errMsg><PackageID>包序列ID</PackageID><userID>企业代码</userID><RepReserved1>返回包备用字段1</RepReserved1><RepReserved2>返回包备用字段2</RepReserved2></opResult><opResultSet><opResult><TRXTYPE>交易类型</TRXTYPE> 中文<BUSIDATE>交易日期</BUSIDATE> yyyyMMdd<BUSITIME>交易时间</BUSITIME> HH:mm:ss<Account_num>交易帐号</Account_num><Bank_name>本方行名</Bank_name><Trans_type>业务种类</Trans_type> 中文<sign>借贷标志</sign> 中文<Debit_Amount>借方发生额</Debit_Amount><Crebit_Amount>贷方发生额</Crebit_Amount><Balance>余额</Balance><Yt>用途</Yt><CVOUHTYPE>凭证种类</CVOUHTYPE><CVOUHNO>凭证号</CVOUHNO><RECIPACT>对方帐号</RECIPACT><RECIPNAME>对方户名</RECIPNAME><RECIPBNA>对方行名</RECIPBNA><REF>业务编号</REF><OREF>相关业务编号</OREF><BUSCODE>业务代码</BUSCODE><ENSUMMRY>英文备注</ENSUMMRY><ADDINFO>附加信息</ADDINFO><RepReserved3>返回包备用字段3</RepReserved3><RepReserved4>返回包备用字段4</RepReserved4></opResult></opResultSet></opRep></ICBCYH>2转帐支付(逐笔)支付提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCpaySubmitOp</opName><ReqParam><Pay_Dep_name>汇款单位</Pay_Dep_name><Pay_Dep_Acc>汇款帐号</Pay_Dep_Acc> (35位)---必输项<Area_code>地区代码</Area_code><Pay_Dep_branch>汇款单位开户行</Pay_Dep_branch><Rec_Dep_name>收款单位</Rec_Dep_name> (60位) ---必输项<Rec_Dep_Acc>收款帐号</Rec_Dep_Acc> (35位) ---必输项<Rec_Area_Code>收款人地区代码</Rec_Area_Code> 0:它行 1:工行<Rec_Dep_branch>收款单位开户行</Rec_Dep_branch>(60位)--必输项<Trans_time>交易时间</Trans_time><Serial_no>指令序号</Serial_no><PayAmt>金额</PayAmt> (18位) ---必输项以分为单位<Account_cur>币种</Account_cur><Pay_Use>用途</Pay_Use> (20位)<Pay_type>汇款速度</Pay_type> 0:普通 1:加急<Author_log_id_1>授权人ID</Author_log_id_1><Author_log_id_2>二次授权人ID</Author_log_id_2> <Submit_Log_id>提交人ID</Submit_Log_id> ---必输项 <Area_name>付款人账户地区名(付款人所在地) </Area_name><Rec_Area_name>收款人账户地区名(收款人所在地) </Rec_Area_name> ---必输项收方如果是工行,以《信息对照表》中的地区代码对照表为准<Branch_code>账户分理处号</Branch_code><Pay_Password>支付密码</Pay_Password><User_Rem>备注栏(用户备注) </User_Rem><Pay_NetCode>付款行网点号</Pay_NetCode><Pay_BranchNo>付款行行号</Pay_BranchNo><Pay_BranchId>付款行行标识</Pay_BranchId><Pay_DispsNo>付款行分签号</Pay_DispsNo><Rec_BranchNo>对方行号</Rec_BranchNo><Rec_BranchId>对方行标识</Rec_BranchId><Rec_DispsNo>对方分签号</Rec_DispsNo><PostScript>附言</PostScript><PostScriptFlag>附言标志</PostScriptFlag><Transfer_Type>转帐类型</Transfer_Type><userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID(15位)</PackageID> ---必输项<SignTime>签名时间(yyyyMMddhhmmssSSS)</SignTime> ---必输项<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam></opReq></ICBCYH>支付返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCpaySubmitOp</opName><opResult><retCode>返回码</retCode>0-成功1-可疑其他为失败,错误描述在errMsg 中<errMsg>错误描述</errMsg><TranFlag>成功描述</TranFlag><PackageID>包序列ID</PackageID><userID>企业代码</userID><RepReserved1>返回包备用字段1</RepReserved1><RepReserved2>返回包备用字段2</RepReserved2> </opResult></opRep></ICBCYH>逐笔支付查询提交包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opReq><opName>NCQueryPayOrderDetailOp</opName><ReqParam><userID>企业代码(和证书里的一致)</userID> ---必输项<PackageID>包序列ID</PackageID> ---必输项(提交指令中的包ID)<ReqReserved1>请求包备用字段1</ReqReserved1><ReqReserved2>请求包备用字段2</ReqReserved2></ReqParam></opReq></ICBCYH>逐笔支付查询返回包<?xml version="1.0" encoding = "GB2312"?><ICBCYH><opRep><opName>NCQueryPayOrderDetailOp</opName><opResult><retCode>错误返回码错误描述在errMsg 中</retCode>此值只表示该交易是否执行成功,并不代表此笔支付是否成功或失败(非空表示交易执行失败,失败原因见errMsg)。
网银在线支付商户接口文档(B2C系统)

网银在线支付接口规范B2C系统商户接口平台版本号4.0网银在线(北京)科技有限公司目录1.文档介绍 (1)1.1. 读者对象 (1)1.2. 版权声明 (1)2.支付接口 (2)2.1. 商户>>> 网银在线支付 (2)2.2. 网银在线支付>>> 商户(页面返回) (5)2.3. 网银在线支付>>> 商户(服务器返回) (6)2.4. 网关错误编码表 (6)1.文档介绍1.1.读者对象商户系统设计人员、编程人员及测试人员1.2.版权声明此文档版权归网银在线(北京)科技有限公司所有。
作为本系统的最终用户,可以拥有该份文档的使用权,但未征得网银在线(北京)科技有限公司的书面批准,不得向第三方借阅、出让、出版该文档。
2.支付接口2.1.商户 >>> 网银在线支付示例程序:ChinaBank.html用途:收集信息并发送到数据发送页即Send页订单号://选填项,订单号收货人姓名://选填项,总长不超过80字符收货人地址://选填项,总长不超过200个字符收货人电话://选填项,总长不超过50个字符收货人邮编://选填项,总长不超过10个字符收货人邮件://选填项,总长不超过100个字符收货人手机号://选填项,总长不超过13个字符备注1://选填项,总长不超过150个字符订货人姓名://选填项,总长不超过80字符订货人地址://选填项,总长不超过200个字符订货人电话://选填项,总长不超过50个字符订货人邮编://选填项,总长不超过10个字符订货人邮件://选填项,总长不超过100个字符订货人手机号://选填项,总长不超过13个字符备注2://选填项,总长不超过150个字符订单总金额(元):*必填项,譬如:0.01示例程序:Send.asp、Send.aspx、Send.php、Send.jsp用途:接收ChinaBank.html发送过来的数据加密后发往网银在线电子支付平台的接口网关1、支付平台网关接口地址<form method=post action="https:///PayGate">2、FORM表单参数关,建议不用表1支付表单中的变量定义:—必填项—与网上支付货款无关项,建议不用表2MD5校验串生成方法:当消费者在商户端生成最终订单的时候,将订单中的v_amount v_moneytype v_oid v_mid v_url key六个参数的value值拼成一个无间隔的字符串(顺序不要改变)。
工商银行网银支付流程步骤

为保障您的交易安全,请仔细阅读以下信息并进行勾选确认。
1、IE地址栏应以https开头。
2、电子商务支付页面域名为或。
3、IE浏览器应在右下角或正上方显示安全挂锁。
4、如您为口令卡客户,在页面发生提示您口令输入超时或错误时,请您核对以上提示。
5、支付时请不要开启远程协助功能,避免他人操作您的计算机。
6、柜面申请的网上银行其对外转账功能、电子商务功能、缴费业务功能均为开通,如需关闭相关功能,请登录网上银行后通过“安全中心”进行修改。
当您设置“预留验证信息”后,可以在登录个人网银、网上购物、网上签订委托缴费协议时验证该信息,从而有效地确保交易安全。
(1)登录个人网银当您输入网银注册卡号(或登录别名)、登录密码、验证码后,将在登录的首页面展现您的“预留验证信息”。
(2)网上购物支付第一步:在我行特约网站选中商品放入购物车;第二步:确认订单,选择工行网上支付;第三步:输入支付卡号、验证码;第四步:确认页面显示的信息与您设置的“预留验证信息”是否一致;第五步:如果信息一致,点击“确定”,在下一交易页面输入支付密码(证书客户还需要使用证书签名)、验证码,完成网上支付。
如果信息不一致,请您立即停止交易,并尽快与我行客服电话95588联系。
(3)网上签订委托缴费协议第一步:在我行收费站合作网站确认签订委托缴费协议;第二步:输入支付卡号、验证码;第三步:确认页面显示的信息与您设置的“预留验证信息”是否一致;第四步:如果信息一致,点击“确定”,在下一交易页面输入支付密码、验证码,完成协议签订。
如果信息不一致,请您立即停止交易,并尽快与我行客服电话95588联系。
中国工商银行网上银行B2C在线支付API 接口

中国工商银行网上银行B2C在线支付接口说明一、B2C流程说明:1、客户在商户网站浏览商品信息,签订订单;2、商户按照工行B2C订单数据规范形成提交数据,并使用工行提供API和商户证书对订单数据签名,形成form表单返回客户浏览器,表单action地址指向工行接收商户B2C订单信息的servlet;3、客户确认使用工行支付后,提交此表单到工行;4、工行网银系统接收此笔B2C订单,对订单信息和商户信息进行检查,通过检查则显示工行B2C支付页面;5、客户在此页面可以查询客户在银行的预留信息;也可以输入支付卡号、支付密码、验证码进行B2C支付;6、工行检查客户信息,通过检查后显示确认页面;客户确认提交后工行进行支付指令处理;7、工行进行支付指令处理后,如果商户需要工行实时通知,则工行将处理结果使用http协议post方式将通知消息数据提交到商户网站(这个接收银行通知消息的商户端地址是随商户订单数据提交银行的merURL字段),商户返回取货地址或关闭这个银行与其建立的连接后,银行才显示交易结果页面给客户。
(注意1、发送通知和显示结果页面是串行的,所以商户端接收银行通知处理时间太长可能导致客户等待超时,造成银行不能将交易结果页面显示给客户。
2、此连接是银行服务器自动和商户进行的连接,商户返回也是直接返回给银行,商户端不能对银行的这个请求进行重定向。
)8、工行进行支付指令处理后,如果商户不需要工行实时通知,则工行直接显示交易结果给客户。
二、B2C接口数据说明:接口数据格式定义通过接口名称和接口版本号来标识,以便将来的扩展;以下数据格式为“1.0.0.1”版的“ICBC_PERBANK_B2C”接口定义。
2.1 B2C商户提交表单接口定义:其他同1.0.0.0版本2.2 商户提交表单签名merSignMsg格式:1、组织要签名的数据串(顺序固定;被商户签名的串为各输入项的值):接口名称的值+接口版本号的值+商城代码的值+商城账号的值+通知地址的值+通知类型的值+订单号的值+订单金额的值+支付币种的值+结果发送类型的值+交易日期时间的值+校验联名标志的值2、举例:以下是需要签名的数据名称及对应值interfaceName=ICBC_PERBANK_B2C&interfaceVersion=1.0.0.0&merID=0200EC20000012&merAcct=0200029109000030106&merU RL=/servlet¬ifyType=HS&orderid=000000001&amount=100 &curType=001 &resultType=0&orderDate=20050801192556& verifyJoinFlag=0需要签名的明文ICBC_PERBANK_B2C1.0.0.00200EC200000120200029109000030106.c n/servletHS0000000011000010200508011925560签名后(用测试私钥user.key )merSignMsg为SFVdS3Kca6d/wetLFwynBl1q5nDIyxxEUXCzniIa47mhxs1BM9mPsnRc2lOqqrfwBdwBjSE82jS/iBHYKol f2sppjEyOImVZycv96321QPDgPA1yleO83K1XA1rmB3zxsIuwLKIICSWwdttn1XPYOQLJ/WAtZ5DFYFog7J 8pXw0=merCert为(用测试证书user.crt)MIICVjCCAb+gAwIBAgIKI9fKEDP6AAAO3DANBgkqhkiG9w0BAQUFADA0MRgwFgYDVQQDEw9wYmouaWNiYy5 jb20uY24xGDAWBgNVBAoTD3Biai5pY2JjLmNvbS5jbjAeFw0yMDA5MjAwOTI3NDFaFw0yMTA5MjAwOTI3ND FaMEMxGDAWBgNVBAMTD2JpYW5sdTIyLmUuMDIwMDENMAsGA1UECxMEMDIwMDEYMBYGA1UEChMPcGJqLmljY mMuY29tLmNuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG+u/C5pad0ZbwvAk9Gv1rr+SpknfFUsTM hJLcI2KiYa+XLSf5vCib0OclOoDDXKIWPt/hkMEz+ED8YukQpsstXHvnxVFxVtPh23dubQjB8/kJ7X5Ebwn gsHMLFEXqr3UvNfcGZHuAFqMRPtr8ys3YnL3UG43Xienc3cD8jXFdQQIDAQABo2AwXjBLBgNVHR8ERDBCME CgPqA8pDowODEOMAwGA1UEAxMFY3JsMTMxDDAKBgNVBAsTA2NybDEYMBYGA1UEChMPcGJqLmljYmMuY29tL mNuMA8GA1UdYwQIAwYA/wAAAAAwDQYJKoZIhvcNAQEFBQADgYEAQe6tLhKaNX8OPNT2XzH7dTXIFmTm37hS vmbEL/Q/pWV386KVrNSCnyN3fowanMt5TE9qZFn9enVvyDJw4nAUx38F2PFn2Tt7JUtzt/pNKC5FiebpFJH 48AXIP1Xt5GjdcBx0oXM9QNBtYvY0189t357EH4UaBfO+c+L8fkOt37o=2.3 B2C通知商户交易结果接口定义:1.0.0.1版本(注意与C2C通知接口定义变量名区分)2.4 通知消息银行签名数据signMsg格式:1、组织要签名的数据串(顺序固定;银行通知消息签名的串为以下格式,请注意与商户签名串的格式不同):接口名称=值&接口版本号=值&订单号=值&指令序号=值&订单金额=值&支付币种=值&商城代码=值&商城账号=值&校验联名标志=值&客户联名标志=值&联名会员号=值&结果发送类型=值&交易日期时间=值&返回通知日期时间=值&订单处理状态=值&错误描述=值&备注1=值&备注2=值interfaceName=值&interfaceVersion=值&orderid=值&TranSerialNo=值&amount=值&curType=值&merID=值&merAcct=值&verifyJoinFlag=值&JoinFlag=值&UserNum=值&resultType=值&o r d e r D a t e=值&n o t i f y D a t e=值&t r a n S t a t=值&c o m m e n t=值&r e m a r k1=值&remark2=值举例:以下是需要验签的数据串明文interfaceName=ICBC_PERBANK_B2C&interfaceVersion=1.0.0.0&orderid=000000001&TranSeria lNo=&amount=100&curType=001&merID=0200EC20000012&merAcct=0200029109000030106&verify JoinFlag=0&JoinFlag=&UserNum=&resultType=0&orderDate=20050801192556¬ifyDate=2005 0824165910&tranStat=2&comment=failure,Error_code:32147ErrorMsg:提交支付表单时间数据不在有效时间范围。
个人网上银行与第三方支付的比较分析——以工商银行与支付宝为例

个人网上银行与第三方支付的比较分析——以工商银行与支付宝为例周青【摘要】近年来,网上金融创新层出不穷,第三方支付公司异军突起,迅速占领网上金融领域.本文将个人网上银行与第三方支付服务进行比较,选取工商银行与支付宝公司为例,通过基本流程、服务质量、交易风险、交易成本4个方面比较各方优劣势,对支付行业的发展提出建议.【期刊名称】《金融科技时代》【年(卷),期】2013(000)012【总页数】2页(P102-103)【关键词】个人网上银行;第三方支付;支付宝,比较分析【作者】周青【作者单位】淮海工学院【正文语种】中文一、引言工商银行是我国最大的商业银行,曾连续5年在美国《环球金融》杂志年度全球各地区网上银行评选中被评为“最佳个人网上银行”。
支付宝是当前我国最大的第三方支付企业,在2012年中国第三方互联网支付市场中,其交易额占到了46.6%。
本文将采用具有代表性的工商银行网上银行及支付宝作为分析对象。
二、比较分析(一)基本流程1.个人网上银行。
个人网上银行的服务流程是客户通过在银行开设的账户号码进入自己的网上账户,进行查询、转账等其他业务操作,网上账户的开设需要到银行营业网点办理,个人网上银行是客户在银行账户的网上客户端,可以进行传统业务的网上办理,比如查询、转账、透支交易等,其账户金额即银行账户金额。
2.第三方支付。
第三方支付服务内容主要提供网上购物的中介服务,基本流程是:网上购物的买家将货款存入第三方支付账户,第三方支付账户通知卖家发货,当买家收到货物后通知第三方支付账户,第三方支付账户再将货款支付给卖家,全部操作在网上完成。
支付宝是典型的第三方支付公司,目前,它不仅能为网上购物买单,也可以转账、购买基金、保险等。
在网页操作上,基本与网上银行无异,不同的是支付宝内金额的来源途径和转账方式。
支付宝内金额来源于充值,其充值手段为储蓄卡转账、购买支付宝卡、消费卡和使用充值码。
其中,只有储蓄卡转账进入的充值金额可以进行转账,后3种充值方式只能在支持支付宝的商家进行消费。
工商银行电子银行

工商银行电子银行工商银行是世界500强中名列榜首的中资银行,拥有810万户工商客户和4亿多个人客户。
2000年以来,工商银行先后四次被英国《银行家》、《欧洲货币》和美国《环球》杂志评为中国内地最佳银行。
2002年英国《银行家》将工商银行网站评为2002年全球最佳金融网站;2002年美国《环球金融》杂志在首次全球和地区最佳银行评选中,将工商银行评选为中国最佳企业网上银行,工商银行是国内唯一获此称号的商业银行。
一、中国工商银行的电子银行业务对广大客户提供的好处1、安全可靠:工商银行电子银行业务在安全上采用了国际上最先进的防黑客技术,软件使用了5级先进的加密校验技术,企业在使用网上银行办理业务时能够看得见的防范措施还有客户代理软件、读卡器、客户证书及其密码,个人通过卡号及多级密码登录,还可自主申请e通卡进行网上购物。
目前全国的广大客户通过工商银行电子银行结算的资金已经超过8万亿元,结算量已经超过6千万笔,至今还没有发生一笔资金丢失、帐务差错的情况。
从以上的情况看,客户完全可以解除资金是否安全的忧虑。
2、方便实用:客户自己可以随时查询帐户的余额、今日明细和明细等详细信息,查看某笔款项是否到帐,还可打印出电子回单做为临时入帐的凭证;即使是非银行工作日或者是非银行工作时间都可以进行帐务对帐和转帐结算,也就是说工行网上银行业务真正实现了24小时银行服务。
3、结算快捷:无论是收款还是付款,无论是威海本地还是全国异地,只要对方在工行开户,客户都可以在瞬间完成结算工作,对方如果在其他行开户,客户在网上发出付款指令后,也将由银行专人替您办理,结算方便快捷。
4、强化管理:对于大客户特别是集团客户能够通过企业网上银行监控分支机构的帐户,进行资金的双向调拨或横向调拨,提高了资金的使用效率,这是我行推出的优势项目,目前只有工商银行网上银行能提供此项功能,全国的一些大集团、大客户为了强化自身的财务管理,将其下属所有企业全部移至工行开立网上银行,有效地提高了资金的使用效率,盈利也大大增加。
中国工商银行服务收费公示价目表

中国工商银行服务收费公示价目表--电子银行(2012版)处理的业务按每笔1元收取。
说明:当地人民银行另有规定的,按人民银行规定执行。
票据池对公入池托管:5000-10000元/年/户或协议收取。
入池质押:5000-10000元/年/户或协议收取。
注:电子银行渠道按柜面渠道的8折收取。
票据池业务为集团总部及成员单位提供票据入池托管或质押,并以票据质押和保证金作为担保为集团总部或成员单位提供新开票据等服务。
工银信使对公柜面渠道:10-50元/月/提醒类型/手机号/账户。
电子银行渠道:1、以下各项服务按照当地柜面收费标准3折收取:余额变动提醒服务费、昨日余额提醒、实物黄金预警强平通知、加工贸易保证金提醒、余额不足提醒、昨日发生额提醒、支付不足提醒、特定交易对手提醒、银企业对账提醒、结构性存款产品通知、资金池归集下拨提醒等。
2、企业进口/出口信用证业务提醒服务费:EMAIL方式免费;短信方式每手机号每月10元。
3、国内信用证业务提醒服务费:每手机号每月10元。
4、电子商业汇票短信提醒服务费:每条0.3元。
5、银财通支付短信提醒服务费:每月10元。
6、企业网银国内/国际保函业务提醒服务费:每月10元,季、半年、年收费标准依此类推。
为客户提供的一种有偿信息提醒服务。
银行通过手机短信或电子邮件(email)等方式,按照客户定制的服务信息列表,为客户提供提醒服务。
1、企业网上银行企业进口/出口信用证业务提醒和国内信用证业务提醒两项服务推广期支持5个手机号,整个功能每月收费10元。
2、企业网上银行银财通支付短信提醒服务暂时免费。
个人汇款套餐个人协议费+套餐费。
协议费20元/年/户。
套餐A(1个月,100笔)488元;套餐B(3个月,500笔)1888元;套餐C(6个月,1500笔)3888元;套餐D(12个月,3000笔)5888元;套餐E(12个月,10000笔)8888元;套餐F(12个月,100笔)1188元。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中国工商银行网上银行B2C在线支付接口说明一、B2C流程说明:1、客户在商户网站浏览商品信息,签订订单;2、商户按照工行B2C订单数据规范形成提交数据,并使用工行提供API和商户证书对订单数据签名,形成form表单返回客户浏览器,表单action地址指向工行接收商户B2C订单信息的servlet;3、客户确认使用工行支付后,提交此表单到工行;4、工行网银系统接收此笔B2C订单,对订单信息和商户信息进行检查,通过检查则显示工行B2C支付页面;5、客户在此页面可以查询客户在银行的预留信息;也可以输入支付卡号、支付密码、验证码进行B2C支付;6、工行检查客户信息,通过检查后显示确认页面;客户确认提交后工行进行支付指令处理;7、工行进行支付指令处理后,如果商户需要工行实时通知,则工行将处理结果使用http协议post方式将通知消息数据提交到商户网站(这个接收银行通知消息的商户端地址是随商户订单数据提交银行的merURL字段),商户返回取货地址或关闭这个银行与其建立的连接后,银行才显示交易结果页面给客户。
(注意1、发送通知和显示结果页面是串行的,所以商户端接收银行通知处理时间太长可能导致客户等待超时,造成银行不能将交易结果页面显示给客户。
2、此连接是银行服务器自动和商户进行的连接,商户返回也是直接返回给银行,商户端不能对银行的这个请求进行重定向。
)8、工行进行支付指令处理后,如果商户不需要工行实时通知,则工行直接显示交易结果给客户。
二、B2C接口数据说明:接口数据格式定义通过接口名称和接口版本号来标识,以便将来的扩展;以下数据格式为“1.0.0.1”版的“ICBC_PERBANK_B2C”接口定义。
2.1 B2C商户提交表单接口定义:其他同1.0.0.0版本2.2 商户提交表单签名merSignMsg格式:1、组织要签名的数据串(顺序固定;被商户签名的串为各输入项的值):接口名称的值+接口版本号的值+商城代码的值+商城账号的值+通知地址的值+通知类型的值+订单号的值+订单金额的值+支付币种的值+结果发送类型的值+交易日期时间的值+校验联名标志的值2、举例:以下是需要签名的数据名称及对应值interfaceName=ICBC_PERBANK_B2C&interfaceVersion=1.0.0.0&merID=0200EC20000012&merAcct=0200029109000030106&merU RL=/servlet¬ifyType=HS&orderid=000000001&amount=100 &curType=001 &resultType=0&orderDate=20050801192556& verifyJoinFlag=0需要签名的明文ICBC_PERBANK_B2C1.0.0.00200EC200000120200029109000030106.c n/servletHS0000000011000010200508011925560签名后(用测试私钥user.key )merSignMsg为SFVdS3Kca6d/wetLFwynBl1q5nDIyxxEUXCzniIa47mhxs1BM9mPsnRc2lOqqrfwBdwBjSE82jS/iBHYKol f2sppjEyOImVZycv96321QPDgPA1yleO83K1XA1rmB3zxsIuwLKIICSWwdttn1XPYOQLJ/WAtZ5DFYFog7J 8pXw0=merCert为(用测试证书user.crt)MIICVjCCAb+gAwIBAgIKI9fKEDP6AAAO3DANBgkqhkiG9w0BAQUFADA0MRgwFgYDVQQDEw9wYmouaWNiYy5 jb20uY24xGDAWBgNVBAoTD3Biai5pY2JjLmNvbS5jbjAeFw0yMDA5MjAwOTI3NDFaFw0yMTA5MjAwOTI3ND FaMEMxGDAWBgNVBAMTD2JpYW5sdTIyLmUuMDIwMDENMAsGA1UECxMEMDIwMDEYMBYGA1UEChMPcGJqLmljY mMuY29tLmNuMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDG+u/C5pad0ZbwvAk9Gv1rr+SpknfFUsTM hJLcI2KiYa+XLSf5vCib0OclOoDDXKIWPt/hkMEz+ED8YukQpsstXHvnxVFxVtPh23dubQjB8/kJ7X5Ebwn gsHMLFEXqr3UvNfcGZHuAFqMRPtr8ys3YnL3UG43Xienc3cD8jXFdQQIDAQABo2AwXjBLBgNVHR8ERDBCME CgPqA8pDowODEOMAwGA1UEAxMFY3JsMTMxDDAKBgNVBAsTA2NybDEYMBYGA1UEChMPcGJqLmljYmMuY29tL mNuMA8GA1UdYwQIAwYA/wAAAAAwDQYJKoZIhvcNAQEFBQADgYEAQe6tLhKaNX8OPNT2XzH7dTXIFmTm37hS vmbEL/Q/pWV386KVrNSCnyN3fowanMt5TE9qZFn9enVvyDJw4nAUx38F2PFn2Tt7JUtzt/pNKC5FiebpFJH 48AXIP1Xt5GjdcBx0oXM9QNBtYvY0189t357EH4UaBfO+c+L8fkOt37o=2.3 B2C通知商户交易结果接口定义:1.0.0.1版本(注意与C2C通知接口定义变量名区分)2.4 通知消息银行签名数据signMsg格式:1、组织要签名的数据串(顺序固定;银行通知消息签名的串为以下格式,请注意与商户签名串的格式不同):接口名称=值&接口版本号=值&订单号=值&指令序号=值&订单金额=值&支付币种=值&商城代码=值&商城账号=值&校验联名标志=值&客户联名标志=值&联名会员号=值&结果发送类型=值&交易日期时间=值&返回通知日期时间=值&订单处理状态=值&错误描述=值&备注1=值&备注2=值interfaceName=值&interfaceVersion=值&orderid=值&TranSerialNo=值&amount=值&curType=值&merID=值&merAcct=值&verifyJoinFlag=值&JoinFlag=值&UserNum=值&resultType=值&o r d e r D a t e=值&n o t i f y D a t e=值&t r a n S t a t=值&c o m m e n t=值&r e m a r k1=值&remark2=值举例:以下是需要验签的数据串明文interfaceName=ICBC_PERBANK_B2C&interfaceVersion=1.0.0.0&orderid=000000001&TranSeria lNo=&amount=100&curType=001&merID=0200EC20000012&merAcct=0200029109000030106&verify JoinFlag=0&JoinFlag=&UserNum=&resultType=0&orderDate=20050801192556¬ifyDate=2005 0824165910&tranStat=2&comment=failure,Error_code:32147ErrorMsg:提交支付表单时间数据不在有效时间范围。
&remark1=&remark2=签名后signMsg为Yp4CVHY5rHtcQ9kOxHc70k1PKgpv1jXk0LZgSH0O+iEcFA3KKxBRjAhvCvV0hDc9X0WXswMfcGuaKMoCJSM Hmdq3lVTYr2hfT1/K3nPI6IdCGmo4wJWha8ha4ujyLkQFa36f+7C1g9keBro59GPIBHHaRs1Ggmnb2aNimd MAAiM=2.5 商户可能收到的银行通知:指令成功:只能有一笔成功、且要验证银行签名、订单金额等信息是否与商户端记录一致。
指令失败:注意可能收到多笔失败。
客户支付失败时可以重提此笔订单到银行支付。
指令可疑:由于网银系统与后台业务处理系统间通讯异常,造成网银不能确认支付指令结果,则此笔指令为可疑指令;可疑指令将被自动批复,商户、客户可于第二日查询指令状态。
没有收到银行通知:由于银行、商户两端服务器或者互联网通讯等原因可能造成商户端接收不到银行通知。
当没有收到银行通知时,可登录工行商户服务网站手工查询指令状态或者商户调用查询接口自动处理。
2.6商户返回取货地址:取货地址(也可称为商户收到银行成功支付后的商户端确认地址):如果有取货地址则及时返回取货地址,没有取货地址需及时关闭连接;因为银行端先进行订单支付清算,然后给商户发送通知,在商户返回取货地址或者关闭连接后,才显示交易结果给客户,整个过程是串行的;如果商户在收到银行通知后,不及时返回或关闭连接,将可能造成客户端等待超时,无法显示最终的交易结果页面。
三、安全API说明:为了保证商户提交订单数据和银行通知信息数据的完整性,不可抵赖性,现提供一套用于信息签名、验签和BASE64编解码的函数。
商户开发时使用这套函数和工行颁发的商户证书进行商户订单信息签名;签名数据项和顺序均固定,具体格式可参见上一节的数据定义;同时使用这套API和银行公钥可以验证银行通知消息的有效性。
安全API的使用方法可参见【开发API接口】目录中不同开发语言的说明和demo程序;四、开发步骤商户程序需在银行模拟测试环境上进行联调后,再投产,以下说明联调开发步骤。
生成订单:1、商户和当地行联系,申请联调测试;由当地行在模拟测试环境录入商户信息,生成商户证书(pfx格式);并提供银行模拟测试环境的银行证书公钥文件(用于验证银行签名时使用);2、商户或者银行用证书拆分工具将pfx格式的商户证书拆分成扩展名为crt的公钥文件和扩展名为key的私钥文件;(这两个文件用于商户开发API调用来进行商户订单数据签名)3、商户进行开发,准备【B2C商户提交表单接口定义】一节中要求的订单数据;4、其中订单签名数据merSignMsg字段需要根据【商户提交表单签名merSignMsg格式】一节中规定数据项和顺序来拼接成明文串;然后使用提供的API函数和商户私钥进行签名,得到签名串,然后做BASE64编码;5、其中商城证书公钥merCert字段需要使用API函数做BASE64编码;6、准备好订单数据,即完成订单提交的开发;之后只要将订单提交银行接收入口“https://银行地址/servlet/ICBCINBSEBusinessServlet”,银行来处理B2C指令的资金支付;接收通知:如果商户需要银行实时发送交易结果,则需要在订单的通知类型notifyType设置成“HS”,并设置有效的接收银行通知的接收地址merURL字段,银行在支付处理完成后会向此地址post交易结果表单,表单数据项已在【B2C通知商户交易结果接口定义】中说明;商户接收到银行通知后,需使用开发API和银行公钥来验证银行签名,以确保通知消息的有效性,以下简要说明验证步骤:1、商户收到银行通知,即接收到【B2C通知商户交易结果接口定义】中说明的各字段;各字段使用URLencode,如果商户端web服务器没有自动将各字段进行URLdecode,则商户程序需手工进行URL解码;2、获得各字段取值后,根据【通知消息银行签名数据signMsg格式】格式中说明的数据项和顺序,拼成银行端签名数据明文;3、使用商户开发API和银行公钥文件对表单中的银行签名signMsg进行验签;4、验签成功后,为确保数据一致,建议商户比较一下通知消息中订单金额、卖家卡号等关键信息和自己记录的是否一致;5、商户根据交易结果tranStat来更新自己的指令状态和相关数据库信息;6、如果商户没有信息返回给银行则直接关闭此连接;如果商户需要提供客户取货地址或者希望客户到商户自己的确认页面,则需要返回取货地址或确认页面的URL给银行,银行将在显示给客户的交易结果页面显示此URL的链接供客户点击;五、样例:商户提交订单form<FORM name="order" METHOD=POSTACTION="https://银行地址/servlet/ICBCINBSEBusinessServlet">1、订单只能使用POST方式提交;使用https协议通讯;2、接收servlet名称固定为:/servlet/ICBCINBSEBusinessServlet3、银行地址:如果是生产则为“”,若为模拟测试环境则为“”<INPUT NAME="interfaceName" TYPE="text" value="ICBC_PERBANK_B2C" >接口名称固定为“ICBC_PERBANK_B2C”<INPUT NAME="interfaceVersion" TYPE="text" value="1.0.0.0">接口版本目前为“1.0.0.0”<INPUT NAME="orderid" TYPE="text" value="000000001">订单号商户端产生,一天内不能重复。