资源描述
网 上 支 付 接 口
(1.0期)
商户接口说明
版本1.05
北京珠峰伟业软件科技发展
10月18日
文档修改统计
版本
日期
说明
编写者
审核者
1.00
修改1.0期文档
1.01
-10-10
增加接收返回结果
1.02
-10-18
增加用户接收密码
1.03
-10-30
错误代码
1.04
-11-05
处理部分商户不支持汉字Mac加密算法问题
1.05
-12-03
增加支持英文平台
1.06
-12-13
测试账号说明
1.07
-12-26
增加vbscriptmd5加密算法
1.07
-01-06
增加php程序例子
说明
本文档中所包含信息属于机密信息,如无书面许可,任何人全部无权复制或利用。
®Copy right by (Beijing) Co., Ltd.
在例子中全部店铺号和密码均为测试账号。只用于商户进行测试,商户在自己程序正式上线前,请使用自己店铺号及支付密码。假如因为使用测试账号所引发商务纠纷6688网站概不负责。
目录
1. 网上支付使用条件 1
1.1 用户进行网上支付条件 1
2. 网上支付步骤 2
2.1 网上支付业务步骤图: 2
2.2 商户货款结算和对帐步骤 3
3. 用户à网关接口参数(汉字) 4
4. MAC算法说明(对于商户端支持MD5组件注册方法,请看以下说明): 6
5. 具体使用方法见附件: 7
6. MAC算法说明(对于商户端不支持MD5组件注册方法,请看以下说明): 8
7. MAC算法原理: 10
8. 支付网关à商户接口参数 12
9. 英文支付网关 13
1. 网上支付使用条件
1.1 用户进行网上支付条件
1) 和6688签约用户
Ø 用户已在6688签约,申请网上支付服务
Ø 用户签约帐户(信用卡或储蓄卡帐户)可用于网上支付
2. 网上支付步骤
2.1 网上支付业务步骤图:
8
6
5
银行后台
网关guan关
商户
7
2
9
4
3
1
用户
网上支付业务步骤步骤说明:
1) 用户登录商户网站,选择商品
2) 商户网站经过6688资格验证,查询商户方支持网上支付方法
3) 商户网站给用户提供可选择银行支付方法,由用户自行选择
4) 用户选择商品及要进行支付银行后,产生预定单信息
5) 信息经过加密传到支付网关平台。商户提供商户代码、订单号、累计金额及订单备注等信息,此四个信息必需提供;除此之外,商户方还必需将商户代码、订单号、累计金额及订单备注四个信息利用MAC组件进行加密产生MD5校验码,最好以post方法传输到支付网关平台用以确保定单信息正确性.其中,订单备注信息可为多种其它订单信息拼成一个字串,比如:订货人id,收货人地址等,商家网站将此信息传输给6688网站,6688网站将保留这些订单信息,方便于以后信息查对。
6) 支付网关平台接收用户支付信息,转发到银行后台业务处理系统;
7) 银行后台会将支付成功是否信息传送给支付网关平台
8) 支付网关平台会依据商户提交过来URL调用商户接收支付结果页面
9) 商户将用户支付结果显示给用户
2.2 商户货款结算和对帐步骤
1) 用户在商户网站选择商品并下单,经过6688支付网关付款给银行后,商户统计相关用户信息。货款记入6688在银行专用结算帐户(含定单号信 息)中,由6688和商户按协议约定进行款项结算。
2) 6688负责到银行处查询该用户该笔订单付款信息,假如付款完成,由6688通知商户进行配货,网上交易完成。商户经过6688提供订单查询系统查询本商户订单具体处理情况,并立即处理,并发货。
3. 用户à网关接口参数(汉字)
用户在商户网站选择商品后,商户网站生成以下信息,传送到网站:
域名
名称
类型、长度
备注
tmbrid
商家在6688会员号
CHAR(8)
由6688提供,必填项目
toname
定货人姓名
CHAR(50)
用户方订购人员姓名, 可为空
tsummoney
订单总额
NUMBER(8,2)
总金额, 由商户提供,按实际金额给出,必填项目
tContent1
定单内容
CHAR(500)
商家能够将支付订单商品信息拼成一个字串,传到6688网关,便于以后信息查对和查询,必填项目
trphone
收货人电话
CHAR(20)
可为空
trzipcode
收货人邮政编码
CHAR(20)
可为空
trname
收货人姓名
CHAR(50)
可为空
traddress
收货人地址
CHAR(16)
可为空
tremail
收货人email
CHAR(32)
可为空
tuserurl
接收支付结果url
CHAR(32)
可为空
todrid
订单号
CHAR(6)
商家网站方形成订单号,传输给6688网站,方便于以后订单查询和查对,必填项目
tSupperComRegflag
商户端是否能够支持Md5加密组件注册标志
int
商户网站是否能够注册Md5加密组件,处理部分商户因为是租用ISP服务器空间,不能够注册组件一个参数。
默认为空或0,表示商户支持MD5组件注册,不然为1,表示不支持
必填项目
Mac
MAC校验域
CHAR(32)
必填项目
采取标准MD5算法,由商户实现,具体算法以下:
注:
1.备注栏目中有必填项目字样是商家必需提供。
2.商户要确保定单号唯一性。
站点间接口参数传送采取post方法,商户将以上信息包含在FORM中,在SUBMIT后将生成URL,以下所表示:
<form method="post" name="frm_odrinfo" action="">
<input type="text" name="tmbrid" value="商家在6688商家号">
<input type="text" name="toname" value="定货人姓名">
<input type="text" name="trname" value="收货人姓名">
<input type="text" name="traddress" value="收货人地址">
<input type="text" name="tsummoney" value="订单总金额">
<input type="text" name="todrid" value="商家定单号">
<input type="text" name="temail" value="用户email">
<input type="text" name="trphone" value="收货人电话">
<input type="text" name="trzipcode" value="收货人邮编">
<input type="text" name="tuserurl" value="商家提供接收银行支付结果信息url">
<input type="text" name="tcontent1" value="订单信息备注字段">
<input type="text" name="tSupperComRegflag" value="商户端是否能够注册Md5加密组件标志">
<input type="hidden" name="mac" value="MAC校验域">
<input type="submit" >
</form>
tuserurl参数是6688网站提供给商家银行支付结果信息地址,商户在取得支付结果后期望用户进入商户网站某个页面URL,商户接收程序能够依据支付是否成功而指定不一样URL,或带不一样参数,商户能够依据参数不一样决定显示什么信息,假如成功支付情况,还能够依据参数不一样决定向用户提供什么服务。支付网关将传回4个参数:billNo、amount、succ、mac。参数具体意义详见5。支付网关à商户接口参数。
4. MAC算法说明(对于商户端支持MD5组件注册方法,请看以下说明):
参与MAC运算字符及其次序以下:mac=dd.string("tmbrid="+cstr(tmbrid)+"&tsummoney="+cstr(tsummoney)+"&tcontent1="+cstr(tcontent1)+"&todrid="+cstr(todrid)+ "&tpwd="+ tpwd)
商户在使用支付网关时候,除了4个必需提供商品信息外和一个支付密码外,还必需传过一个
校验码,网关使用商户传输过来校验码和网关本身产生一个校验码进行比较来判定商户正当身份。
注:校验码产生时,四个产品信息和一个支付密码,必需根据如上提供次序;
MAC校验码产生示例
1. 使用MD5组件以产生校验码,组件由提供 (见附件yuan.dll),yuan.dll关键在windows平台使用, 在其它平台使用方法见md5子目录,注册方法:
在dos模式下键入:Regsvr32 盘符:\yuan.dll 便可完成注册过程。
2. 使用 MD5组件string方法产生mac校验码,即对tmbrid,tsummoney,tcontent1,todrid,tpwd五个表单域信息进行加密
tmbrid 商户在6688网站商户会员ID,由6688网站提供
tsummoney 订单总金额
tcontent1 定单信息字串:多种其它定单信息拼成字串,比如:收货人,商品名称,商品个数,订货时间等。
todrid 订单在商户方订单号
tpwd 由6688网站提供,假如为我们支付网关店铺,我们会在开店以后,发一封email,在email中,我们会告诵您支付密码,该密码为此项值。
3. MAC具体使用代码
Set dd = Server.CreateObject("yuan.md5")
response.write dd.string("tmbrid="+cstr(tmbrid)+"&tsummoney="+cstr(tsummoney)+"&tcontent1="+cstr(tcontent1)+"&todrid="+cstr(todrid)+ "&tpwd="+ tpwd)
set dd=nothing
5. 具体使用方法见附件:
infopage.asp
Send.asp
6. MAC算法说明(对于商户端不支持MD5组件注册方法,请看以下说明):
提醒:对于不支持MD5组件注册商户,提议商户使用用户端MD5加密方法。
我们现在支持vbscript 和Jscript两种方法。
6.1 Jscript语言:
1.参与MAC运算字符及其次序以下,以下参数不支持汉字:
tmbrid="10000111" //商家在6688商家号
todrid="1" //商家定单号
tsummoney= 80.5 //订单总金额
tpwd = "{ABCDDDD-FEXD-2DC3-A3R3-23CSEDGHDSDE}" //支付密码,由6688网站提供,包含在商户网站程序代码中
strtmp="tmbrid="+tmbrid+"&tsummoney=1"+"&todrid="+todrid+"&tpwd="+tpwd
macstr=calcMD5(strtmp)
2.商户在使用支付网关时候,除了三个必需提供商品信息外和一个支付密码外,还必需传过一个校验码,网关使用商户传输过来校验码和网关本身产生一个校验码进行比较来判定商户正当身份。
注:校验码产生时,三个产品信息和一个支付密码,必需根据如上提供次序;
MAC校验码产生示例
3. 使用 MD5组件string方法产生mac校验码,即对tmbrid,tsummoney,todrid,tpwd四个表单域信息进行加密
tmbrid 商户在6688网站商户会员ID,由6688网站提供
tsummoney 订单总金额
todrid 订单在商户方订单号
tpwd 由6688网站提供,假如为我们支付网关店铺,我们会在开店以后,发一封email,在email中,我们会告诵您支付密码,该密码为此项值。
4. MAC具体使用代码
tmbrid="10000111" //商家在6688商家号
todrid="1" //商家定单号
tsummoney= 80.5 //订单总金额
tpwd = "{ABCDDDD-FEXD-2DC3-A3R3-23CSEDGHDSDE }" //支付密码,由6688网站提供,包含在商户网站程序代码中
strtmp="tmbrid="+tmbrid+"&tsummoney=1"+"&todrid="+todrid+"&tpwd="+tpwd
macstr=calcMD5(strtmp)
5.具体使用方法见附件:
p.asp
6.2 vbscript语言:
1.参与MAC运算字符及其次序以下,以下参数不支持汉字:
tmbrid="10000111" '商家在6688商家号
todrid="1" '商家定单号
tsummoney= 80.5 '订单总金额
tpwd = "{ABCDDDD-FEXD-2DC3-A3R3-23CSEDGHDSDE}" '支付密码,由6688网站提供,包含在商户网站程序代码中
strtmp="tmbrid="+tmbrid+"&tsummoney="+cstr(tsummoney)+"&todrid="+todrid+"&tpwd="+tpwd
macstr=calcMD5(strtmp)
2.商户在使用支付网关时候,除了三个必需提供商品信息外和一个支付密码外,还必需传过一个校验码,网关使用商户传输过来校验码和网关本身产生一个校验码进行比较来判定商户正当身份。
注:校验码产生时,三个产品信息和一个支付密码,必需根据如上提供次序;
MAC校验码产生示例
3.使用 MD5组件string方法产生mac校验码,即对tmbrid,tsummoney,todrid,tpwd四个表单域信息进行加密
tmbrid 商户在6688网站商户会员ID,由6688网站提供
tsummoney 订单总金额
todrid 订单在商户方订单号
tpwd 由6688网站提供,假如为我们支付网关店铺,我们会在开店以后,发一封email,在email中,我们会告诵您支付密码,该密码为此项值。
4. MAC具体使用代码
tmbrid="10000111" '商家在6688商家号
todrid="1" '商家定单号
tsummoney= 80.5 '订单总金额
tpwd = "{ABCDDDD-FEXD-2DC3-A3R3-23CSEDGHDSDE }" //支付密码,由6688网站提供,包含在商户网站程序代码中
strtmp="tmbrid="+tmbrid+"&tsummoney="+cstr(tsummoney)+"&todrid="+todrid+"&tpwd="+tpwd macstr=calcMD5(strtmp)
5.具体使用方法见附件:
pvb.asp
7. MAC算法原理:
我们假设商户实施标准MD5算法对向网上银行系统提交交易内容进行MAC校验,产生128位(bit)MAC结果。输入为字符串,输出为16进制字符表示字符串。
下面是对MAC结果显示方法描述:
1、 对128位交易结果按4位为一个单位进行划分,共取得32段
2、 将每段看成一个16进制数,如0011为0X3,1101为0Xd。
3、 将这个数映射到ASCII码表,形成对应字符,如0X2为“2”,0Xd为“d”。
4、 将这些字符连成一个字符串,长度为32。
下面是使用JAVA语言对表现方法描述:
public static String bintoascii(byte []bySourceByte)
{
int len,i;
byte tb;
char high,tmp,low;
String result=new String();
len=bySourceByte.length;
for(i=0;i<len;i++)
{
tb=bySourceByte[i];
tmp=(char)((tb>>>4)&0x000f);
if(tmp>=10)
high=(char)('a'+tmp-10);
else
high=(char)('0'+tmp);
result+=high;
tmp=(char)(tb&0x000f);
if(tmp>=10)
low=(char)('a'+tmp-10);
else
low=(char)('0'+tmp);
result+=low;
}
return result;
}
在实施时若碰到具体问题,可由双方协商处理。
4.附件frame.html是6688网站成功接收商家信息后供用户选择支付方法界面。
5.其中md5子目录是相关MAC加密算法不一样语言版本,商家可依据自己平台加入选择不一样算法.
Md5java md5 for java语言 源程序算法
md5cpp md5 for C++ 语言 源程序算法
md5c md5 for C 语言 源程序算法
Md5js md5 for javascript语言 源程序算法和相关使用方法附件,包含md5.inc、和md5.js,提议不能安装组件商户使用
Md5perl md5 for perl语言 源程序算法
6.错误代码:
1)7003:两边加密密码不匹配。校验失败
2) 假如有其它错误,系统会立即提醒
8. 支付网关à商户接口参数
在支付结束后,支付网关将支付是否成功是否结果按商户传来URL将支付结果返回:
域名
名称
类型、长度
备注
billNo
订单号
CHAR(6)
商家网站方形成订单号
amount
订单总额
NUMBER(8,2)
订单金额
succ
支付结果
CHAR(1)
“Y”:支付成功
“N”:支付失败
Mac
MAC校验域
CHAR(32)
采取标准MD5算法,具体算法以下说明
注:
1. mac=dd.string("billNo="+ billNovalue+"&amount="+ amountvalue+"&succ="+ succvalue +"&pwd="+ pwdvalue))
2. 假如商户-〉支付网关时候就没有传参数:tuserurl,支付网关就不会将支付结果传给商户。
3. pwdvalue:假如为我们支付网关店铺,我们会在开店以后,发一封email,在email中,我们会告诵您支付密码,该密码为此项值。
发送和接收具体例子程序,详见:
INFOPAGE.ASP(用户订单信息)
SEND.ASP(将用户订单信息发送给支付网关例子程序,对于商户端支持MD5组件注册方法)
P.ASP(将用户订单信息发送给支付网关例子程序,对于商户端不支持MD5组件注册方法----JSCRIPT)
PVB.ASP(将用户订单信息发送给支付网关例子程序,对于商户端不支持MD5组件注册方法----VBSCRIPT)
GETRESULT.ASP(从支付网关接收支付结果例子程序)
PPHP.PHP(PHP程序连接支付网关例子)
步骤例子:
步骤例子:
步骤例子:
9. 英文支付网关
对于需要使用英文支付网关用户,我们提供了对应接口。我们是在汉字支付网关基础上进行了对应修改。传入参数均和汉字一样(详见3-8)。只是对form提交页面进行了修改:将提交页面由,修改为:.
例子详见:
INFOPAGEE.ASP(用户订单信息)
SENDE.ASP(将用户订单信息发送给支付网关例子程序,对于商户端支持MD5组件注册方法)
步骤例子:
展开阅读全文