网银在线支付平台
来源:互联网 发布:众途汽车软件 编辑:程序博客网 时间:2024/04/26 21:38
网银在线支付平台
B
版本号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://pay3.chinabank.com.cn/PayGate">
2、FORM表单参数
表单参数如表1,具体定义如表2。说明:蓝色部分为必填项,黄色部分与网上支付货款无关,建议不用
<form method=post action="https://pay3.chinabank.com.cn/PayGate"> <input type=hidden name=v_mid value="20000400"> 商户编号 <input type=hidden name=v_oid value="19990720-20000400-000001234">订单编号 <input type=hidden name=v_amount value="0.01"> 订单总金额 <input type=hidden name=v_moneytype value="CNY"> 币种 <input type=hidden name=v_url value="http://domain/chinabank/Receive.asp"> 支付动作完成后返回到该url,支付结果以POST方式发送 <input type=hidden name=v_md5info value="1630DC083D <input type="hidden" name="remark1" value="备注1"> 备注字段1 <input type="hidden" name="remark2" value="备注2"> 备注字段2 <input type=hidden name=v_rcvname value="张三"> 收货人姓名 <input type=hidden name=v_rcvaddr value="北京海淀"> 收货人地址 <input type=hidden name=v_rcvtel value="68475566"> 收货人电话 <input type=hidden name=v_rcvpost value="100036"> 收货人邮编 <input type=hidden name= v_rcvemail value="test@test.com"> 收货人邮件 <input type=hidden name=v_rcvmobile value="131100110011"> 收货人手机号 <input type=hidden name=v_ordername value="李四"> 订货人姓名 <input type=hidden name=v_orderaddr value="北京海淀"> 订货人地址 <input type=hidden name=v_ordertel value="68475566"> 订货人电话 <input type=hidden name=v_orderpost value="100036"> 订货人邮编 <input type=hidden name= v_orderemail value="test@test.com"> 订货人邮件 <input type=hidden name=v_ordermobile value="131100110012"> 订货人手机号 <input type=submit value="网银在线支付"> </form>
表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@test.com
收货人手机号
v_rcvmobile
13
值自定义。
1311311311311
订货人姓名
v_ordername
80
值自定义。
李四
订货人地址
v_orderaddr
200
值自定义。
北京海淀2
订货人电话
v_ordertel
50
值自定义。
588156662
订货人邮编
v_orderpost
10
值自定义。
100082
订货人Email
v_orderemail
100
值自定义。
test2@test.com
订货人手机号
v_ordermobile
13
值自定义。
1311311311312
表2
MD5校验串生成方法:当消费者在商户端生成最终订单的时候,将订单中的v_amount v_moneytype v_oid v_mid v_url key六个参数的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
信息格式:
<form method=”post” action="v_url"> <input type="hidden" name="v_oid" value=""> <input type="hidden" name="v_pstatus" value=""> <input type="hidden" name="v_pstring" value=""> <input type="hidden" name="v_pmode" value=""> <input type="hidden" name="v_md5str" value=""> <input type="hidden" name="v_amount" value=""> <input type="hidden" name="v_moneytype" value=""> <input type="hidden" name="remark1 " value=""> <input type="hidden" name="remark2" value=""> </form>
该消息格式详细解释如下: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.
3. 使用
4.
5.
6.
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
支付结果处理失败,请与客服联系
- 网银在线支付平台
- 第三方支付平台--网银在线
- 第三方支付平台:银联在线支付
- 在线支付平台的设计
- 银联在线支付技术开放平台SDK下载地址
- 农行网上在线支付平台接口
- 探讨在线支付平台的实现
- 探讨在线支付平台的实现
- hql查询+在线网银支付系统
- 网银在线支付接口和应用
- 网银在线支付接口和应用
- 网银在线支付接口和应用
- 探讨在线支付平台支付接口的设计
- Thinkphp各大支付平台在线支付集成源码
- 银联在线支付--测试
- 在线支付(通过第三方支付平台易保支付)
- 农行网上在线支付平台接口安装详解
- 农行网上在线支付平台接口安装详解
- 编码之间的问题,其解决方法是在Web.config中添加
- 客户端调用服务器控件的客户端ID
- 一个好程序员的三个条件
- 不要想当然,原来ASP与ASP.NET不能共享会话(Session)
- 设置apache默认打开网页类型
- 网银在线支付平台
- Cross page posting in ASP.NET 2.0
- Controlling Font Size With Javascript
- Javascrp中几个常用的字符串验证
- ASP.NET获取IP与MAC地址的方法
- ASP.NET 2.0 中实现跨页提交
- 利用ASPJPEG组件生成中文验证码
- 电脑时代 你会不会写字
- JSP使用get/setProperty时,Bean的scope 改变引起的问题