New file |
| | |
| | | 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) 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.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; |
| | | } |
| | | |
| | | } |