xuhy
2025-08-05 74aaaab01e109d3f408cf586ea2c4661872190f1
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
package com.stylefeng.guns.modular.system.util.alipay;
 
import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.AlipayConfig;
import com.alipay.api.DefaultAlipayClient;
import com.alipay.api.domain.AlipayFundTransUniTransferModel;
import com.alipay.api.domain.Participant;
import com.alipay.api.request.AlipayFundTransUniTransferRequest;
import com.alipay.api.response.AlipayFundTransUniTransferResponse;
 
public class AlipayUtils {
        public static void main(String[] args) throws AlipayApiException {
            // 初始化SDK
            AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
 
            // 构造请求参数以调用接口
            AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
            AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();
            // 设置商家侧唯一订单号
            model.setOutBizNo("2025080400001");
            // 设置订单总金额
            model.setTransAmount("0.01");
            // 设置描述特定的业务场景
            model.setBizScene("DIRECT_TRANSFER");
            // 设置业务产品码
            model.setProductCode("TRANS_ACCOUNT_NO_PWD");
 
            // 设置转账业务的标题
            model.setOrderTitle("司机提现");
            // 设置收款方信息
            Participant payeeInfo = new Participant();
            payeeInfo.setIdentity("18398968484");
            payeeInfo.setCertType("IDENTITY_CARD");
            payeeInfo.setCertNo("51370119991015653X");
            payeeInfo.setName("陈昆");
            payeeInfo.setIdentityType("ALIPAY_LOGON_ID");
            model.setPayeeInfo(payeeInfo);
            // 设置业务备注
            model.setRemark("司机提现");
            // 设置转账业务请求的扩展参数
            model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");
 
            request.setBizModel(model);
            AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
            System.err.println(response.getBody());
 
            if (response.isSuccess()) {
                System.err.println("调用成功");
            } else {
                System.err.println("调用失败");
                // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接
                // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response);
                // System.out.println(diagnosisUrl);
            }
        }
 
    /**
     * 提现
     */
    public static String aliWithdrawal(String outBizNo, String money, String account, String idCard,String userName) throws AlipayApiException {
        // 初始化SDK
        AlipayClient alipayClient = new DefaultAlipayClient(getAlipayConfig());
 
        // 构造请求参数以调用接口
        AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();
        AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();
        // 设置商家侧唯一订单号
        model.setOutBizNo(outBizNo);
        // 设置订单总金额
        model.setTransAmount(money);
        // 设置描述特定的业务场景
        model.setBizScene("DIRECT_TRANSFER");
        // 设置业务产品码
        model.setProductCode("TRANS_ACCOUNT_NO_PWD");
 
        // 设置转账业务的标题
        model.setOrderTitle("司机提现");
        // 设置收款方信息
        Participant payeeInfo = new Participant();
        payeeInfo.setIdentity(account);
        payeeInfo.setCertType("IDENTITY_CARD");
        payeeInfo.setCertNo(idCard);
        payeeInfo.setName(userName);
        payeeInfo.setIdentityType("ALIPAY_LOGON_ID");
        model.setPayeeInfo(payeeInfo);
        // 设置业务备注
        model.setRemark("司机提现");
        // 设置转账业务请求的扩展参数
        model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}");
 
