From 17b9f58d0f44ebbaf7ca5c51ea6ed097f3e0bf6c Mon Sep 17 00:00:00 2001 From: fengb Date: Sun, 13 Aug 2023 10:52:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9D=E8=BD=AC=E8=B4=A6?= =?UTF-8?q?=E4=BA=A4=E6=98=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fengb --- .../java/cc/hiver/app/util/AliPayUtil.java | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 hiver-modules/hiver-app/src/main/java/cc/hiver/app/util/AliPayUtil.java diff --git a/hiver-modules/hiver-app/src/main/java/cc/hiver/app/util/AliPayUtil.java b/hiver-modules/hiver-app/src/main/java/cc/hiver/app/util/AliPayUtil.java new file mode 100644 index 00000000..307807f4 --- /dev/null +++ b/hiver-modules/hiver-app/src/main/java/cc/hiver/app/util/AliPayUtil.java @@ -0,0 +1,63 @@ +package cc.hiver.app.util; + +import com.alipay.api.AlipayApiException; +import com.alipay.api.AlipayClient; +import com.alipay.api.CertAlipayRequest; +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; + +/** + * @类描述 + * @作者 冯彬 + * @时间 2023/8/9-下午3:48 + */ + +public class AliPayUtil { + + public static String pay(String phoneNumber,String name,String transAmount,String orderNo) throws AlipayApiException { + //应用私钥 + String privateKey = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCCcuKPxgpRhBLRG4/2W2c+zqSXRRXCZPsB1FeKIUs7cC9PZy3Bmm747BJrFqrNOUSkEXKJSJoqPfvmbzOlCgYAKea5st06vv0+WOm7wffGWOMnQyqALPL1PDO2RAbMagU6PCUcr27SC88M8gEWyaOrAiogaDEL6EC8rbBBvYhHp8jWKMtNgiJYM8IxWk2pmGKT19pKp8QdnkFmN6u+JauMpXa+MKAjTtY5X7nYTB0RD+nxpnKkeIWfL0gkzwnHmRYJIVdykUuIZ9JEnjtqc3hlJK6KmnyIaEtvKEUuqtcYU2adQu2SIUhxpjnq8WXhn3lRdt37pKIpxJ4c0R5ns6KpAgMBAAECggEAA0pMhp3TIs03AEk2r1sM1pu1sQ8QBnAvmJM3hgdi82PX/aO3lruDcwnZSRQwSK7aGV1LS0Umhkw770r8vXvsPNLRu/tT8yhgENODSbYRvtH9IL9j8gmwMxlKoJ1EoqFF8nsT4I5YODoOBeCQwHdjhmuujlSyb/9yqo+i83WJW21JvmZ6d0S3/G24hev4V3plhERE7xBKAjJvSiIrHKwHAvl888u+dbbFiiNnMF+2VJpOAJce03FSp5CqFlWJbvwAYhVxNDCtog/AntYlfg4NiQk9aj14EjZ6bVd6x/7iOmhJadn8qBSOGWhTSKlM01/13pKKMQNcbnDw4T4E31RAAQKBgQC48cnOqJ/gE9D9arD+JqjxSk2Z7oHKZ2PyZUdNz9d+58e9cYmrgjj3bC0PyskWD7XxjsRcv+0pF0c1Xg4/lBku+rHf+QlnykzNEVWckg/RPQ3wK2gaOsk3njZfzoowuehjgmjSfRsV3i+Y0eJAFDJFG0lx74WilrBpa/shtb7oAQKBgQC0kSvmiXF5YMW87tnmIWhlkb4aDjbYVuoCuDvnyjL3XlKpdW4UJttx8SL4wuE77AkwdybwLBI89GvEQe7Se8GqVYw6W6i/2mMVhnwkKDe7vZK5fx4z5DmJ2t77mmkYJzRe691HhPZffn19yiPTJvl6cKemqEydujQPLxIPEhx6qQKBgQCZO9xVWel9I24ZSfjz2txHb6T0UWVAaoGpKLj3g6mtACXClPvYGsFQX1TGrOIHYWUCi6OupWa+kQby9MchbnefMR+HzzM3x6nyjtY8L9jjKI8P2ycZ9HMbnf63Ss28qYweRsLLA9UZPUp6eAvZw+IS2BT2TdqPaAMqlckxmQBgAQKBgQCxzbni+ziIAyjz0Gc023THf2ookhKjmYI5R12F82+YcoMHZyEMKu8wFfkP6CaOMPEjjlEDcwJKj4yG5z3aeg7MQg0hchyLPusOySz5Fbk734LZsjj1dCjMfH/SVcxjAkfpqGxu/pj0k8PS1/fK9rf3P3N3AobfUfntcbZgrL7qcQKBgChg4FWPyW6sxg1KxGecrozGhmF31VzOft147aifro3LQEhwr468+nDGlgQQCVDzCvAkxMFKPfRT0+n7CBScaUhfqnaJ+VsuwLkag0/D91FjBCCTeGuFy/kwdX5jIcXfzYdTrA/rIbNyt0NbGnR00q6YZsxToj4sIA5PIijIgQ6l"; + CertAlipayRequest alipayConfig = new CertAlipayRequest();//支付宝配置 + alipayConfig.setPrivateKey(privateKey); + alipayConfig.setServerUrl("https://openapi.alipay.com/gateway.do"); + alipayConfig.setAppId("2021003125682609");//支付宝分配给开发者的应用ID 小青科技 + alipayConfig.setCharset("UTF8"); + alipayConfig.setSignType("RSA2"); + alipayConfig.setEncryptor(""); + alipayConfig.setFormat("json"); + alipayConfig.setCertPath("/Users/fengbin/dahongmen/appCertPublicKey.crt");//应用公钥证书文件路径,例如:/foo/appCertPublicKey_2019051064521003.crt + alipayConfig.setAlipayPublicCertPath("/Users/fengbin/dahongmen/alipayPublicKey_RSA2.crt");//支付宝公钥证书文件路径,例如:/foo/alipayCertPublicKey_RSA2.crt + alipayConfig.setRootCertPath("/Users/fengbin/dahongmen/alipayRootCert.crt");//支付宝根证书文件路径,例如:/foo/alipayRootCert.crt + AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig); + AlipayFundTransUniTransferRequest request = new AlipayFundTransUniTransferRequest();//转账类型请求 + AlipayFundTransUniTransferModel model = new AlipayFundTransUniTransferModel();//转账请求参数 + model.setOutBizNo(orderNo);//商家侧唯一订单号 + model.setRemark("返佣");// + model.setBusinessParams("{\"payer_show_name_use_alias\":\"true\"}"); + model.setBizScene("DIRECT_TRANSFER");//单笔无密转账固定为 DIRECT_TRANSFER + Participant payeeInfo = new Participant();//收款方信息 + payeeInfo.setIdentity(phoneNumber); + payeeInfo.setIdentityType("ALIPAY_LOGON_ID"); + payeeInfo.setName(name);//必填 + model.setPayeeInfo(payeeInfo); + model.setTransAmount(transAmount); + model.setProductCode("TRANS_ACCOUNT_NO_PWD"); + model.setOrderTitle("软件返佣"); + request.setBizModel(model); + AlipayFundTransUniTransferResponse response = alipayClient.certificateExecute(request); + System.out.println(response.getBody()); + if (response.isSuccess()) { + return "调用成功"; + } else { + return "调用失败"; + // sdk版本是"4.38.0.ALL"及以上,可以参考下面的示例获取诊断链接 + // String diagnosisUrl = DiagnosisUtils.getDiagnosisUrl(response); + // System.out.println(diagnosisUrl); + } + } + + +}