银联在线支付---利用测试案例代码模拟测试应用

一、工程搭建

新建一个Web工程,命名为PayOnLine,把你下载好的案例代码拷贝到你的工程下,我的代码目录如下:

acp_sdk.properties配置文件需要放在类根路劲下,里面的参数配置信息,下面是案例提供的配置提示:

0. 注意:
1)依赖包和upacp_sdk-1.0.0.jar都需加到buildpath。
2)acp_sdk.properties放到src根目录下。另外如果用的不是eclipse/MyEclipse可能这个文件默认不会被拷贝到classes目录下,导致加载不到这个文件,请注意修改设置或手工拷贝这个文件。

1. 修改acp_sdk.properties,
1) 证书改下自己本地路径,证书密码测试环境就是000000,生产自己修改。

2.1 wap/网关的消费:调用Form_6_2_FrontConsume,商户号请改为自己的商户号,会生成一段html,把它打印到浏览器即可跳转支付页面。比如可以写一个servlet直接打印页面,或者把html复制到一个记事本里后缀改html再浏览器打开。

2.2 控件的消费:调用Form_6_2_AppConsume,商户号请改为自己的商户号,会访问后台获取tn,把tn传给你们手机app。

支付卡:
平安银行借记卡:6216261000000000018
证件号:341126197709218366
手机号:13552535506
密码:123456
姓名:全渠道
短信验证码:123456(wap/控件)111111(PC)
(短信验证码记得点下获取验证码之后再输入)

3. Form_6_5_Query为查询接口,商户号请改为自己的商户号,注意修改txnTime和orderId为被查询交易的txnTime和orderId。

4. Form_6_3_ConsumeUndo和Form_6_4_Refund分别为消费撤销接口、退货接口,商户号请改为自己的商户号,注意修改origQryId为自己需要退款的那笔消费的queryId。

5. FrontRcvResponse和BackRcvResponse为前后台通知接口,为2个Servlet,请注意配置web.xml,另外FrontRcvResponse会使用“其他文件/utf8_result.jsp”。交易完成会调用通知接口。

6. Form_6_6_FileTransfer为文件下载接口。
文件下载接口注意点:
1) 请使用自己的【真实商户号】测试。开发包的商户号、自助化测试平台申请的商户号都是不能测试文件下载的,会反http状态500,内容为空。如果真实商户号下载提示无文件但确定有交易,一般是商户号没有文件传输类交易的权限,如需要开通请联系业务运营中心[email protected]。
2) 请先建立好文件夹并确保有文件写入权限。

7. 如需使用gbk编码,请自行修改代码内写的编码和代码文件本身的编码为gbk。

8. 关于配置文件加载问题:
SDKConfig.getConfig().loadPropertiesFromSrc()这句话在整个工程启用的时候执行一次即可,其余地方都可删除。
比如可以建立个servlet,初始化时调用,web.xml中设置成启动时就加载这个servlet:

InitServlet.java:
public class InitServlet extends HttpServlet{
	@Override
	public void init() throws ServletException {
		SDKConfig.getConfig().loadPropertiesFromSrc();// 从classpath加载acp_sdk.properties文件
		super.init();
	}
}

web.xml:
  <servlet>
  	<servlet-name>InitServlet</servlet-name>
  	<servlet-class>com.unionpay.acp.demo.InitServlet</servlet-class>
  	<load-on-startup>0</load-on-startup>
  </servlet>

9. 日志文件路径问题:
可rar打开upacp_sdk-1.0.0.jar,修改里面log4j.properties配置的路径。

10. 切换生产时请一定看下https://open.unionpay.com/ajweb/help/faq/listByType?faqType=prod中的问题,特别是“切换生产有哪些需要改动的地方”的这个FAQ。

到此工程搭建完毕.

Form_6_2_FrontConsume.java 就是对应的网关支付案例代码,改动如下三行代码就可以用了。

