网银在线支付平台

时间:2022-03-14 09:03:51

网银在线支付平台

B 2C原文地址:http://viger6.blog.hexun.com/8309779_d.html  系统商户接口规范

 

版本号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.aspSend.aspxSend.phpSend.jsp

用途:接收ChinaBank.html发送过来的数据加密后发往网银在线电子支付平台的接口网关

 

1、 支付平台网关接口地址

<form method=post action="https://pay3.chinabank.com.cn/PayGate">

    2FORM表单参数

表单参数如表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 70A 1E8AF 60F 49C 143A 7B95">                 订单MD5校验码

<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

注意:得出的32MD5值需转化为大写。(具体函数使用方法请参见接口示例)

MD5函数加密该字符串所得值即为我们所需的订单MD5校验码,将其写入v_md5info字段即可。

 

2.2.    网银在线支付 >>> 商户(页面返回)

用途:支付完成后,网银支付平台通过客户浏览器页面链接返回支付结果信息给商户

示例程序:Receive.aspReceive.aspxReceive.phpReceive.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_oidv_pstatusv_amountv_moneytypekey

 MD5字符串示例

20050320-2000400-0000012342012.340key

MD5函数加密上述字符串后得到的值如果和v_md5str值相等即表明返回的信息没有被纂改

订单总金额

v_amount

订单实际支付金额

币种

v_moneytype

订单实际支付币种

备注字段1

remark1

 

备注字段2

remark2

 

3

2.3.    网银在线支付 >>> 商户(服务器返回)

用途:支付完成后,从网银在线支付平台服务器返回给商户支付结果信息

示例程序:AutoReceive.aspAutoReceive.phpAutoReceive.jsp

信息格式同2.1.2

接口说明:

每一笔支付订单支付完成后,网银在线服务器会发送支付结果信息到商户接口程序,该程序根据订单的校验信息正确如否返回“ok”或者“error”字符串。网银在线服务器在收到“ok”字符串后就不再发送该订单的支付结果信息,否则会自动按照34分钟的间隔频率重复发送该支付结果信息。

 

注意事项:

1.        商户接口程序接收网银在线返回的支付结果信息时必须验证订单的实际支付金额是不是和商户自己的系统中原始订单金额一致。

2.        2.1.3 接口方式为可选项,商户只需要开发 2.1.1 2.1.2两个接口程序就可以完成全部的支付过程。

3.        使用 2.1.3 接口方式时,服务器返回的信息不带任何SessionCookie

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

支付结果处理失败,请与客服联系