Pu Zhibing
2 天以前 e5bdd46a51ebfda768262ff51c17879241ea2b14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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);
    }
}