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