注:原文来源与 《 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. PHP文件管理—实现网盘以及压缩包的功能操作

    代码如下: 1.主页面file_zip.php <!DOCTYPE html> <html> <head> <meta charset="UTF-8 ...

  2. oracle 存储过程(包)的写法和执行

    --in 代表输入参数,out 代表输出参数create or replace procedure myproc(id in int, v_message out varchar2) is--定义临时 ...

  3. linux 删除占用文件

    清空 程序占用日志文件: cat /dev/null > log 或: echo " " > log 直接删除程序占用文件大小不生效: rm -rf log ps -e ...

  4. 迅为IMX6核心板兼容工业级、商业扩展级、Plus版本核心板

    IMX6核心板兼容单核.双核.四核.工业级.汽车级.iMX6Q最新Plus版本,可根据用户需求更换,百变定制,高端产品无忧! iMX6Q核心板(四核商业级) iMX6DL核心板(双核商业级) iMX6 ...

  5. ubuntu下objective-c的编译和运行

    ubuntu 下编译objective-c 1.安装编译环境 sudo aptitude install build-essential gobjc gobjc++ gnustep gnustep-d ...

  6. Python 获取文件中最长行的长度和最长行

    1, 使用文件 #vim /etc/motd "1 hello world" 2 ...... yes 3 no you are a shadiao 4 hahh maye you ...

  7. 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败,原因是出现以下错误: 80070005。

    错误描述:当在ASP.NET应用程序中引用Microsoft Excel组件,并在程序中调用时,部署到服务器上经常会遇到以下的错误:检索 COM 类工厂中 CLSID 为{00024500-0000- ...

  8. JDK、JRE、JVM三者间的关系(待更新...)

    JDK(Java Development Kit) JDK中包含JRE,在JDK的安装目录下有一个名为jre的目录,里面有两个文件夹bin和lib,在这里可以认为bin里的就是jvm,lib中则是jv ...

  9. 特性Attribute

    1.简介 特性(attribute)是被指定给某一声明的一则附加的声明性信息. 在C#中,有一个小的预定义特性集合.在学习如何建立我们自己的定制特性(custom attributes)之前,我们先来 ...

  10. react-踩坑记录——iconfont

    选取图标,添加至购物车后,下载代码. 后将下载了的文件夹改名,放入css文件夹中.在组件中使用到的时候按路径引入“iconfont.css”文件即可. 使用