Pu Zhibing
1 天以前 d732598ce0b994ba48ecab72e78c810c15abeaca
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
package com.supersavedriving.driver.modular.system.util.separateAccounts;
 
import cn.hutool.crypto.digest.MD5;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
 
import java.math.BigDecimal;
import java.util.Map;
import java.util.TreeMap;
 
/**
 * TODO
 *
 * @Description 转账测试
 * @Author liaojj
 * @Date 2024/4/30 10:35
 **/
public class TransferUtil
{
    public static final String MD5_KEY = "9YRHD68clzTAfaNtKmMGIQgwOBBz3DlxVAK8AtGAq7hJxL36lMX5hqQkYsB6kyJFwiUtXuV8tkF5s005WScGHHQulRdmCrHzjwEv4aSjIfL8DKdOosk5yDxXDpZkovtF";
    public static final String MCH_NO = "M1718787621";
    public static final String APP_ID = "668209c2e4b02aee68f61735";
    public static final String NOTIFY_URL = "http://121.31.232.206:3002/driver-server/base/notify";
 
    public static void main(String[] args) {
//        transfer(CodeGenerateUtils.generateVolumeSn(),new BigDecimal(0.01),"6230520460318842477","陈昆","中国农业银行","测试");
        query("24071503445239718");
    }
 
    public static JSONObject transfer(String mchOrderNo,
                                BigDecimal amount,
                                String accountNo,
                                String accountName,
                                String bankName,
                                String transferDesc){
        // 24071503445239718
        System.err.println(mchOrderNo);
        Map signMap = new TreeMap<>();
        signMap.put("mchNo", MCH_NO);
        signMap.put("appId", APP_ID);
        signMap.put("mchOrderNo", mchOrderNo);
        signMap.put("ifCode", "alipay");
        signMap.put("entryType", "BANK_CARD");// 入账方式 对私银行卡
        String amountStr = String.valueOf(amount.multiply(new BigDecimal(100)).setScale(0, BigDecimal.ROUND_HALF_UP));
        signMap.put("amount", amountStr);
        signMap.put("currency", "cny");
        signMap.put("accountNo", accountNo);// 收款账号
        signMap.put("accountName", accountName);
        signMap.put("bankName", bankName);
        signMap.put("transferDesc", transferDesc);
        signMap.put("notifyUrl", NOTIFY_URL);
        signMap.put("extParam", "");// 扩展参数
        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);
        System.err.println(JSONObject.toJSONString(signMap));
        String post = HttpUtil.post("https://pay.bozepay.com/api/transferOrder", JSONObject.toJSONString(signMap));
        System.err.println(post);
        return JSONObject.parseObject(post);
    }
 
    public static void query(String mchOrderNo){
        Map signMap = new TreeMap<>();
        signMap.put("mchNo", MCH_NO);
        signMap.put("appId", APP_ID);
        signMap.put("mchOrderNo", mchOrderNo);
        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 post = HttpUtil.post("https://pay.bozepay.com/api/transfer/query", JSONObject.toJSONString(signMap));
        System.out.println(post);
    }
 
}