From aa2c6d722ed799290285b6365f011aaa74373d73 Mon Sep 17 00:00:00 2001
From: 44323 <443237572@qq.com>
Date: 星期六, 23 十二月 2023 17:30:07 +0800
Subject: [PATCH] 11.27,9

---
 cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java |   52 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 47 insertions(+), 5 deletions(-)

diff --git a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
index 1133e92..3692928 100644
--- a/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
+++ b/cloud-server-account/src/main/java/com/dsh/account/util/PayMoneyUtil.java
@@ -71,6 +71,7 @@
     private String appid = "";//微信appid
 
     private String appletsAppid = "";//微信小程序appid
+    private String smid = "2088330203191220";//平台支付宝商户号
 
     private String mchId = "";//微信商户号
 
@@ -90,7 +91,7 @@
     /**
      * 支付宝支付
      */
-    public ResultUtil alipay(String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) {
+    public ResultUtil alipay(String smid,String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl) {
 //        //构造client
 //        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
 //        //设置网关地址
@@ -142,7 +143,6 @@
 //            e.printStackTrace();
 //        }
 
-
         //实例化客户端
         AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do", aliAppid, appPrivateKey, "json", "UTF-8", alipay_public_key, "RSA2");
         //实例化具体API对应的request类,类名称和接口名称对应,当前调用接口名称:alipay.trade.app.pay
@@ -153,11 +153,13 @@
         model.setSubject(subject);//商品的标题/交易标题/订单标题/订单关键字等。
         model.setOutTradeNo(outTradeNo);//商户网站唯一订单号
         model.setTimeoutExpress("30m");
+        model.setSellerId(smid);// 平台商户号
         model.setTotalAmount(amount);//付款金额
         model.setProductCode("QUICK_MSECURITY_PAY");
         model.setPassbackParams(passbackParams);//自定义参数
-
-
+        ExtendParams extendParams = new ExtendParams();
+        extendParams.setRoyaltyFreeze("false");// 冻结资金 用于后续分账处理
+        model.setExtendParams(extendParams);
         //分账
 //        Integer    coursePackagePayments = coursePackageClient.queryByCode(outTradeNo);
 //        Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo);
@@ -245,7 +247,47 @@
         System.err.print(alipay_trade_precreate_response.getString("qr_code"));
         return ResultUtil.success(alipay_trade_precreate_response.getString("qr_code"));
     }
-
+    // 直付通模式 alipay.trade.settle.confirm(统一收单确认结算接口)
+    public ResultUtil confirm(String smid1,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\":\""+smid1+"\"," +
+                "        \"settle_entity_type\":\"SecondMerchant\"," +
+                "        \"amount\":"+amount+"," +
+                "      }" +
+                "    ]" +
+                "  }," +
+                "  \"extend_params\":{" +
+                "    \"royalty_freeze\":\"false\"" +
+                "  }" +
+                "}");
+        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("出现问题啦");
+        }
+    }
 
     /**
      * 支付成功后的回调处理逻辑

--
Gitblit v1.7.1