package com.supersavedriving.user.modular.system.util;
|
|
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.crypto.digest.MD5;
|
import cn.hutool.http.HttpUtil;
|
import com.alibaba.fastjson.JSONObject;
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import java.util.Map;
|
import java.util.TreeMap;
|
|
/**
|
* @Author liaojj
|
* @Date: 2023/02/20/ 10:15 AM
|
* @Description 微信小程序支付
|
*/
|
public class MiniAppPay {
|
|
public static final String MD5_KEY = "qdg4v9uxeszd8ljtod7yy51hh1xahrj1zfmrwvo1dapdasi968rg2rg59bibl5xnxn3nrbziuwfuw1lax2r040pcc7cdgwx0v9w8sxtku2k7ckt6cyoqvobmj77f6im5";
|
public static final String MCH_NO = "M1718787621";
|
public static final String APP_ID = "1111";
|
|
@Value("${callbackPath}")
|
private static String callbackPath;//支付回调网关地址
|
|
|
public static ResultUtil pay(String openId,String money,String notify,String orderNo){
|
String wayCode = "WX_LITE";
|
|
JSONObject channelExtra = new JSONObject();
|
channelExtra.put("openid",openId); //微信用户OPENID
|
channelExtra.put("isSubOpenId", 1);
|
|
Map signMap = new TreeMap<>();
|
signMap.put("mchNo", MCH_NO);
|
signMap.put("appId", APP_ID);
|
signMap.put("mchOrderNo", orderNo);
|
signMap.put("wayCode", wayCode);
|
signMap.put("amount", money); //金额
|
signMap.put("currency", "cny");
|
// signMap.put("clientIp", "192.168.0.111");
|
signMap.put("subject", "商家收款");
|
signMap.put("body", "服务费");
|
signMap.put("notifyUrl", "http://121.31.232.206:3002/user"+notify);
|
signMap.put("channelExtra", channelExtra.toJSONString());
|
signMap.put("reqTime", System.currentTimeMillis());
|
signMap.put("version", "1.0");
|
signMap.put("signType", "MD5");
|
|
String signStr = StrUtil.getSignStr(signMap);
|
|
signStr = signStr + "&key=" + MD5_KEY;
|
|
String sign = MD5.create().digestHex(signStr);
|
signMap.put("sign", sign);
|
|
String resutl = HttpUtil.post("https://pay.bozepay.com/api/pay/unifiedOrder", JSONObject.toJSONString(signMap));
|
|
return ResultUtil.success(resutl);
|
}
|
|
|
public static ResultUtil payCheck(String openId,String money,String notify,String orderNo,String body){
|
String wayCode = "WX_LITE";
|
|
JSONObject channelExtra = new JSONObject();
|
channelExtra.put("openid",openId); //微信用户OPENID
|
channelExtra.put("isSubOpenId", 1);
|
|
Map signMap = new TreeMap<>();
|
signMap.put("mchNo", MCH_NO);
|
signMap.put("appId", APP_ID);
|
signMap.put("mchOrderNo", orderNo);
|
signMap.put("wayCode", wayCode);
|
signMap.put("amount", money); //金额
|
signMap.put("currency", "cny");
|
// signMap.put("clientIp", "192.168.0.111");
|
signMap.put("subject", "商家收款");
|
signMap.put("body", body);
|
signMap.put("notifyUrl", "http://121.31.232.206:3002/user"+notify);
|
signMap.put("channelExtra", channelExtra.toJSONString());
|
signMap.put("reqTime", System.currentTimeMillis());
|
signMap.put("version", "1.0");
|
signMap.put("signType", "MD5");
|
signMap.put("extParam", "1");
|
|
String signStr = StrUtil.getSignStr(signMap);
|
|
signStr = signStr + "&key=" + MD5_KEY;
|
|
String sign = MD5.create().digestHex(signStr);
|
signMap.put("sign", sign);
|
|
String resutl = HttpUtil.post("https://pay.bozepay.com/api/pay/unifiedOrder", JSONObject.toJSONString(signMap));
|
|
return ResultUtil.success(resutl);
|
}
|
}
|