• 大小: 2.36MB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-08
  • 语言: 其他
  • 标签: 在线支付  

资源简介

银联在线支付的测试案例代码

资源截图

代码片段和文件信息

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\.mymetadata

     文件       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.xml

     文件         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\Demobase.java

     文件       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\meta-INF\MANIFEST.MF

     文件       1837  2015-04-22 17:30  PayOnLine\WebRoot\test.html

     文件        641  2015-04-22 15:38  PayOnLine\WebRoot\utf8_result.jsp

............此处省略44个文件信息

评论

共有 条评论