发表于: 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的完成


返回列表 返回列表
评论

    分享到