直接运行,可以看到控制台最后一行,打印出了HTML代码,把它复制出来,放在一个空的html文件里.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
	<form id="pay_form"
		action="https://101.231.204.80:5000/gateway/api/frontTransReq.do"
		method="post">
		<input type="hidden" name="txnType" id="txnType" value="01" /><input
			type="hidden" name="frontUrl" id="frontUrl"
			value="http://localhost:8080/PayOnLine/acp_front_url.do" /><input
			type="hidden" name="currencyCode" id="currencyCode" value="156" /><input
			type="hidden" name="channelType" id="channelType" value="08" /><input
			type="hidden" name="merId" id="merId" value="777290058112538" /><input
			type="hidden" name="txnSubType" id="txnSubType" value="01" /><input
			type="hidden" name="txnAmt" id="txnAmt" value="1" /><input
			type="hidden" name="version" id="version" value="5.0.0" /><input
			type="hidden" name="signMethod" id="signMethod" value="01" /><input
			type="hidden" name="backUrl" id="backUrl"
			value="http://localhost:8080/PayOnLine/acp_back_url.do" /><input
			type="hidden" name="certId" id="certId"
			value="124876885185794726986301355951670452718" /><input
			type="hidden" name="encoding" id="encoding" value="UTF-8" /><input
			type="hidden" name="bizType" id="bizType" value="000201" /><input
			type="hidden" name="signature" id="signature"
			value="qlFuEQS9ADJ0iN+DkG4z09hbAG7a7MqwZPkbQvzDcURxE9ob4N/9/wTq11iQedygOCZkSFIU49dy41pe1pVN09vDOq3uS3TTmeQh3vchh1VmvcIBV+pWeBeq4FGhkY5TudqU/r52W9Sw8syc5YjU14UvRoPUOvfZLGND23JhGsY=" /><input
			type="hidden" name="orderId" id="orderId" value="20150422172935" /><input
			type="hidden" name="accessType" id="accessType" value="0" /><input
			type="hidden" name="txnTime" id="txnTime" value="20150422172935" />
	</form>
</body>
<script type="text/javascript">
	document.all.pay_form.submit();
</script>
</html>

在IE浏览器里,运行后就可以看见:

输入上一篇说的测试卡号,点击下一步:

输入测试的参数信息,就可以完成0.01元的支付了,感觉怎么样,就是这么简单。

为了方便,我提供下网关支付的案例代码链接,供大家下载.

案例代码

时间: 2024-11-02 23:27:01

银联在线支付---利用测试案例代码模拟测试应用的相关文章

银联在线支付----测试商户账号注册

一. 测试账号注册 在中国银联商户服务系统的首页,注册一个账号,供我们测试账号使用. 注册地址:https://merchant.unionpay.com/cas/login  .              注册号后,里面有详细的API和测试介绍. 下面是我注册成功后的测试参数信息.  测试商户号:     777290058112538      测试证书  : 商户私钥证书(签名使用,密码:000000)银联公钥证书(签名使用)  测试入口地址:  前台交易请求地址: https://101

PHP商城网站绑定中国银联在线支付接口