        request.setBizModel(model);
        AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request);
        System.out.println(response.getBody());
        if (response.isSuccess()) {
            System.out.println("调用成功");
        } else {
            System.out.println("调用失败");
        }
        return response.getBody();
    }
 
    private static AlipayConfig getAlipayConfig() {
        String privateKey  = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCHyTR7MWUrHoxoCA0g19QP3RtuTLYI/c0WmUZPp66pzTtldO0ctfGmfECboBfrriVjqQSm+ZByd3PR818SQooJXKm2Zf+JIf29vHQexotEoG/GOJjc7T9Ez/2Q/nuxnTVAosy092gM8Fu11lbX8SXi5w1vKNI6ApxIgU2gWHeLVHOkJosFxDIz5CrNlP4BGZRhW543xGi5/hpXrHNYno69fLXPOKwN+TQh8JW4xaqtebXd9wcWofAoeoel/BhdPAlb8NtkGzv7/ar7CzMrS8scjgJw48muN7XwmoJnlF92nb/7F6vEI/7l0tfeJqyFDSIKrgqfmcfBzD9uBPJwH0nhAgMBAAECggEACEb4nwXcz+sVzgWnnzfo4mqtEGU2t4eZJ+aCBbsIB6vOEho1lgl1SJvMaHAy5RgBiXi1IuSVrJShh8vZIMjTl0yBv++pyxc6W4WQYovh03YgOiobD2Sa9bvkDiGlMqeNpnoGFoX6XseMH6KIOrOlhpZlGECZyBV+p2DSdZLO/rw5Z0e0KoWa9WvG0ilT9SEphXlcjNg+dYQHcymZgqjagN4PHipecHRXEUEw7sJR4vsqmzDwzyUi/f3eKPgp1C/p2Yv3El+L3ibU6lTB255fM7G3xlZhmaTOsoKw9h1AAumyWzwkzX8zU23GdxKw6YyxJPiow26xZyzKMABpPywUkQKBgQDFurbvZxKEY+9aep8QjISve+agGbUWQ8YtMxGlVST5ZklJArmWBt5c9nJKGuSS22v5q3ljLdFE1+KGj5VcAVml1DhU7l/pzHzWEBRmmOgQ3n5t7QDD0YMPKs4QSaGKr3cX4r8sbFb9FBQOapeK0Auy4GvHSor86mNj3etM+Q4t7QKBgQCvzUxFau6WnRf6bbyReJxp8y16SpvUj058F+nmiiXiYf6PUtdZg/JvxUTeG2VgiDrfvSAE69SRvRchI1Mj49CSeKyAq8aVbMh4Dio+Sjh8JQK768Aq1bHfyJferl8eVNnOrPq+7vcu5DGgELzSXEevheftVLVIcmgxkl5jbNttRQKBgBmiCvUeN5hSHEVugBB1Jv5Y4Zz/uCoavyY86Jy2XQS37eg5IjYAzfLfQBG7SsZ/C5BiWmoxFmAGXKd1FbfHtQd6a5MXE/gLOmPF0d87E1qcfWdiwiagkoz0z6Hs6bRA6v99tarcoKpOYAs+ZkbokZuu3EoJr9r5x8i6jDZ+UwhBAoGAUlVexCAJb2ZRRYrBRovrDT/Da8OnaYxYIIv+kmbeyUBFvQ/6JUVDdI856p+AAg6rK//iEAv2uO6K940YsfVOyFpVx8krLu4MkRVpOVT/UTzwI9yMWkNMk9bZMYQOriDlBQNER8mY4FAk4acVF5v6Qrz+2srSQAS8wYKgTAY+WdUCgYEAsf/VlYGaxEhOGI1i7Zh8gQ5AyelgBO0uqPYetFbEkL+8FrU/BgoS219bK3GjpsEgM2QZs1D8TugUP+uvCSQNQ5js0Hqu+XyhJkBPnwSJpv/dXyQ6KoBg+U2rrna8MRTM/Y/jKHReqo5mMXMl3MMsRTRO5R5PVgfZ+soX81bvhEY=";
        AlipayConfig alipayConfig = new AlipayConfig();
        alipayConfig.setPrivateKey(privateKey);
        alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do");
        alipayConfig.setAppId("2021005181621462");
        alipayConfig.setCharset("UTF-8");
        alipayConfig.setSignType("RSA2");
        alipayConfig.setFormat("json");
        alipayConfig.setAppCertPath("D:/alipayCert/appCertPublicKey_2021005181621462.crt");
        alipayConfig.setAlipayPublicCertPath("D:/alipayCert/alipayCertPublicKey_RSA2.crt");
        alipayConfig.setRootCertPath("D:/alipayCert/alipayRootCert.crt");
        return alipayConfig;
    }
 
}