银联无跳转支付

java银联支付官网测试demo


银联支付(无跳转支付pc端)

1,测试官网demo

a) 下载官网开发包,导入到eclipse中.注意导入的时候官网默认是tomcat6.0的开发包,所以需要在项目bulid-path加入本地的tomcat8.0
(下载的开发包没有servlet-jar包自己在Tomcat找一个)
建立工程,工程目录如下:

银联无跳转支付_第1张图片
工程目录

b)进入银联官网账户 https://open.unionpay.com/ajweb/account/testPara
生成自己的测试账号信息等待使用,下载商户私钥证书 以及 银联公钥证书,根据后缀名把下载的两个证书进行修改文件名:
acp_test_sign.pfx acp_test_verify_sign.cer
这里写图片描述
银联无跳转支付_第2张图片
证书图片

c)将eclipse中导入的demo项目的测试环境证书里面的文件放到本地磁盘的一个单独目录中,例:F:/certs (测试时最好用certs
当做文件夹名字,与后面的配置文件里面的名字相同),接着将刚才下载并改名的两个文件复制到此文件中覆盖原有的两个文件;
银联无跳转支付_第3张图片
image

d)修改项目中的acp_sdk.properties文件
银联无跳转支付_第4张图片
image

银联无跳转支付_第5张图片
image

e)将项目中的商户接入参数“merId”更改为注册时候的商户号
银联无跳转支付_第6张图片
接入商户号.png

g)运行项目,访问 http://localhost:8080/ACPSample_WuTiaoZhuan/
银联无跳转支付_第7张图片
开通并消费.png

f)测试参数:

支付卡:  
商户号: 777290058112538
平安银行借记卡:6216261000000000018  
证件号:341126197709218366  
手机号:13552535506  
密码:123456  
姓名:全渠道  
短信验证码:123456(wap/控件)111111(PC)  
(短信验证码记得点下获取验证码之后再输入)  
注意注册的时候选择(商户注册),开发者注册有问题

二、分析代码

a)自己分析 b)Web.xml

银联无跳转支付_第8张图片
这里写图片描述

c)请求跳转,输入商家ID,付款金额之后响应的servlet:

这里写图片描述

d)跳转页面代码:

银联无跳转支付_第9张图片
这里写图片描述

e)其中生成的html代码如下:

`

action="https://101.231.204.80:5000/gateway/api/frontTransReq.do"

method="post">

value="000201" />

id="txnSubType" value="01" />

id="orderId" value="20170119115205" />

name="backUrl" id="backUrl"

value="http://222.222.222.222:8080/ACPSample_B2C/BackRcvResponse" />

value="NEEh4N2O435HTWanQigXB3dPvFXh+OVKBUCVkKqWTxzQ7qPhOJ9NiF4d7cbjTZcBhoaEEMNYdsN+MrbtkEgCeKgGgKaBrAZLGDgzOaAfvFIJvyYdLBpeI1c8Pt1LmULC08bRsqYIyhev3B2EBeG4QYjTqw/RoxUtij5yTRk08hFo+N556wo8++Q6jlAzjVQYEu8QGEWPSdN9slfKH8WTXnXXCAPWpdgMryOD76ECxu1yaX+Y4x2V4+wTmSvXV1I8PqjpeXGG8oxIMc3k5tyAS+C6FuPjK4vxulq+iEVXh7WDeG/pAZpoW16lfkQ4sZB9TiIpqKHLhJKiXAWhhUePvQ=="

/>

/>

value="http://127.0.0.1:8080/ACPSample_B2C/frontRcvResponse" />

/>

/>

/>

/>

value="20170119115205" />

id="merId" value="77729005814****" />

name="currencyCode" id="currencyCode" value="156" />

type="hidden" name="signMethod" id="signMethod" value="01" />

type="hidden" name="txnAmt" id="txnAmt" value="10000" />

`

f)付款成功之后点击返回商家,结果页面;

银联无跳转支付_第10张图片
这里写图片描述

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

银联无跳转支付_第11张图片
这里写图片描述

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

银联无跳转支付_第12张图片
这里写图片描述

i)查询响应的结果

银联无跳转支付_第13张图片
这里写图片描述

三、自己项目整合代码 TODO

注意在发后台通知的时候要外网才能够访问,这里提供一个内网穿透的工具为魔法隧道
需要在开启tomcat和魔法隧道的情况下可以实现内网穿透,一般在生产线上的就不需要这样了。

你可能感兴趣的:(银联无跳转支付)