From 168d852672f8f671a01d6f0f053349d0d321ec7c Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 03 一月 2024 11:43:11 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java | 70 +++++++++++++++++++++++++++++++--- 1 files changed, 63 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 fad56b9..b5519f5 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 @@ -6,10 +6,9 @@ import com.alipay.api.AlipayClient; 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.domain.*; +import com.alipay.api.msg.AlipayMsgClient; +import com.alipay.api.msg.MsgHandler; import com.alipay.api.request.*; import com.alipay.api.response.*; import lombok.Synchronized; @@ -72,12 +71,54 @@ private String certPath = "C:\\cert\\1523106371_20211206_cert\\apiclient_cert.p12";//微信证书 + + + public ResultUtil confirm(String smid,String code, String outTradeNo, String amount) { + + AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", + aliAppid, + appPrivateKey, + "json", + "GBK", + alipay_public_key, + "RSA2"); + AlipayTradeSettleConfirmRequest request = new AlipayTradeSettleConfirmRequest(); + request.setBizContent("{" + + " \"out_request_no\":\""+code+"\"," + + " \"trade_no\":\""+outTradeNo+"\"," + + " \"settle_info\":{" + + " \"settle_detail_infos\":[" + + " {" + + " \"trans_in_type\":\"defaultSettle\"," + + " \"settle_entity_id\":\""+smid+"\"," + + " \"settle_entity_type\":\"SecondMerchant\"," + + " \"amount\":"+amount+"," + + " }" + + " ]" + + " }," + + " \"extend_params\":{" + + " \"royalty_freeze\":\"true\"" + + " }" + + "}"); + AlipayTradeSettleConfirmResponse response = null; + try { + response = alipayClient.execute(request); + } catch (AlipayApiException e) { + e.printStackTrace(); + } + if(response.isSuccess()){ + System.out.println("调用成功"); + return ResultUtil.success(); + } else { + System.out.println("调用失败"); + return ResultUtil.error("出现问题啦"); + } + } /** * 支付宝支付 */ - - public ResultUtil alipay(String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) { -// //构造client + public ResultUtil alipay(String smid,String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) { +//// //构造client // CertAlipayRequest certAlipayRequest = new CertAlipayRequest (); // //设置网关地址 // certAlipayRequest.setServerUrl("https://openapi.alipay.com/gateway.do"); @@ -142,6 +183,21 @@ model.setTotalAmount(amount);//付款金额 model.setProductCode("QUICK_MSECURITY_PAY"); model.setPassbackParams(passbackParams);//自定义参数 + SettleInfo settleInfo = new SettleInfo(); + settleInfo.setSettlePeriodTime("3d"); + SettleDetailInfo settleDetailInfo = new SettleDetailInfo(); + settleDetailInfo.setTransInType("defaultSettle"); + settleDetailInfo.setAmount(amount); + List<SettleDetailInfo> settleDetailInfos = new ArrayList<>(); + settleDetailInfos.add(settleDetailInfo); + settleInfo.setSettleDetailInfos(settleDetailInfos); + model.setSettleInfo(settleInfo); + SubMerchant subMerchant = new SubMerchant(); + subMerchant.setMerchantId(smid); + model.setSubMerchant(subMerchant); + ExtendParams extendParams = new ExtendParams(); + extendParams.setRoyaltyFreeze("true");// 冻结资金 用于后续分账处理 + model.setExtendParams(extendParams); request.setBizModel(model); request.setNotifyUrl(callbackPath + notifyUrl); -- Gitblit v1.7.1