您当前的位置: 首页 >  杨林伟

淘东电商项目(53) -银联支付案例源码分析

杨林伟 发布时间:2020-05-09 16:41:35 ,浏览量:2

引言

本文主要讲解银联支付官方测试案例,并分析银联支付的流程。

本文目录结构:
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文件,配置证书路径地址(配置成你本地的路径存放证书的路径即可)

2.测试

运行项目,浏览器输入http://localhost:8080/ACPSample_B2C/,demo界面的css样式丢失了(没有去找原因,使用Eclipse导入应该是没问题的,可能是IDEA没有配好,不影响功能演示),直接按下图,依次点击“消费样例”->"消费"->"提交”

点击提交后,会先跳转到:http://localhost:8080/ACPSample_B2C/form_6_2_FrontConsume,如下:

然后再跳转到支付界面:

支付账号可以在开放平台里获取,如下:

卡号卡性质机构名称手机号码密码CVN2有效期证件号姓名
6216261000000000018借记卡平安银行13552535506123456341126197709218366全渠道
6221558812340000贷记卡平安银行135525355061234561232311341126197709218366互联网

网关、WAP短信验证码 111111 控件短信验证码 123456

网上截图如下:

输入银行账号后,下一步,输入用户信息,点击确认付款:


付款成功,可以看到界面如下:

点击返回商户,可以看到返回的响应参数如下:

3.代码流程分析

下面来讲解代码运行原理。

1.首先项目启动时,会进入AutoLoadServlet这个类,这个类从应用的classpath下加载acp_sdk.properties属性文件并将该属性文件中的键值对赋值到SDKConfig类中

2.当点击提交订单时,会进入Form_6_2_FrontConsume这个代码,并对信息进行校验。

UI对应代码

3.我们分析上一步的最后一行代码,可以看到返回的是一个HTML页面

HTML页面的代码通过断点获取,可以看到里面的内容如下(整理后):


 
  
 
 
  
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
  
  document.all.pay_form.submit();
 

4.可以看到返回的html,把内容都hidden了,浏览器自动解析,并提交,这时会跳转到银联支付的界面:

5.支付完成后,点击返回,可以看到会请求我们的前台地址(这个地址是在'acp_sdk.properties'里配置的)

点击“返回商户”:

跳转到配置的前台通知地址:

UI代码

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

本文完!

关注
打赏
查看更多评论

杨林伟

暂无认证

  • 2浏览

    0关注

    3183博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录