• 大小: 8.48MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-03
  • 语言: Java
  • 标签: 微信开发  

资源简介

1、微信支付功能(新增企业付款功能--也就是用户提现的功能) ,新增了用户提现 2、拿过去就可以运行,不能运行的退积分,个人整理了好几天,按照你的微信支付的配置到我的MPConfigUtils.java里面,拿过去就可以支付。 3、相关的工具类都在里面这是一个完整的project

资源截图

代码片段和文件信息

package com.wechatpay.servlet;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.UUID;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.wechatpay.util.CommonUtil;
import com.wechatpay.util.MPConfigUtils;

/**
 * 用户申请提现调用的
 * @author zhangWenchao
 * @createTime 2016-10-22 15:55
 */
public class ApplyCash extends HttpServlet {

private static final long serialVersionUID = -5434591618203942088L;

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

public void doPost(HttpServletRequest request HttpServletResponse response)
throws ServletException IOException  {
    String code = request.getParameter(“code“); //这个code是微信调用这个servlet传过来的
    /**
 * 第1步:通过code获取openId
 */
String openid = CommonUtil.getOpenIdByCode(code);
String nonceStr = UUID.randomUUID().toString().replace(“-“““); //随机字符串
SortedMapjectobject> parameters = new TreeMapjectobject>();
        parameters.put(“mch_appid“ MPConfigUtils.APPID);
        parameters.put(“mchid“ MPConfigUtils.MCH_ID);
         //随机字符串  随机字符串,不长于32位。推荐随机数生成算法
        parameters.put(“nonce_str“ nonceStr);
        //这个订单号用于和微信通信的订单号,可以是某个商品的订单号,可以是区分某一类的订单号,保证唯一就行
        String orderNo = new Random().nextInt(10)+new SimpleDateFormat(“yyyyMMddHHmmss“).format(new Date());
        parameters.put(“openid“ openid);
        parameters.put(“partner_trade_no“ orderNo);
        parameters.put(“check_name“ “FORCE_CHECK“);//强制要求检察实名认证
        parameters.put(“re_user_name“ “xxx“);//收款用户名(这里必须要填写提现人的真实姓名)
        String money = “100“;
        parameters.put(“amount“ money);//金额,以分为单位(提现至少为 1元)
        parameters.put(“desc“ “用户申请提现“);//操作信息说明
        parameters.put(“spbill_create_ip“ CommonUtil.getIpAddr(request));//操作ip地址
        String sign = CommonUtil.createSign(“UTF-8“ parameters);
        parameters.put(“sign“ sign);
        String xmlStr = CommonUtil.getHttpsTransfer(parameters);
System.out.println(“ 微信返回的参数:  =====>\r\n  “+xmlStr);
        try {
         Map map = CommonUtil.parsexml(xmlStr);
         if(“SUCCESS“.equals(map.get(“return_code“)) && “SUCCESS“.equals(map.get(“result_code“))){
         String wxOrderNo = map.get(“payment_no“); //属于微信的订单号
         String partnerNo = map.get(“partner_trade_no“); //商户交易订单号
         String succesTime = map.get(“payment_time“); //微信企业付款成功时间
         String sucMoney = money; //微信企业付款成功时间
         request.setAttribute(“partner_trade_no“ partnerNo);
         request.setAttribute(“payment_ti

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-10-25 09:37  weixinPay\
     文件        1701  2016-10-25 09:37  weixinPay\.classpath
     文件        1042  2016-09-27 16:01  weixinPay\.project
     目录           0  2016-09-27 16:01  weixinPay\.settings\
     文件         564  2016-09-27 16:01  weixinPay\.settings\.jsdtscope
     文件         364  2016-09-27 16:01  weixinPay\.settings\org.eclipse.jdt.core.prefs
     文件         486  2016-09-27 16:01  weixinPay\.settings\org.eclipse.wst.common.component
     文件         305  2016-09-27 16:01  weixinPay\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          49  2016-09-27 16:01  weixinPay\.settings\org.eclipse.wst.jsdt.ui.superType.container
     文件           6  2016-09-27 16:01  weixinPay\.settings\org.eclipse.wst.jsdt.ui.superType.name
     目录           0  2016-10-25 09:37  weixinPay\.svn\
     文件           3  2016-09-28 21:08  weixinPay\.svn\entries
     文件           3  2016-09-28 21:08  weixinPay\.svn\format
     目录           0  2016-10-25 09:37  weixinPay\.svn\pristine\
     目录           0  2016-09-29 20:29  weixinPay\.svn\pristine\00\
     文件        1238  2016-09-29 20:29  weixinPay\.svn\pristine\00\00bd53ca692701623003f4c0ed91e9af8b9acbb2.svn-base
     目录           0  2016-10-25 09:37  weixinPay\.svn\pristine\01\
     文件        1630  2016-10-25 09:37  weixinPay\.svn\pristine\01\016ba9c8b6b18e4bf5e858d3e9bfe35eb07bbacd.svn-base
     文件      585603  2016-10-25 09:37  weixinPay\.svn\pristine\01\0171c67fa04952e76bc9ee1e578fe629db35d769.svn-base
     文件       86487  2016-09-28 21:09  weixinPay\.svn\pristine\01\01e55d2a0253ea37745d33062852fd2c90027432.svn-base
     目录           0  2016-09-28 21:09  weixinPay\.svn\pristine\05\
     文件         364  2016-09-28 21:09  weixinPay\.svn\pristine\05\05f53898db6feb8466f7a1016e0b5289614cc5e9.svn-base
     目录           0  2016-10-25 09:37  weixinPay\.svn\pristine\06\
     文件        2456  2016-10-25 09:37  weixinPay\.svn\pristine\06\06c4fc0a939193de146d30f2a4cad9ccd4bf9f7d.svn-base
     目录           0  2016-09-28 21:09  weixinPay\.svn\pristine\0c\
     文件      231320  2016-09-28 21:09  weixinPay\.svn\pristine\0c\0c651d5103c649c12b20d53731643e5fffceb536.svn-base
     文件      284220  2016-09-28 21:09  weixinPay\.svn\pristine\0c\0ce1edb914c94ebc388f086c6827e8bdeec71ac2.svn-base
     文件         564  2016-09-28 21:09  weixinPay\.svn\pristine\0c\0cfe2a049acc526ced77e70243f257adbe0acd69.svn-base
     目录           0  2016-09-29 20:29  weixinPay\.svn\pristine\0d\
     文件       18329  2016-09-29 20:29  weixinPay\.svn\pristine\0d\0d41194ca99a53dbcd46c9ee2f4e5f97a93068d4.svn-base
     目录           0  2016-09-30 08:41  weixinPay\.svn\pristine\12\
............此处省略169个文件信息

评论

共有 条评论