资源简介
银联在线支付的测试案例代码
代码片段和文件信息
package com.unionpay.acp.demo;
import java.io.IOException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.unionpay.acp.sdk.LogUtil;
import com.unionpay.acp.sdk.SDKConfig;
import com.unionpay.acp.sdk.SDKConstants;
import com.unionpay.acp.sdk.SDKUtil;
/**
* 名称:商户后台通知类
* 功能:
* 类属性:
* 方法调用 版本:5.0
* 日期:2014-07
* 作者:中国银联ACP团队
* 版权:中国银联
* 说明:以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写并非一定要使用该代码。该代码仅供参考。
* */
public class BackRcvResponse extends HttpServlet{
/**
*
*/
private static final long serialVersionUID = 3414800502432002480L;
@Override
public void init() throws ServletException {
/**
* 参数初始化
* 在java main 方式运行时必须每次都执行加载
* 如果是在web应用开发里这个方写在可使用监听的方式写入缓存无须在这出现
*/
SDKConfig.getConfig().loadPropertiesFromSrc();// 从classpath加载acp_sdk.properties文件
super.init();
}
@Override
protected void doPost(HttpServletRequest req HttpServletResponse resp)
throws ServletException IOException {
LogUtil.writeLog(“BackRcvResponse接收后台通知开始“);
req.setCharacterEncoding(“ISO-8859-1“);
String encoding = req.getParameter(SDKConstants.param_encoding);
// 获取请求参数中所有的信息
Map reqParam = getAllRequestParam(req);
// 打印请求报文
LogUtil.printRequestLog(reqParam);
Map valideData = null;
if (null != reqParam && !reqParam.isEmpty()) {
Iterator> it = reqParam.entrySet().iterator();
valideData = new HashMap(reqParam.size());
while (it.hasNext()) {
Entry e = it.next();
String key = (String) e.getKey();
String value = (String) e.getValue();
value = new String(value.getBytes(“ISO-8859-1“) encoding);
valideData.put(key value);
}
}
// 验证签名
if (!SDKUtil.validate(valideData encoding)) {
LogUtil.writeLog(“验证签名结果[失败].“);
} else {
System.out.println(valideData.get(“orderId“)); //其他字段也可用类似方式获取
LogUtil.writeLog(“验证签名结果[成功].“);
}
LogUtil.writeLog(“BackRcvResponse接收后台通知结束“);
}
@Override
protected void doGet(HttpServletRequest req HttpServletResponse resp) throws ServletException
IOException {
this.doPost(req resp);
}
/**
* 获取请求参数中所有的信息
*
* @param request
* @return
*/
public static Map getAllRequestParam(final HttpServletRequest request) {
Map res = new HashMap();
Enumeration> temp = request.getParameterNames();
if (null != temp) {
while (temp.hasMoreElements()) {
String en = (String) temp.nextElement();
String value = request.getParameter(en);
res.put(en value);
//在报文上送时,如果字段的值为空,则不上送<下面的处理为在获取所有参数数据时,判断若值为空,则删除这个字段>
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 529 2015-04-22 15:36 PayOnLine\.classpath
文件 298 2015-04-22 17:14 PayOnLine\.myme
文件 1752 2015-04-22 17:14 PayOnLine\.project
文件 500 2015-04-22 15:36 PayOnLine\.settings\.jsdtscope
文件 109 2015-04-22 17:00 PayOnLine\.settings\org.eclipse.core.resources.prefs
文件 364 2015-04-22 15:36 PayOnLine\.settings\org.eclipse.jdt.core.prefs
文件 463 2015-04-22 17:14 PayOnLine\.settings\org.eclipse.wst.common.component
文件 252 2015-04-22 15:36 PayOnLine\.settings\org.eclipse.wst.common.project.facet.core.xm
文件 49 2015-04-22 15:36 PayOnLine\.settings\org.eclipse.wst.jsdt.ui.superType.container
文件 6 2015-04-22 15:36 PayOnLine\.settings\org.eclipse.wst.jsdt.ui.superType.name
文件 2262 2015-04-22 15:36 PayOnLine\src\acp_sdk.properties
文件 3808 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\BackRcvResponse.java
文件 8096 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Demoba
文件 3028 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_2_AppConsume.java
文件 3039 2015-04-22 17:26 PayOnLine\src\com\unionpay\acp\demo\Form_6_2_FrontConsume.java
文件 3038 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_3_ConsumeUndo.java
文件 3175 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_4_Refund.java
文件 2299 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_5_Query.java
文件 2576 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_6_FileTransfer.java
文件 3035 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_7_1_AuthDeal_App.java
文件 3033 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_7_1_AuthDeal_Front.java
文件 3040 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_7_2_AuthUndo.java
文件 3046 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_7_3_AuthFinish.java
文件 3064 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\Form_6_7_4_AutnFinishUndo.java
文件 4432 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\FrontRcvResponse.java
文件 2660 2015-04-22 15:36 PayOnLine\src\com\unionpay\acp\demo\ReadMe.txt
文件 834 2015-04-22 15:36 PayOnLine\WebRoot\index.jsp
文件 36 2015-04-22 15:36 PayOnLine\WebRoot\me
文件 1837 2015-04-22 17:30 PayOnLine\WebRoot\test.html
文件 641 2015-04-22 15:38 PayOnLine\WebRoot\utf8_result.jsp
............此处省略44个文件信息
- 上一篇:4*4有符号数的乘法器设计的Hspice实现
- 下一篇:全国各省边界矢量数据
评论
共有 条评论