资源简介
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.xm
文件 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-ba
目录 0 2016-10-25 09:37 weixinPay\.svn\pristine\01\
文件 1630 2016-10-25 09:37 weixinPay\.svn\pristine\01\016ba9c8b6b18e4bf5e858d3e9bfe35eb07bbacd.svn-ba
文件 585603 2016-10-25 09:37 weixinPay\.svn\pristine\01\0171c67fa04952e76bc9ee1e578fe629db35d769.svn-ba
文件 86487 2016-09-28 21:09 weixinPay\.svn\pristine\01\01e55d2a0253ea37745d33062852fd2c90027432.svn-ba
目录 0 2016-09-28 21:09 weixinPay\.svn\pristine\05\
文件 364 2016-09-28 21:09 weixinPay\.svn\pristine\05\05f53898db6feb8466f7a1016e0b5289614cc5e9.svn-ba
目录 0 2016-10-25 09:37 weixinPay\.svn\pristine\06\
文件 2456 2016-10-25 09:37 weixinPay\.svn\pristine\06\06c4fc0a939193de146d30f2a4cad9ccd4bf9f7d.svn-ba
目录 0 2016-09-28 21:09 weixinPay\.svn\pristine\0c\
文件 231320 2016-09-28 21:09 weixinPay\.svn\pristine\0c\0c651d5103c649c12b20d53731643e5fffceb536.svn-ba
文件 284220 2016-09-28 21:09 weixinPay\.svn\pristine\0c\0ce1edb914c94ebc388f086c6827e8bdeec71ac2.svn-ba
文件 564 2016-09-28 21:09 weixinPay\.svn\pristine\0c\0cfe2a049acc526ced77e70243f257adbe0acd69.svn-ba
目录 0 2016-09-29 20:29 weixinPay\.svn\pristine\0d\
文件 18329 2016-09-29 20:29 weixinPay\.svn\pristine\0d\0d41194ca99a53dbcd46c9ee2f4e5f97a93068d4.svn-ba
目录 0 2016-09-30 08:41 weixinPay\.svn\pristine\12\
............此处省略169个文件信息
评论
共有 条评论