puzhibing
2024-02-05 640ff18d2d7f4be02ddb7f8f75e899f05545eb98
cloud-server-competition/src/main/java/com/dsh/competition/util/PayMoneyUtil.java
@@ -6,7 +6,7 @@
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.*;
import com.alipay.api.request.*;
import com.alipay.api.response.*;
import com.dsh.competition.util.httpClinet.HttpClientUtil;
@@ -134,12 +134,27 @@
        model.setSubject("报名赛事");//商品的标题/交易标题/订单标题/订单关键字等。
        model.setOutTradeNo(outTradeNo);//商户网站唯一订单号
        model.setTimeoutExpress("30m");
        model.setSellerId(smid);
        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);
        try {
            //这里和普通的接口调用不同,使用的是sdkExecute
            AlipayTradeAppPayResponse response = alipayClient.sdkExecute(request);
@@ -273,6 +288,15 @@
            return response;
        }
    }
    /**
     * 统一确认结算接口
     * @param smid
     * @param code
     * @param outTradeNo
     * @param amount
     * @return
     */
    public ResultUtil confirm(String smid,String code, String outTradeNo, String amount) {
        AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",
                aliAppid,