网银在线支付商户接口文档B2C系统.docx
《网银在线支付商户接口文档B2C系统.docx》由会员分享,可在线阅读,更多相关《网银在线支付商户接口文档B2C系统.docx(12页珍藏版)》请在冰豆网上搜索。
![网银在线支付商户接口文档B2C系统.docx](https://file1.bdocx.com/fileroot1/2023-1/4/e40ca1af-3ba8-4f67-9695-4c02bebb1190/e40ca1af-3ba8-4f67-9695-4c02bebb11901.gif)
网银在线支付商户接口文档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、支付平台网关接口地址
2、FORM表单参数
表单参数如表1,具体定义如表2。
说明:
蓝色部分为必填项,黄色部分与网上支付货款无关,建议不用
商户编号
订单编号
订单总金额
币种
//domain/chinabank/Receive.asp">
支付动作完成后返回到该url,支付结果以POST方式发送
订单MD5校验码
备注字段1
备注字段2
收货人姓名
收货人地址
收货人电话
收货人邮编
收货人邮件
收货人手机号
订货人姓名
订货人地址
订货人电话
订货人邮编
订货人邮件
订货人手机号
表1
支付表单中的变量定义:
—必填项
—与网上支付货款无关项,建议不用
变量名称
变量命名
长度
说明
举例
商户编号
v_mid
不可为空,以初始单所填商户编号为准。
20000400
订单编号
v_oid
64
不可为空值,订单编号标准格式为:
订单生成日期(yyyymmdd)-商户编号-商户流水号。
订单编号所有字符总和不可超过64位。
19990720-20000400-12345。
商户流水号为数字,订单号当日内不可重复
订单总金额
v_amount
8
不可为空,单位:
元,小数点后保留两位。
0.01
币种
v_moneytype
CNY为人民币
CNY
URL地址
v_url
200
消费者完成购物后返回的商户页面,URL参数是以http:
//开头的完整URL地址
http:
//domain/chinabank/Receive.asp
MD5校验码
v_md5info
32
详情见md5相关说明
备注1
remark1
150
值自定义
备注1
备注2
remark2
150
值自定义
备注2
收货人姓名
v_rcvname
80
值自定义。
张三
收货人地址
v_rcvaddr
200
值自定义。
北京海淀1
收货人电话
v_rcvtel
50
值自定义。
588156661
收货人邮编
v_rcvpost
10
值自定义。
100081
收货人Email
v_rcvemail
100
值自定义。
test1@
收货人手机号
v_rcvmobile
13
值自定义。
131********11
订货人姓名
v_ordername
80
值自定义。
李四
订货人地址
v_orderaddr
200
值自定义。
北京海淀2
订货人电话
v_ordertel
50
值自定义。
588156662
订货人邮编
v_orderpost
10
值自定义。
100082
订货人Email
v_orderemail
100
值自定义。
test2@
订货人手机号
v_ordermobile
13
值自定义。
131********12
表2
MD5校验串生成方法:
当消费者在商户端生成最终订单的时候,将订单中的v_amountv_moneytypev_oidv_midv_urlkey六个参数的value值拼成一个无间隔的字符串(顺序不要改变)。
参数key是商户的MD5密钥(该密匙可在登陆商户管理界面后自行更改。
)
MD5字符串示例:
0.01019990720-20000400-00000123420000400http:
//domain/chinabank/Receive.aspkey
注意:
得出的32位MD5值需转化为大写。
(具体函数使用方法请参见接口示例)
用MD5函数加密该字符串所得值即为我们所需的订单MD5校验码,将其写入v_md5info字段即可。
2.2.网银在线支付>>>商户(页面返回)
用途:
支付完成后,网银支付平台通过客户浏览器页面链接返回支付结果信息给商户
示例程序:
Receive.asp、Receive.aspx、Receive.php、Receive.jsp
信息格式:
该消息格式详细解释如下:
v_url是该笔订单提交时参数v_url的值,即网银返回到商户的接口地址。
变量名称
变量命名
返回值说明
订单编号
v_oid
商户发送的v_oid定单编号。
支付状态
v_pstatus
20(表示支付成功)
30(表示支付失败)
支付结果信息
v_pstring
支付完成
支付完成
支付方式
v_pmode
支付银行,例如工商银行
订单MD5校验码
v_md5str
该参数的MD5字符串的顺序为:
v_oid,v_pstatus,v_amount,v_moneytype,key
MD5字符串示例:
20050320-2000400-0000012342012.340key
用MD5函数加密上述字符串后得到的值如果和v_md5str值相等即表明返回的信息没有被纂改
订单总金额
v_amount
订单实际支付金额
币种
v_moneytype
订单实际支付币种
备注字段1
remark1
备注字段2
remark2
表3
2.3.网银在线支付>>>商户(服务器返回)
用途:
支付完成后,从网银在线支付平台服务器返回给商户支付结果信息
示例程序:
AutoReceive.asp、AutoReceive.php、AutoReceive.jsp
信息格式同2.1.2
接口说明:
每一笔支付订单支付完成后,网银在线服务器会发送支付结果信息到商户接口程序,该程序根据订单的校验信息正确如否返回“ok”或者“error”字符串。
网银在线服务器在收到“ok”字符串后就不再发送该订单的支付结果信息,否则会自动按照3至4分钟的间隔频率重复发送该支付结果信息。
注意事项:
1.商户接口程序接收网银在线返回的支付结果信息时必须验证订单的实际支付金额是不是和商户自己的系统中原始订单金额一致。
2.2.1.3接口方式为可选项,商户只需要开发2.1.1和2.1.2两个接口程序就可以完成全部的支付过程。
3.使用2.1.3接口方式时,服务器返回的信息不带任何Session和Cookie
4.2.1.3接口程序只能输出字符串“ok”或者“error”,不能有其他任何输出(包括空格、空行)。
5.2.1.3接口程序开发完成后,商户需要通知网银客服来设置该程序的URL地址。
6.2.1.3接口程序实时返回银行状态,例如消费者在工商银行支付时输错密码,工商银行会返回支付失败的信息,然后该消费者输入了正确的密码,工商银行又会返回支付成功的信息,所以2.1.3接口程序会先返回一个支付失败的信息,然后返回一个支付成功的信息。
2.4.网关错误编码表
用途:
在接入网关时,可以提示消费者或开发人员接口出现的问题,以便开发人员及时发现问题的出处。
错误码
错误消息
100100
错误异常
100101
服务资源未找到,请稍后重试
100900
抱歉,出现未预期的异常
200901
不支持的安全方式,参数有误
200902
安全验证,加密出现异常
200903
数据签名验证未通过
201001
工行验证返回签名未通过,可疑银行交易
201002
安全验证,中行MD5验证出现错误
201005
服务拒绝,CCB签名验证错误
201006
服务拒绝,CBP签名验证错误
201007
服务拒绝,CMB签名验证错误
201008
服务拒绝,CMBC签名验证错误
201009
服务拒绝,COMM签名验证错误
201010
服务拒绝,广发行签名验证错误
201011
服务拒绝,广银联签名验证错误
201012
服务拒绝,深发展签名验证错误
201101
MASTER验证
201102
VISA订单数据验证错误
201103
JCB外卡验证错误
201104
安全验证VE,验证失败
201105
安全验证失败
201106
服务暂停,该号列入风险控制,交易存在风险
201107
商户外卡支付要求3D验证
201108
存在未知风险,或风险未明确定义
201109
验证异常,存在风险,请稍后重试
201110
支付超出日限额,受风险控制
201111
支付次数过多,已列入风险控制中,请改日继续支付
201112
支付单笔超出限额
201113
超出单一IP支付次数
201114
商户已列入黑名单控制
201300
安全验证,VE验证失败
300800
缺少必要的服务参数
500700
参数错误,订单不能保存
500701
请求非法,订单不存在
500702
服务拒绝,该服务未提供
500703
商户找不到,请确认已注册
500704
非正常商户状态
500705
订单支付信息未找到
500706
操作失败,状态更新失败
500708
参数错误,该商户ID不存在
500709
商户未开通外卡支付
500710
该商户未启用支付直通服务,错误的服务编码
500800
错误的数据格式,不能解析
500902
参数错误,缺少订单号
500903
参数错误,订单号过长
501101
服务拒绝,重复的服务请求
501102
重复的服务请求
501103
参数错误,订单号不能空
501104
参数错误,请填写金额
501105
参数错误,支付结果处理失败
501106
服务可疑,支付结果金额不一致
501107
服务超时中止,订单不存在
501108
提交的参数有误
501109
缺少必要的参数或参数不能识别
501110
币种参数有误,不支持该币种
501111
缺少必要返回参数idx
服务不能识别
501112
参数错误,非法金额参数
501113
参数错误,金额超出范围
501114
参数错误,金额不能为0
501115
返回地址过长
501116
错误的返回地址格式
501117
订单名称过长
501118
订单域信息超出定义长度
501119
订单自定义服务项过长
501120
EMAIL地址不能空
501121
无效的EMAIL地址
501122
无效的手机号码
501123
提供的消息内容过长
501124
该订单未支付
501125
该订单支付状态失败
501126
无效订单状态,服务拒绝
501127
该订单已经支付成功,请勿重复支付
501128
该订单已被禁止支付
501129
邮政编码格式错误
501130
购买的商品列表过多,请分次购买
501131
无效订单,或者订单参数不能识别
501132
该支付不支持此支付金额,无效金额
501133
不能识别的订单版本号
501604
服务拒绝,服务未开通
511101
安全验证,订单验证失败
511601
服务拒绝,错误服务编号或者该服务未开通
511602
服务拒绝,请求的服务已经中止
511603
服务拒绝,服务未激活
601000
中行网络故障,服务不能提供
601001
请求银行数据签名失败,服务中止
601002
银行网络故障,服务不能提供
601003
请求交通银行数据签名失败,服务中止
601300
通信超时或服务拒绝
601301
服务拒绝
601302
该信用卡未在发卡行开通3D验证服务
601303
发卡行无法对该卡认证
601304
支付验证失败,支付取消
601305
支付验证失败,请稍后重试
601306
持卡人认证失败
601307
持卡人未能成功认证或认证存在风险
601308
与收单行通信失败,稍后重试
601500
商户支付服务已经停止使用
601600
请求数据时网络故障,稍后重试
700000
您的操作超时,请重新选择支付服务
700001
该订单多次提交,已禁止继续支付
700002
支付结果处理失败,请与客服联系