注:原文来源与 《 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. 【bzoj 4756】[Usaco2017 Jan] Promotion Counting

    Description The cows have once again tried to form a startup company, failing to remember from past ...

  2. js中 onreadystatechange 和 onload的区别

    IE的script 元素只支持onreadystatechange事件,不支持onload事件. FF的script 元素不支持onreadystatechange事件,只支持onload事件. 如果 ...

  3. Linux下运行jmeter

    • 我们在做测试的时候,有时候要运行很久,公司用的测试服务器一般都是linux,就可以运行在linux下面,linux下面不能像windows一样有图形化界面,那怎么运行脚本呢,就先在windows上 ...

  4. 事件对象event

    每个事件都有默认事件event对象 e.target 事件目标对象 e.keycode 键码 e.stopPropogation();//阻止默认事件

  5. ubuntu14.04 Samba服务无法访问 网络名不再可用的问题

    参考链接 : https://blog.csdn.net/liuyixjtu/article/details/54575514

  6. no plugin found for prefix 'tomcat 7' in the current project

    使用maven build编译出错 “no plugin found for prefix 'tomcat 7' in the current project..........” 参照下面方法 ht ...

  7. 个人经验~mongo故障处理思路

    一 简介:mongodb 应该如何排查二 分析角度   linux 角度   1 硬件是否有问题 常见主板 raid卡 和raid磁盘组   2 综合指标 负载   uptime : 1min 5mi ...

  8. jQuery源码分析学习--资料收集--更新中

    1.逐行分析jQuery源码的奥秘 - 网易云课堂  http://study.163.com/course/courseMain.htm?courseId=465001#/courseDetail? ...

  9. 1.2MyBatis介绍

    MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis,实质上 ...

  10. ARM核心板_迅为imx6工控核心板_核心板中的小新潮

    ARM核心板_迅为imx6工控核心板_核心板中的小新潮核心板参数 尺寸 51mm*61mm CPU Freescale Cortex-A9 四核 i.MX6Q,主频 1.2 GHz 内存 2GB DD ...