From a830a73fd10a21e3793c79a35be4e532de124c6f Mon Sep 17 00:00:00 2001 From: nickchange <126672920+nickchange@users.noreply.github.com> Date: 星期二, 17 十月 2023 17:25:16 +0800 Subject: [PATCH] 10.17.1 --- cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java | 71 ++++++++++++++++++++++++++++++++--- 1 files changed, 64 insertions(+), 7 deletions(-) diff --git a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java index ccf2f0f..b0aef0f 100644 --- a/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java +++ b/cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java @@ -7,6 +7,9 @@ import com.alipay.api.CertAlipayRequest; import com.alipay.api.DefaultAlipayClient; import com.alipay.api.domain.AlipayTradeAppPayModel; +import com.alipay.api.domain.ExtendParams; +import com.alipay.api.domain.RoyaltyDetailInfos; +import com.alipay.api.domain.RoyaltyInfo; import com.alipay.api.request.*; import com.alipay.api.response.*; import org.apache.commons.collections.map.HashedMap; @@ -19,6 +22,7 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Component; +import javax.annotation.Resource; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; @@ -65,6 +69,7 @@ private String alipay_root_cert_path = "C:/cert/alipay/user/alipay_root_cert_path.crt";//支付宝CA根证书文件路径 private String certPath = "C:\\cert\\1523106371_20211206_cert\\apiclient_cert.p12";//微信证书 + @@ -139,12 +144,56 @@ model.setPassbackParams(passbackParams);//自定义参数 request.setBizModel(model); request.setNotifyUrl(callbackPath + notifyUrl); + + + + //分账 +// Integer coursePackagePayments = coursePackageClient.queryByCode(outTradeNo); +// Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo); +// Integer siteBookings = siteClient.queryByCode(outTradeNo); +// List<Integer> stores = new ArrayList<>(); +// stores.add(coursePackagePayments); +// stores.add(paymentCompetitions); +// stores.add(siteBookings); + +// OperatorUser operatorUser = siteClient.queryOperator(stores); +// +// String alipayProportion = operatorUser.getAlipayProportion(); +// String alipayNum = operatorUser.getAlipayNum(); + + ExtendParams extendParams = new ExtendParams(); +// extendParams.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID"); + model.setExtendParams(extendParams); + + RoyaltyInfo royaltyInfo = new RoyaltyInfo(); +// royaltyInfo.setRoyaltyType("transfer"); + + + RoyaltyDetailInfos royaltyDetailInfo1 = new RoyaltyDetailInfos(); + royaltyDetailInfo1.setTransOutType("userId"); + royaltyDetailInfo1.setTransOut(aliAppid); + royaltyDetailInfo1.setTransInType("loginName"); + royaltyDetailInfo1.setTransIn("18398968484"); + + royaltyDetailInfo1.setDesc("分账描述1"); + royaltyDetailInfo1.setAmountPercentage("10"); + List<RoyaltyDetailInfos> royaltyDetailInfos = new ArrayList<>(); + + + + + royaltyInfo.setRoyaltyDetailInfos(royaltyDetailInfos); + model.setRoyaltyInfo(royaltyInfo); + System.err.println("========royaltyInfo=========="+royaltyInfo); + + + try { //这里和普通的接口调用不同,使用的是sdkExecute AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request); Map<String, String> map = new HashMap<>(); map.put("orderString", response.getBody()); - System.out.println(map);//就是orderString 可以直接给客户端请求,无需再做处理。 + System.err.println("========map=========="+map);//就是orderString 可以直接给客户端请求,无需再做处理。 return ResultUtil.success(map); } catch (AlipayApiException e) { e.printStackTrace(); @@ -255,11 +304,11 @@ * @throws Exception */ public ResultUtil queryALIOrder(String out_trade_no) throws Exception{ - AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8", alipay_public_key,"RSA2"); + AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",aliAppid, appPrivateKey,"json","UTF-8",alipay_public_key,"RSA2"); AlipayTradeQueryRequest request = new AlipayTradeQueryRequest(); request.setBizContent("{" + - "\"out_trade_no\":" + out_trade_no + - " }"); + " \"out_trade_no\":\"" + out_trade_no + "\"" + + "}"); AlipayTradeQueryResponse response = alipayClient.execute(request); if(response.isSuccess()){ String tradeStatus = response.getTradeStatus();//交易状态:WAIT_BUYER_PAY(交易创建,等待买家付款)、TRADE_CLOSED(未付款交易超时关闭,或支付完成后全额退款)、TRADE_SUCCESS(交易支付成功)、TRADE_FINISHED(交易结束,不可退款) @@ -1107,10 +1156,18 @@ } - public static void main(String[] ages){ +// public static void main(String[] ages){ // PayMoneyUtil payMoneyUtil = new PayMoneyUtil(); -// payMoneyUtil.weixinpay("测试", "123", "12.5", ""); - } +// ResultUtil ce = payMoneyUtil.alipay("测试", "测试", "", "121456457", "10", "http://123.com"); +// System.err.println(ce); +// ResultUtil resultUtil = null; +// try { +// resultUtil = payMoneyUtil.queryALIOrder("121456457"); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// System.err.println(resultUtil); +// } /** -- Gitblit v1.7.1