云网支付@网技术手册
1 简介 (2)
1.1 目的 (2)
1.2 本手册适用对象 (2)
1.3 开发调试流程综述 (2)
1.4 技术支持 (3)
2 安全控制 (3)
3 在线支付接口开发说明 (3)
3.1 测试接口说明 (3)
3.1.1 签名测试模块: (3)
3.1.2 下订单测试模块: (4)
3.1.3 支付成功提货测试模块: (4)
3.1.4 支付网关整体测试流程模块: (4)
3.2 实时通知商户支付结果方式的实现 (5)
3.2.1 商户向云网支付网关提交支付请求信息 (6)
3.2.2 支付网关将支付结果信息传给商户的接口 (7)
3.2.3 两种支付结果通知方式的说明: (8)
3.2.3.1 服务器间通知方式(云网强烈建议用户采用此方式): (8)
3.2.3.2 普通通知方式: (9)
3.2.4 在开发技术接口时还需注意以下方面: (9)
4 商户订单自助查询系统 (10)
4.1 商户向云网网关提交订单查询信息 (10)
4.2 2.网关将查询结果信息传给商户的接口: (11)
5 附录一:支付银行列表 (12)
6 附录二:技术接口范例代码说明 (13)
1简介
中国目前电子商务发展日趋成熟,电子商务网站越来越多,但是统一的支付平台还不是很成熟,基于这种环境,有必要建立一套完整的支付体系。本支付系统集成各个大银行的支持,提供给商家一个统一的平台,方便商户使用,能够及时的反应支付结果信息。
遵循“专业、安全、高效、便捷”式的设计原则,云网支付网关系统为开展电子商务的商户提供了统一的网上交易支付平台。该网关系统定义了一个和商户系统的开放接口,商户系统通过这一接口就可以使用众多现有流行的银行支付系统完成网上交易,而不必针对每家银行的支付系统进行设计。同时系统还提供了完善的商家后台管理功能。
1.1 目的
本手册的主要目的是帮助云网支付网关商户熟练掌握支付网关的交易流程、网关技术接口、后台管理功能,并能方便地与商户网上商务系统紧密集成。
1.2 本手册适用对象
请确认您申请的商户时选择的产品类型,本手册主要针对非“简易型”产品使用。
本手册的适用对象为使用云网支付网关系统商户的网上应用开发人员、维护人员和管理人员,他们应具有如下基本知识:
熟悉Microsoft Windows/NT、Windows9x、Windows 2000、Windows XP、、Windows Vista、HP-UX、AIX、SUN Solaris、Linux、BSD等操作系统;
熟悉基于上述系统的网站设置和网页制作方法;
熟悉标准CGI(Common Gateway Interface)或ASP(Active Server Pages)或ISAPI的开发方法或PHP或JAVA、.Net;
了解基于上述平台MD5签名算法;
了解一般信息安全的基本概念。
1.3 开发调试流程综述
商户与云网公司完成所有商务手续后,可进入开发调试阶段。详细过程如下:
1.1登录商户管理后台(https://https://www.wendangku.net/doc/8a3185004.html,/admin/),在管理首页获得商户
的“支付密钥”,该密钥作MD5加密时,该密钥最初生成是在商户申请完成时
由系统自动生成,在商户管理后台可以修改;
1.2参照本文档进行技术接口的开发,详见下文第3节;
1.3进行联网调试;
1.4商户维护人员(日常工作操作员)熟悉云网支付网关商户后台各功能,可参看
《云网支付网关商户管理后台使用手册》;
1.5正式上线;
1.4 技术支持
有关云网支付网关系统开发、设计、集成、调试、运行中的任何问题,请与云网公司支付网关事业部联系:
地址:北京市海淀区北四环西路67号大地科技大厦615 室
邮编:100080
电话:010-********-2 支付网关事业部
Email:serv@https://www.wendangku.net/doc/8a3185004.html,
2安全控制
网上交易的传输安全控制手段采用SSL(Secure Socket Layer),SSL是一种被广泛使用的INTERNET传输加密标准。客户端的浏览器发送CGI请求时使用https协议,所有用https发送的请求以及Web Server返回的结果都会自动使用SSL加密。
3在线支付接口开发说明
3.1 测试接口说明
测试接口是把整个在线支付接口流程拆分为四个部分,分步骤进行开发测试,这样可有效缩短您开发技术接口的时间。
1、签名测试模块
2、下订单测试模块
3、支付成功提货测试模块
4、支付网关整体测试模块
3.1.1签名测试模块:
测试目的:测试商户端的MD5加密结果和云网端进行MD5加密结果是否一致;
测试地址:
https://https://www.wendangku.net/doc/8a3185004.html,/purchase/cnpaygate/testport/port_test31.asp 传递参数:
源串:testStr
MD5加密结果串:signStr
参数说明:
testStr是未进行MD5加密前的一个字符串
signStr是对testStr串进行MD5加密后的结果串,提交到测试路径时,先后顺序可变。
例如:
https://https://www.wendangku.net/doc/8a3185004.html,/purchase/cnpaygate/testport/port_test31.asp?testStr=ader utyigh&signStr=fe2aa1087c441ce9d8b4b3a378795532
3.1.2下订单测试模块:
测试目的:测试商户端的订单信息是否能被云网网关系统正确接收;
测试路径:
https://https://www.wendangku.net/doc/8a3185004.html,/purchase/cnpaygate/testport/port_test11.asp 测试说明:商户端需要提供以下信息:c_mid、c_order、c_name、c_address、
c_tel、c_post、c_orderamount、c_ymd、c_moneytype、c_retflag、c_returl、
c_signstr、c_memo1、c_memo2、paygate、c_email(各项具体含义详见下文,3.3节有详细描述),其中c_signstr是采用MD5对以下字符串:c_mid、c_order、c_orderamount、c_ymd、c_moneytype、c_retflag、c_returl、c_paygate、c_memo1、c_memo2和c_pass
进行加密得到加密串,如:c_signstr=MD5(c_mid & c_order & c_orderamount & c_ymd & c_moneytype & c_retflag & c_returl & c_paygate & c_memo1 & c_memo2 & c_pass) 请按照上述先后顺序组成一个无间隔字符串进行MD5加密,其中c_pass为商户的支付密钥,云网支付网关正确接收到信息后,会在页面显示出所接收的各项信息及验签结果;
3.1.3支付成功提货测试模块:
测试目的:根据商户端提交的订单信息模拟测试结果是否正确;
测试路径:
https://https://www.wendangku.net/doc/8a3185004.html,/purchase/cnpaygate/testport/port_test21.asp 测试说明:首先由客户端访问上面提供的页面,然后根据页面要求填写各项信息,提交后,云网端会根据提交的信息返回支付结果;
3.1.4支付网关整体测试流程模块:
测试目的:在能正确完成上面三部分测试模块后,就可以模拟测试完整支付流程了。
测试路径:
https://https://www.wendangku.net/doc/8a3185004.html,/purchase/cnpaygate/testport/getorder_test.asp 测试说明:在客户端准备好需提交的各项信息后,访问上面提供的测试网页,并传递准备好的信息(信息项同1.5.2中信息项),经过云网端验证后进入
https://https://www.wendangku.net/doc/8a3185004.html,/purchase/cnpaygate/testport/createorder_test.asp页面,
选择支付方式,之后进入
https://https://www.wendangku.net/doc/8a3185004.html,/purchase/cnpaygate/testport/handle_test.asp页面,显示出支付结果。
3.2 实时通知商户支付结果方式的实现
商户在用户完成支付过程后希望能够控制从银行WEB系统自动转回商户WEB系统,并且商户WEB系统能够实时获得用户的付款结果。比如,出售数字产品的商户,在支付成功的情况下,商户的结果页除包含支付成功通知信息外,还可以包含用户购买的信息产品。
为了解决这个问题,要求商户WEB系统必须提供一个支付结果通知命令。云网支付网关在收到订单确认页发出的支付命令后,先执行支付操作,然后调用商户WEB系统的支付结果通知命令,把支付结果通知商户WEB系统,同时取得商户WEB系统生成的支付结果页面(由支付结果通知命令生成)。最后,支付网关系统把由商户WEB系统的支付结果通知命令生成的支付结果页返回用户的浏览器。流程可见图一。
目前云网提供了两种实时通知商户的方式:服务器间通知方式和普通通知方式,云网强烈建议商户采用服务期间通知方式,具体区别,下面有详细描述;
某些商户在使用实时通知商户支付结果方式后,觉得还需要在银行的支付结果通知命令中带上商户自己的参数,比如商户希望知道是哪个分支机构的订单,或订单在商户内部处理的不同于订单号的流水号,又或者商户希望借助这个参数建立完整的session,等等。
为了解决这个问题,在本支付方式的基础上,云网支付网关提供了带商户参数的支付方式。
实时通知商户支付结果方式各部分的如何实现的描述如下:
图一、实时通知商户支付结果方式流程图
(1)
3.2.1 商户向云网支付网关提交支付请求信息
支付网关接口:https://https://www.wendangku.net/doc/8a3185004.html,/purchase/getorder.asp
为了保证交易的安全性,请在提交时使用HTTPS 协议(SSL )。
参数说明:
1、c_paygate :当商户定义该值时,系统会自动转入银行的支付页面。
2、c_signstr (交易信息签名)得到的方法: 首先将c_mid 、c_order 、c_orderamount 、c_ymd 、c_moneytype 、c_retflag 、c_returl 、c_paygate 、c_memo1、c_memo2、notifytype 、c_language 和c_pass 拼成一个字符串(说明:其中c_pass 是为商户的支付密钥,在商户申请成功后,登录商户管理后台
https://https://www.wendangku.net/doc/8a3185004.html,/admin/后,首页即可得到,而且商户可随时修改该密钥),然后对于这个字符串再进行MD5加密,举例如下:
c_signstr =md5(c_mid & c_order & c_orderamount & c_ymd & c_moneytype &
c_retflag & c_returl & c_paygate & c_memo1 & c_memo2 & notifytype & c_language &
c_pass)
订单信息确认页面提交的FORM格式示例如下: