这一版本的编写是在我上一次博客的基础上写的,有不懂得童鞋可以先看下我的原先在线支付的博客,熟悉下:http://blog.csdn.net/yulei_qq/article/details/45197543

第一步,建立工程,工程目录如下:

我在原先案例代码的基础上增加了个Servlet类 GateWayPayment  和一个JSP文件.  home.jsp    rescources文件夹下放的是测试用的一些文件,如测试证书 . 下面我贴下GateWayPayment .java 和 home.jsp 的源码.

GateWayPayment.java

package com.unionpay.acp;

import java.io.IOException;

import java.io.PrintWriter;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.unionpay.acp.sdk.SDKConfig;

public class GateWayPayment extends HttpServlet {

@Override

public void init() throws ServletException {

System.out.println("初始化Servlet.....");

SDKConfig.getConfig().loadPropertiesFromSrc();

super.init();

}

/**

*

*/

private static final long serialVersionUID = 7414643114833354891L;

/**

* The doGet method of the servlet.

*/

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

/**

* 组装请求报文

*/

Map data = new HashMap();

// 版本号

data.put("version", "5.0.0");

// 字符集编码 默认"UTF-8"

data.put("encoding", "UTF-8");

// 签名方法 01 RSA

data.put("signMethod", "01");

// 交易类型 01-消费

data.put("txnType", "01");

// 交易子类型 01:自助消费 02:订购 03:分期付款

data.put("txnSubType", "01");

// 业务类型

data.put("bizType", "000201");

// 渠道类型,07-PC,08-手机

data.put("channelType", "08");

// 前台通知地址 ,控件接入方式无作用

data.put("frontUrl", "http://localhost:8080/PayOnLine/acp_front_url.do");

// 后台通知地址

data.put("backUrl", "http://localhost:8080/PayOnLine/acp_back_url.do");

// 接入类型,商户接入填0 0- 商户 , 1: 收单, 2:平台商户

data.put("accessType", "0");

// 商户号码,请改成自己的商户号

data.put("merId", "777290058112538");

// 商户订单号,8-40位数字字母

data.put("orderId", new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())); //自动生成订单号 ,生产系统一般是一个自动增长的序列.

// 订单发送时间,取系统时间

data.put("txnTime", new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()));

// 交易金额,单位分

data.put("txnAmt", "749900");

// 交易币种

data.put("currencyCode", "156");

// 请求方保留域,透传字段,查询、通知、对账文件中均会原样出现

// data.put("reqReserved", "透传信息");

// 订单描述,可不上送,上送时控件中会显示该信息

// data.put("orderDesc", "订单描述");

Map submitFromData = DemoBase.signData(data);

// 交易请求url 从配置文件读取

String requestFrontUrl = SDKConfig.getConfig().getFrontRequestUrl();

/**

*动态创建表单

*/

String html = DemoBase.createHtml(requestFrontUrl, submitFromData);

//System.out.println(html);

out.print(html);

out.flush();

out.close();

}

/**

* The doPost method of the servlet.

*/

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doGet(request, response);

}

}

home.jsp

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

My JSP 'Home.jsp' starting page

点击如下图片,购买商品!

web.xml

acptest1

BackRcvResponse

com.unionpay.acp.BackRcvResponse

BackRcvResponse

/acp_back_url.do

FrontRcvResponse

com.unionpay.acp.FrontRcvResponse

FrontRcvResponse

/acp_front_url.do

GateWayPayment

com.unionpay.acp.GateWayPayment

GateWayPayment

/servlet/GateWayPayment

第二步:配置acp_sdk.properties文件

###### SDK 配置文件 配置文件中日志和证书的存放路径根据实际情况配置,交易地址和证书根据测试环境、生产环境配套配置

##########################交易发送地址配#############################

######(以下配置为认证环境:入网测试环境用,生产环境配置见文档说明)#######

##前台交易请求地址

acpsdk.frontTransUrl=https://101.231.204.80:5000/gateway/api/frontTransReq.do

#### 后台交易请求地址

acpsdk.backTransUrl=https://101.231.204.80:5000/gateway/api/backTransReq.do

##后台交易请求地址(若为有卡交易配置该地址)

acpsdk.cardTransUrl=https://101.231.204.80:5000/gateway/api/cardTransReq.do

##单笔查询请求地址

acpsdk.singleQueryUrl=https://101.231.204.80:5000/gateway/api/queryTrans.do

##批量交易请求地址

acpsdk.batchTransUrl=https://101.231.204.80:5000/gateway/api/batchTransReq.do

##文件传输类交易地址

acpsdk.fileTransUrl=https\://101.231.204.80\:9080/

## app 交易请求地址

acpsdk.appTransUrl=https://101.231.204.80:5000/gateway/api/appTransReq.do

#########################签名证书配置 ################################

######(以下配置为测试环境:入网测试环境用,生产环境配置见下述文档说明))#######

##签名证书路径

acpsdk.signCert.path=D\:\\certs\\PM_700000000000001_acp.pfx

##签名证书密码

acpsdk.signCert.pwd=000000

##签名证书类型

acpsdk.signCert.type=PKCS12

##########################加密证书配置################################

##\密码加密证书路径

acpsdk.validateCert.dir=D\:\\certs\\

第四步:根据配置文件制定的证书路径配置证书,证书在工程的resources文件夹下.

第5步:集成网关支付测试,网址:https://open.unionpay.com/ajweb/account/myProduct/integrate?prodId=1 .

当状态变成以下状态时

就可以启动Tomcat服务器,访问网页:

点击如上图片就进入:

。表示环境已经搭建好了。

注:各位测试的时候,以下代码需要更换,请填写自己的商户号.

// 商户号码,请改成自己的商户号

data.put("merId", "777290058112538");

银联批量结算 java_银联在线 网关支付 (JAVA版)相关推荐

  1. 银联在线支付 java_银联在线 网关支付 (JAVA版)

    这一版本的编写是在我上一次博客的基础上写的,有不懂得童鞋可以先看下我的原先在线支付的博客,熟悉下:http://blog.csdn.net/yulei_qq/article/details/45197 ...

  2. 银联在线网关支付,快速接入指南

    银联在线支付网关是中国银联联合各商业银行为持卡人提供的集成化.综合性互联网支付工具,主要支持输入卡号付款.用户登录支付.网银支付.迷你付(IC卡支付)等多种支付方式,为持卡人提供境内外网上购物支付服务 ...

  3. PHP接入银联在线网关支付

    网站支付:一般接入微信支付.支付宝支付.银联支付,本文介绍的是如何接入中国银联在线网关支付 银联介绍 银联在线支付网关是中国银联联合各商业银行为持卡人提供的集成化.综合性互联网支付工具,主要支持输入卡 ...

  4. 银联支付(一)申请测试环境,并运行测试demo(在线网关支付)

    1.注册账号 点击进入银联支付开放平台地址 注册账号 选择普通用户登录账号 登录后点击前往商户测试中心 进入后产品列表中选择在线网关支付,然后要点击操作中的集成测试申请支付权限,10分钟后生效(这里如 ...

  5. java微信支付代码_10行代码搞定微信支付(Java版)

    原标题:10行代码搞定微信支付(Java版) 微信支付痛点 对于大多数同学来说,要开发微信支付可不简单.附上微信支付官方文档网页链接 从文档上可以看出,你需要解决很多问题,我就随便挑几个吧. xml与 ...

  6. 微信支付java版v2.0_刷卡支付-翟东平-专题视频课程

    微信支付java版v2.0_刷卡支付-1814人已学习 课程介绍         微信支付系列课程将讲解"刷卡支付"."扫码支付"."公众号支付&qu ...

  7. 视频教程-企业微信支付JAVA版_向员工收款-微信开发

    企业微信支付JAVA版_向员工收款 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信息 ...

  8. java对接银联在线网关支付(已测试)

    访问连接下载银联SDK https://open.unionpay.com/tjweb/acproduct/list?apiSvcId=448&index=5 1.拿到测试证书(下载银联的SD ...

  9. 银联在线 网关支付(中国银联全渠道系统商户接入 测试指引-银联网关支付产品)

    https://blog.csdn.net/yulei_qq/article/details/49025045 中国银联全渠道系统商户接入 测试指引-银联网关支付产品 https://blog.csd ...

最新文章

  1. 不要抱怨,勇敢向前走,你就能拥有更好的自己
  2. 函数图像轻松画:教你用永中图象
  3. 利用WxJava实现PC网站集成微信登录功能,核心代码竟然不超过10行
  4. win8如何卸载mysql5.0_Win8如何卸载Windows的服务?卸载Windows的服务的方法和步骤
  5. 电脑怎么换自己的壁纸_电脑硬件到底应该怎么选?自己应该如何组装电脑?
  6. 《大数据》第2期“专题”——我国政府数据开放现状和保障机制
  7. ECCV 2016 paper list
  8. B - 吉哥系列故事——完美队形II HDU - 4513 (马拉车)
  9. Unity3D的Android移动之路之平台依赖编译
  10. ibm336服务器显示brd,ibmx3850x5服务器故障BRD报警|升级主板微码
  11. 拍乐云基于AV1的实时视频系统技术实践 | 2021 LiveVideoStackCon 演讲回顾
  12. 十分钟,看完物联网操作系统分析报告!
  13. 计算机过程控制系统教材,过程控制系统——高等院校教材
  14. 六一儿童节带娃旅游,在曼谷玩哪些景点超好玩?
  15. 5款最好的安卓界面设计工具推荐
  16. 猫哥教你写爬虫 033--爬虫初体验-BeautifulSoup-作业
  17. 幼儿园教学方案植树节
  18. 《SQL基础》04. SQL-DQL
  19. Hexo--博客搭建
  20. 将 时间戳 转为 任意日期格式

热门文章

  1. Linux极速版学习!
  2. 解决“倾听者”无法使用超过32GB的TF卡的问题
  3. 究竟什么是马德里商标
  4. 假定站点A和B在同一个10Mb/s以太网网段上。这两个站点之间的传播时延为225比特时间。现假定A开始发送一帧,并且在A发送结束之前B也发送一帧。如果A发送的是以太网所容许的最短的帧,那么A在检测到
  5. Java 短信发送 ( 腾讯云)
  6. 没事儿就学习(5):快速排序(Fortran)
  7. 移动设备 小米2S不显示CD驱动器(H),便携设备,MTP,驱动USB Driver,MI2感叹号的解决方法...
  8. 网络乞讨?网络越来越像真实社会了!
  9. 卸载金山毒霸电脑黑屏,屏幕只有一个鼠标箭头
  10. java编程代码一群人开舞会,[蓝桥杯][算法训练VIP]新生舞会-题解(Java代码)哈希表...