PHP商城网站绑定中国银联在线支付接口用的越来越广泛,我们公司这几年给客户建立过很多的商城网站,今天就分析下怎么为自己的PHP商城网站接入中国银联在线支付端的接口.在使用前我们必须先申请成为中国银联在线支付的商户. 第一步:下载中国银联官方PHP支付接口文件 进入中国银联在线官方网站的商户服务网站,下载PHP的技术资料端口文件(https://online.unionpay.com/mer/pages/merser/index.jsp这是中国银联在线支付商户服务网站),点击右上角的“文档下载”

银联在线支付B2C UnionPay.NET

新春即将来临,首先给大家拜个早年,祝攻城狮们新年快乐.万事如意.合家欢乐.团团圆圆.幸福健康.来年更能大展宏图 实现各自的梦想! 同时预祝各大科技公司大佬们事业蒸蒸日上.公司转型突破创新.冲出突围带领员工们早日实现上市梦想! 今天研究了下银联在线支付功能,特地记录下以表码农们还在坚守岗位.此功能主要是一般的.NET实现的,有机会转为标准的MVC模式实现以及应用到asp.net core 中. 首先第一是支付首页代码: PayIndex.aspx: <%@ Page Language="C#

Phonegap 之 iOS银联在线支付(js调用ios端银联支付控件)

Phonegap项目,做支付的时候,当把网站打包到ios或android端成app后,在app上通过wap调用银联在线存在一个问题: 就是当从银联支付成功后,再从服务器返回到app客户端就很难实现. wap银联支付流程是这样:客户端---> 服务器(构建支付请求)--> 银联支付 ---> 返回到服务端(处理支付结果).所以对于手机网站银联支付没有问题,但是对于ios端app和android端app, 再通过wap支付,发现支付成功后,很难在回到app客户端了. 所以这里就必须借助Pho

在线捉鬼游戏开发之三 - 代码与测试(鬼讨论、鬼投票)

-----------回顾分割线----------- 此系列旨在开发类似“谁是卧底+杀人游戏”的捉鬼游戏在线版,记录从分析游戏开始的开发全过程,通过此项目让自己熟悉面向对象的SOLID原则,提高对设计模式.重构的理解. 索引目录: 0. 索引(持续更新中) 1. 游戏流程介绍与技术选用 2. 设计业务对象与对象职责划分(1)(图解旧版本) 3. 设计业务对象与对象职责划分(2)(旧版本代码剖析) 4. 设计业务对象与对象职责划分(3)(新版本业务对象设计) 5. 业务对象核心代码编写与单元测试

在线捉鬼游戏开发之三 - 代码与测试(玩家发言)

-----------回顾分割线----------- 此系列旨在开发类似“谁是卧底+杀人游戏”的捉鬼游戏在线版,记录从分析游戏开始的开发全过程,通过此项目让自己熟悉面向对象的SOLID原则,提高对设计模式.重构的理解. 索引目录: 0. 索引(持续更新中) 1. 游戏流程介绍与技术选用 2. 设计业务对象与对象职责划分(1)(图解旧版本) 3. 设计业务对象与对象职责划分(2)(旧版本代码剖析) 4. 设计业务对象与对象职责划分(3)(新版本业务对象设计) 5. 业务对象核心代码编写与单元测试

在线捉鬼游戏开发之三 - 代码与测试(玩家投票)

-----------回顾分割线----------- 此系列旨在开发类似“谁是卧底+杀人游戏”的捉鬼游戏在线版,记录从分析游戏开始的开发全过程,通过此项目让自己熟悉面向对象的SOLID原则,提高对设计模式.重构的理解. 索引目录: 0. 索引(持续更新中) 1. 游戏流程介绍与技术选用 2. 设计业务对象与对象职责划分(1)(图解旧版本) 3. 设计业务对象与对象职责划分(2)(旧版本代码剖析) 4. 设计业务对象与对象职责划分(3)(新版本业务对象设计) 5. 业务对象核心代码编写与单元测试

【收藏】银联在线支付商户UPMP接口的使用和说明

[转载]http://www.dodobook.net/php/1110 相关的文档可以参阅.http://202.101.25.178:8080/sim/docs/ 这个接口文档还是比较完备的,相信很多技术人员稍加摸索,就能实现了. 目录结构为 Upmp ----upmp_config.php ----upmp_core.php ----UpmpService.php ----notify_url.php 直接上代码:upmp_config.php <?php /** * 类名:配置类 * 功

中国银联在线支付接口开发——前台支付

银联技术服务官网:https://open.unionpay.com/ajweb/index 在官网"帮助中心"->"下载"中下载:跳转网关支付产品技术开发包1.11.rar.网关支付产品示例代码_java_1.1.rar 如想使用银联测试接口需要在技术服务官网注册 登录后选择页面右上角"我的测试"-> "测试参数",下载并导入证书 根据"测试参数"提供的商户号和证书存放位置等配置示例代码 选择