44323
2023-11-23 acad524bfb7f376c09ff8e6600fab207780156e1
cloud-server-other/src/main/java/com/dsh/other/util/PayMoneyUtil.java
@@ -12,6 +12,7 @@
import com.alipay.api.domain.RoyaltyInfo;
import com.alipay.api.request.*;
import com.alipay.api.response.*;
import lombok.Synchronized;
import org.apache.commons.collections.map.HashedMap;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.dom4j.Document;
@@ -60,7 +61,7 @@
    private String key = "";//微信商户号
    private String callbackPath = "";//支付回调网关地址
    private String callbackPath = "http://8.137.22.229:56666/other";//支付回调网关地址
    private String app_cert_path = "C:/cert/alipay/user/app_cert_path.crt";//应用公钥证书路径
@@ -76,6 +77,7 @@
    /**
     * 支付宝支付
     */
    public ResultUtil alipay(String body, String subject, String passbackParams, String outTradeNo, String amount, String notifyUrl){
//        //构造client
//        CertAlipayRequest certAlipayRequest = new CertAlipayRequest ();
@@ -148,10 +150,6 @@
        //分账
//        Integer    coursePackagePayments = coursePackageClient.queryByCode(outTradeNo);
//        Integer paymentCompetitions = competitionsClient.queryByCode(outTradeNo);
@@ -167,28 +165,29 @@
//        String alipayNum = operatorUser.getAlipayNum();
//        extendParams.setSysServiceProviderId("YOUR_SERVICE_PROVIDER_ID");
        ExtendParams extendParams = new ExtendParams();
        model.setExtendParams(extendParams);
        RoyaltyInfo royaltyInfo = new RoyaltyInfo();
//        ExtendParams extendParams = new ExtendParams();
//        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);
//        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);
@@ -198,6 +197,7 @@
            Map<String, String> map = new HashMap<>();
            map.put("orderString", response.getBody());
            System.err.println("========map=========="+map);//就是orderString 可以直接给客户端请求,无需再做处理。
            map.put("siteBooking",passbackParams);
            return ResultUtil.success(map);
        } catch (AlipayApiException e) {
            e.printStackTrace();
@@ -307,18 +307,20 @@
     * @return
     * @throws Exception
     */
    public ResultUtil queryALIOrder(String out_trade_no) throws Exception{
    public AlipayTradeQueryResponse 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");
        AlipayTradeQueryRequest request = new AlipayTradeQueryRequest();
        request.setBizContent("{" +
                "  \"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(交易结束,不可退款)
            return ResultUtil.success(tradeStatus);
            return response;
        } else {
            return ResultUtil.error(response.getMsg());
//            return ResultUtil.error(response.getMsg());
            return  response;
        }
    }
@@ -425,6 +427,7 @@
                        String s1 = this.weixinSignature(map3);
                        map3.put("sign", s1);
                        System.err.println(map3);
                        map3.put("siteBookingId",attach);
                        return ResultUtil.success(map3);
                }
                return null;