• 大小: 1.19MB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2023-08-28
  • 语言: Java
  • 标签: Java  微信支付  Javawe  

资源简介

使用Javaweb实现的微信支付demo,只需要修改src->util->PayConfig文件里的配置即可

资源截图

代码片段和文件信息

package action;

import java.awt.image.BufferedImage;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.SortedMap;
import java.util.TreeMap;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import util.PayConfig;
import util.PayUtil;
import util.RandomUtil;
import util.SignUtil;
import util.xmlUtil;
import util.ZxingUtil;


@WebServlet(“/payment/*“)
public class PayServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

protected void doGet(HttpServletRequest request HttpServletResponse response) throws ServletException IOException {
doPost(request response);
}


protected void doPost(HttpServletRequest request HttpServletResponse response) throws ServletException IOException {
request.setCharacterEncoding(“UTF-8“);

String requestURI=request.getRequestURI();//获取请求路径
int start = requestURI.lastIndexOf(“/“);
String reqStr=requestURI.substring(start + 1);

if(“pay“.equals(reqStr)){
doPay(requestresponse);
}else if(“image“.equals(reqStr)){
doImage(requestresponse);
}else if(“result“.equals(reqStr)){
try {
wxNotify(requestresponse);
} catch (Exception e) {
System.err.println(“通知出错了:“+e);
}
}

}


private void doPay(HttpServletRequest request HttpServletResponse response) {

String body=“支付测试“;  //商品描述
String total_fee=“1“; //商品价格默认单位为“分”
String out_trade_no=RandomUtil.createOrderId(4); //商品订单号
try {
//获取二维码字符串
String result=PayUtil.getPayURL( body out_trade_no  total_fee );
//将字符串转换为二维码
BufferedImage image = ZxingUtil.createImage(result 300 300);

//将二维码放到session里
request.getSession().setAttribute(“image“ image);
//将订单号放到session里
request.getSession().setAttribute(“out_trade_no“ out_trade_no);

//跳转页面
response.sendRedirect(“../ercode.jsp“);

} catch (Exception e) {
e.printStackTrace();
}

}

private void doImage(HttpServletRequest request HttpServletResponse response) throws IOException {
System.out.println(“进来了...“);
 BufferedImage image = (BufferedImage) request.getSession().getAttribute(“image“);
        if (image != null) {
            ImageIO.write(image“JPEG“response.getOutputStream());
        }
}


 /**
     * 解析微信返回的支付结果
     * @param request
     * @param response
     * @throws Exception
     */
    public void wxNotify(HttpServletRequest requestHttpServletResponse response) throws Exception{
        //读取参数
        InputStream inputStream ;
        StringB

评论

共有 条评论