Java 银联支付官网demo测试及项目整合代码

本文介绍银联网关支付B2C的测试流程,包括下载开发包、配置证书、修改参数等步骤,并分析了关键代码片段及付款流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

银联支付(网关支付B2C)
一、测试官网demo

a)下载官网开发包,导入eclipse等待修改(下载的开发包没有servlet jar包自己在Tomcat找一个)
b)进入银联官网账户https://open.unionpay.com/ajweb/account/testPara
生成自己的测试账号信息等待使用,下载商户私钥证书 以及 银联公钥证书,根据后缀名把下载的两个证书进行修改文件名:
acp_test_sign.pfx acp_test_verify_sign.cer

这里写图片描述

c)将eclipse中导入的demo项目的测试环境证书里面的文件放到本地磁盘的一个单独目录中,例:F:/certs (测试时最好用certs
当做文件夹名字,与后面的配置文件里面的名字相同),接着将刚才下载并改名的两个文件复制到此文件中覆盖原有的两个文件;

这里写图片描述

d)修改项目中的acp_sdk.properties文件

这里写图片描述

e)acp_sdk.properties修改内容:

这里写图片描述
这里写图片描述
f)将项目中的商户接入参数“merId”全部替换成你在官网生成商家测试账号,项目中的所有java文件都找一遍 Ctrl+H整体替换

这里写图片描述

g)运行项目,访问 http://localhost:8080/ACPSample_B2C/

这里写图片描述

二、分析代码

a)自己分析 b)Web.xml

这里写图片描述

c)请求跳转,输入商家ID,付款金额之后响应的servlet:

这里写图片描述

d)跳转页面代码:

这里写图片描述

e)其中生成的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="bizType" id="bizType"
value="000201" />  		<input type="hidden" name="txnSubType"
id="txnSubType" value="01" />  		<input type="hidden" name="orderId"
id="orderId" value="20170119115205" /> 		<input type="hidden"
name="backUrl" id="backUrl"
value="http://222.222.222.222:8080/ACPSample_B2C/BackRcvResponse" />
		<input type="hidden" name="signature" id="signature"
value="NEEh4N2O435HTWanQigXB3dPvFXh+OVKBUCVkKqWTxzQ7qPhOJ9NiF4d7cbjTZcBhoaEEMNYdsN+MrbtkEgCeKgGgKaBrAZLGDgzOaAfvFIJvyYdLBpeI1c8Pt1LmULC08bRsqYIyhev3B2EBeG4QYjTqw/RoxUtij5yTRk08hFo+N556wo8++Q6jlAzjVQYEu8QGEWPSdN9slfKH8WTXnXXCAPWpdgMryOD76ECxu1yaX+Y4x2V4+wTmSvXV1I8PqjpeXGG8oxIMc3k5tyAS+C6FuPjK4vxulq+iEVXh7WDeG/pAZpoW16lfkQ4sZB9TiIpqKHLhJKiXAWhhUePvQ=="
/> 		<input type="hidden" name="txnType" id="txnType" value="01" /> 
		<input type="hidden" name="channelType" id="channelType" value="07"
/>  		<input type="hidden" name="frontUrl" id="frontUrl"
value="http://127.0.0.1:8080/ACPSample_B2C/frontRcvResponse" /> 
		<input type="hidden" name="certId" id="certId" value="68759663125"
/>  		<input type="hidden" name="encoding" id="encoding" value="UTF-8"
/>  		<input type="hidden" name="version" id="version" value="5.0.0"
/>  		<input type="hidden" name="accessType" id="accessType" value="0"
/>  		<input type="hidden" name="txnTime" id="txnTime"
value="20170119115205" /> 		<input type="hidden" name="merId"
id="merId" value="77729005814****" /> 		<input type="hidden"
name="currencyCode" id="currencyCode" value="156" /> 		<input
type="hidden" name="signMethod" id="signMethod" value="01" /> 		<input
type="hidden" name="txnAmt" id="txnAmt" value="10000" /> 	</form>
</body> <script type="text/javascript">
	document.all.pay_form.submit(); </script> </html> ```

f)付款成功之后点击返回商家,结果页面;

![这里写图片描述](https://img-blog.csdn.net/20170120141502990?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9sYW5wYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

g)返回商家的响应由FrontRcvResponse servlet来处理

![这里写图片描述](https://img-blog.csdn.net/20170120141523424?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9sYW5wYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

h)查询的请求处理由Form_6_5_Query 这个servlet处理

![这里写图片描述](https://img-blog.csdn.net/20170120141542413?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9sYW5wYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

i)查询响应的结果

![这里写图片描述](https://img-blog.csdn.net/20170120141601033?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9sYW5wYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

三、自己项目整合代码 TODO

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值