注:原文来源与 《 Java 银联支付官网demo测试及项目整合代码  》

银联支付(网关支付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代码如下:

<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="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)付款成功之后点击返回商家,结果页面;

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

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

i)查询响应的结果

三、自己项目整合代码 TODO

Java 银联支付官网demo测试及项目整合代码的更多相关文章

  1. jqgrid--api,官网demo,编辑

    api参考: http://blog.csdn.net/hurryjiang/article/details/7551477 官网demo: http://www.trirand.com/blog/j ...

  2. webpack官网demo起步中遇到的问题

    在webpack官网demo一开始搭建中 

  3. 一款jQuery仿海尔官网全屏焦点图特效代码

    一款jQuery仿海尔官网全屏焦点图特效代码,带有左右箭头的jQuery焦点图切换特效. 当焦点图切换时,下方的三块小图也相对应的进行切换.并且特效还兼容头疼的IE6.赶快去和谐了它吧! 适用浏览器: ...

  4. SpringBoot使用JSP(官网Demo)

    最开始接触java的时候,前端页面基本都是用jsp来写,最近公司项目要使用SpringBoot重构,查看SpringBoot文档,发现SpringBoot不建议使用JSP,因为jsp在使用内嵌serv ...

  5. java jdk 8u191 官网下载地址

    目前jdk最后免费版本 jdk-8u191 下载地址: https://www.oracle.com/technetwork/java/javase/downloads/java-archive-ja ...

  6. jasperReports 通过java导出各种格式报表,及javaweb项目整合显示各种报表

    注意:编写此项目时,请先手动编写**.jrxml  或者用IReport生成**.jrxml或**.jasper 注:java导出报表与web项目显示报表方法其实是相同的,只不过有一句代码不同,如下 ...

  7. Vertx上传 官网Demo Java版

    package io.vertx.example.web.upload; import io.vertx.core.AbstractVerticle; import io.vertx.example. ...

  8. 苹果官网 demo The Elements 阅读随笔

    The Elements https://developer.apple.com/library/ios/samplecode/TheElements/Introduction/Intro.html# ...

  9. 安卓、java开发软件官网和相关不错的网站软件下载地址

    java:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html eclipse:htt ...

随机推荐

  1. tensorflow faster rcnn 代码分析一 demo.py

    os.environ["CUDA_VISIBLE_DEVICES"]=2 # 设置使用的GPU tfconfig=tf.ConfigProto(allow_soft_placeme ...

  2. oracle 启动em (使用浏览器打开)

    在cmd命令中执行 emctl status dbconsole 如果报错,确实oracle_UNQNAME 这个时候需要设置变量 oracle_hostname 和oracle_unqname 执行 ...

  3. [C++]油田(Oil Deposits)-用DFS求连通块

    [本博文非博主原创,均摘自:刘汝佳<算法竞赛入门经典>(第2版) 6.4 图] [程序代码根据书中思路,非独立实现] 例题6-12 油田(Oil Deposits,UVa572) 输入一个 ...

  4. -如何存储并定时更新access_token

    来源:https://blog.csdn.net/sct_t/article/details/53002611 我们知道请求access_Token会返回这样一个json,包括access_token ...

  5. webwork框架

    以前都没有用过WebWork这个框架,只是听说过.没想到现在要用,所以就自学了一下.做了个小例子给大家分享下中间遇到的苦难和经验. 准备工作:首先要去下载WebWork框架的开发包.我用的2.2.6版 ...

  6. ES6走一波 变量结构赋值

    Destructuring  变量的解构赋值 是一种模式匹配 ES6我关注点之一是用途  能否举些好例子是检验学习到位的方法之一 交换变量值 函数返回多个值 函数入参为对象.数组,内部使用更简洁 意义 ...

  7. Delete 和 Put 请求失效, Spring 框架

    Delete 和 Put 请求失效, Spring 框架 原因:使用tomcat 启动Spring项目的时候,请求失效.因为tomcat 不支持 Delete 和 Put 在 Web.xml 中增加下 ...

  8. dom解析xml随笔

    1.dom解析jar包准备: dom解析需用到dom4j的jar包,比如我在项目中用到的的是dom4j-1.6.1jar,因为项目用的是MAVEN,所以可直接到maven中央库去搜索相关pom坐标配置 ...

  9. centos6.5环境安装zookeeper-3.4.5

    1.将zookeeper-3.4.5.tar.gz压缩包拷贝到/usr/local/src, 并用如下命令解压 tar -xzf  zookeeper-3.4.5.tar.gz 2.在zookeepe ...

  10. 使用PHP、MySQL实现修改密码 + 防止通过url强行进入系统

    ●使用PHP+MySQL实现修改密码 页面: index.php  登陆页面,输入默认密码登陆系统 check.php 核查页面,通过查询数据库检测密码是否正确   ——> 正确,则进入系统   ...