1. 准备工作
首先在银联开放平台注册一个测试账号,地址https://open.unionpay.com/ajweb/index
注册完成后可以根据自己所用的编程语言选择对应的demo下载,我下载了java通用版。
2.创建springmvc项目,将demo中的sdk包copy进项目,编写controller。
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 org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.ccdproject.bean.UnionpayBean;
import com.ccdproject.unionpay.DemoBase;
import com.ccdproject.util.DateUtil;
import com.ccdproject.util.ZxingQrcode;
import com.unionpay.acp.sdk.AcpService;
import com.unionpay.acp.sdk.LogUtil;
import com.unionpay.acp.sdk.SDKConfig;
import com.unionpay.acp.sdk.SDKConstants;
/**
* 银联扫码支付
* 1.获取二维码值
* 主扫申请二维码交易
* @author Austin
*
*/
@Controller
@RequestMapping("/unionpay")
public class Unionpay extends HttpServlet {
/**
* 序列化
*/
private static final long serialVersionUID = 1L;
@RequestMapping("/unionpayqrcode")
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
SDKConfig.getConfig().loadPropertiesFromSrc();// 从classpath加载acp_sdk.properties文件
String merId = UnionpayBean.merId;
String txnAmt = req.getParameter("txnAmt");
// 生成商户订单号 orderId
String orderId = DateUtil.OrderId();
orderId += String.valueOf(4);
String txnTime = DateUtil.ordertxnTime(); //订单时间
Map<String, String> contentData = new HashMap<String, String>();
/***银联全渠道系统