发表于: 2018-04-03 21:34:26
1 738
今日完成
1.支付demo的完成
public class H5PayServlet extends HttpServlet
{
private static final long serialVersionUID = 1419376384387536955L;
private static final String BACK_URL = ConfigReader.getString("h5.back_url");
private static final String HOME_URL = ConfigReader.getString("h5.home_url");
private static final String RETURN_URL = ConfigReader.getString("h5.return_url");
private static final String PAY_URL = ConfigReader.getString("h5.pay_url");
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
resp.getOutputStream().write("不支持GET方式提交".getBytes("utf8"));
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
String respMsg = "";
resp.setContentType("text/html");
try
{
String userId = req.getParameter("userId");
String amt = req.getParameter("amt");
String bankCard = req.getParameter("bankCard");
String name = req.getParameter("name");
String idType = req.getParameter("idType");
String idNo = req.getParameter("idNo");
String type=req.getParameter("type");
StringBuffer orderPlain = new StringBuffer();
String orderId = "FY"+DateTimeUtil.getCurrentDate("yyyyMMddHHmmssSSS");
String signPlain = type+"|"+"2.0"+"|"+Constants.H5_MCHNT_CD+"|"+orderId+"|"+userId
+"|"+amt+"|"+bankCard+"|"+BACK_URL+"|"+name+"|"+idNo+"|"+idType+"|"+"0"+"|"
+ HOME_URL+"|"+RETURN_URL+"|"+Constants.H5_MCHNT_KEY;
String sign=MD5.MD5Encode(signPlain);
System.out.println("[签名明文:]"+signPlain);
orderPlain.append("<ORDER>")
.append("<VERSION>2.0</VERSION>")
.append("<LOGOTP>0</LOGOTP>")
.append("<MCHNTCD>").append(Constants.H5_MCHNT_CD).append("</MCHNTCD>")
.append("<TYPE>").append(type).append("</TYPE>")
.append("<MCHNTORDERID>").append(orderId).append("</MCHNTORDERID>")
.append("<USERID>").append(userId).append("</USERID>")
.append("<AMT>").append(amt).append("</AMT>")
.append("<BANKCARD>").append(bankCard).append("</BANKCARD>")
.append("<BACKURL>").append(BACK_URL).append("</BACKURL>")
.append("<HOMEURL>").append(HOME_URL).append("</HOMEURL>")
.append("<REURL>").append(RETURN_URL).append("</REURL>")
.append("<NAME>").append(name).append("</NAME>")
.append("<IDTYPE>").append(idType).append("</IDTYPE>")
.append("<IDNO>").append(idNo).append("</IDNO>")
.append("<REM1>").append(userId).append("</REM1>")
.append("<REM2>").append(userId).append("</REM2>")
.append("<REM3>").append(userId).append("</REM3>")
.append("<SIGNTP>").append("md5").append("</SIGNTP>")
.append("<SIGN>").append(sign).append("</SIGN>")
.append("</ORDER>");
System.out.println("[订单信息:]"+orderPlain.toString());
Map<String,String> param = new HashMap<String, String>();
param.put("VERSION", "2.0");
param.put("ENCTP", "1");
param.put("LOGOTP", "0");
param.put("MCHNTCD", Constants.H5_MCHNT_CD);
param.put("FM",orderPlain.toString());
param.put("FM", DESCoderFUIOU.desEncrypt(orderPlain.toString(), DESCoderFUIOU.getKeyLength8(Constants.H5_MCHNT_KEY)));
respMsg = HttpFormUtil.formForward(PAY_URL, param);
System.out.println("[请求信息:]"+param);
}
catch (Exception e)
{
respMsg="系统异常!";
}
resp.getOutputStream().write(respMsg.getBytes("utf8"));
}
}
明日计划
1.支付接口的完成
遇到问题
1.第三方的支付接口是真的坑,接口文档写得很不清楚,然后接口又是用原生的servlet写的,很多东西很难搞啊。
收获
1.支付demo的完成
评论