本文主要讲解银联支付官方测试案例,并分析银联支付的流程。
本文目录结构: l____引言 l____ 1.导入银联支付项目 l____ 2.效果演示 l____ 3.代码流程分析
1.导入银联支付1.首先去官网注册账号(已有账号可以忽略此步骤),官网的地址:https://open.unionpay.com/tjweb/acproduct/dictionary 2.注册成功后,登录,登录成功后,进入商户测试中心
3.进入测试中心,点击左侧测试参数,下载下面红框的4个证书,测试demo需要用到。
4.进入开放平台下载demo:https://open.unionpay.com/tjweb/acproduct/list?apiSvcId=448&index=4
5.使用IDEA导入java项目(如果不知道IDEA如何导入Eclipse项目,可以参考我的博客https://yanglinwei.blog.csdn.net/article/details/106014301),导入成功如下图:
注意:配置tomcat时,红色框的内容必须如下,因为demo的代码写死了,否则运行不了!!!坑
6.配置证书路径:打开acp_sdk.properties
文件,配置证书路径地址(配置成你本地的路径存放证书的路径即可)
运行项目,浏览器输入http://localhost:8080/ACPSample_B2C/,demo界面的css样式丢失了(没有去找原因,使用Eclipse导入应该是没问题的,可能是IDEA没有配好,不影响功能演示),直接按下图,依次点击“消费样例”->"消费"->"提交”
: 点击提交后,会先跳转到:http://localhost:8080/ACPSample_B2C/form_6_2_FrontConsume,如下:
然后再跳转到支付界面:
支付账号可以在开放平台里获取,如下:
网关、WAP短信验证码 111111 控件短信验证码 123456
网上截图如下: 输入银行账号后,下一步,输入用户信息,点击确认付款:
付款成功,可以看到界面如下:
点击返回商户,可以看到返回的响应参数如下:
下面来讲解代码运行原理。
1.首先项目启动时,会进入AutoLoadServlet
这个类,这个类从应用的classpath下加载acp_sdk.properties
属性文件并将该属性文件中的键值对赋值到SDKConfig类中 2.当点击提交订单时,会进入
Form_6_2_FrontConsume
这个代码,并对信息进行校验。


3.我们分析上一步的最后一行代码,可以看到返回的是一个HTML页面 HTML页面的代码通过断点获取,可以看到里面的内容如下(整理后):
document.all.pay_form.submit();
4.可以看到返回的html,把内容都hidden了,浏览器自动解析,并提交,这时会跳转到银联支付的界面: 5.支付完成后,点击返回,可以看到会请求我们的前台地址(这个地址是在
'acp_sdk.properties'
里配置的)
点击“返回商户”: 跳转到配置的前台通知地址:


至此银联支付的源码讲解到此结束,具体的细节需要童鞋们自己断点去看。
本文完!