From 62c0e9e3bc638693d384fac97ba2dce69e996f5f Mon Sep 17 00:00:00 2001 From: dy-hu Date: Thu, 23 Jan 2025 11:38:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E4=BB=98=E5=AE=9D=E3=80=81=E8=8A=B1?= =?UTF-8?q?=E5=91=97=E6=94=AF=E4=BB=98=E6=B7=BB=E5=8A=A0=E5=95=86=E6=88=B7?= =?UTF-8?q?=E6=94=B6=E6=AC=BE=E7=A0=81=E8=A2=AB=E6=89=AB=E4=B8=9A=E5=8A=A1?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pay/alipay/service/impl/AliPayServiceImpl.java | 19 +++++++++++++++++- .../alipay/service/impl/HuabeiPayServiceImpl.java | 23 +++++++++++++++++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/AliPayServiceImpl.java b/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/AliPayServiceImpl.java index d917d41..16894ad 100644 --- a/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/AliPayServiceImpl.java +++ b/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/AliPayServiceImpl.java @@ -11,9 +11,11 @@ import com.alipay.api.domain.AlipayTradeRefundApplyModel; import com.alipay.api.domain.AlipayTradeWapPayModel; import com.alipay.api.domain.ExtendParams; import com.alipay.api.request.AlipayTradeCreateRequest; +import com.alipay.api.request.AlipayTradePrecreateRequest; import com.alipay.api.request.AlipayTradeRefundRequest; import com.alipay.api.request.AlipayTradeWapPayRequest; import com.alipay.api.response.AlipayTradeCreateResponse; +import com.alipay.api.response.AlipayTradePrecreateResponse; import com.alipay.api.response.AlipayTradeRefundResponse; import com.alipay.api.response.AlipayTradeWapPayResponse; import com.shop.cereshop.app.pay.alipay.service.AliPayService; @@ -195,6 +197,21 @@ public class AliPayServiceImpl implements AliPayService { @Override public String getOrderCollectionCode(String orderFormid, BigDecimal money, String ip, String tradeType) throws CoBusinessException, Exception { - return null; + AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APPID, AlipayConfig.RSA_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGNTYPE); + AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); + request.setBizContent("{" + + "\"out_trade_no\":\"" + orderFormid + "\"," + + "\"total_amount\":\"" + money.toString() + "\"," + + "\"subject\":\"" + "交易商品名称" + "\"," + + "\"product_code\":\"FACE_TO_FACE_PAYMENT\"" + + "}"); + // 调用支付宝接口 + AlipayTradePrecreateResponse response = alipayClient.sdkExecute(request); + if (response.isSuccess()) { + //获取二维码URL + return response.getQrCode(); + }else { + throw new CoBusinessException("调用支付宝预下单接口失败::" + response.getSubMsg()); + } } } diff --git a/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/HuabeiPayServiceImpl.java b/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/HuabeiPayServiceImpl.java index 6b1c0bd..42eae91 100644 --- a/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/HuabeiPayServiceImpl.java +++ b/cereshop-app/src/main/java/com/shop/cereshop/app/pay/alipay/service/impl/HuabeiPayServiceImpl.java @@ -12,8 +12,10 @@ import com.alipay.api.domain.AlipayTradeCreateModel; import com.alipay.api.domain.AlipayTradeRefundApplyModel; import com.alipay.api.domain.ExtendParams; import com.alipay.api.request.AlipayTradeCreateRequest; +import com.alipay.api.request.AlipayTradePrecreateRequest; import com.alipay.api.request.AlipayTradeRefundRequest; import com.alipay.api.response.AlipayTradeCreateResponse; +import com.alipay.api.response.AlipayTradePrecreateResponse; import com.alipay.api.response.AlipayTradeRefundResponse; import com.shop.cereshop.app.pay.alipay.service.HuabeiPayService; import com.shop.cereshop.commons.config.AlipayConfig; @@ -113,6 +115,25 @@ public class HuabeiPayServiceImpl implements HuabeiPayService { @Override public String getOrderCollectionCode(String orderFormid, BigDecimal money, String ip, String tradeType) throws CoBusinessException, Exception { - return null; + AlipayClient alipayClient = new DefaultAlipayClient(AlipayConfig.URL, AlipayConfig.APPID, AlipayConfig.RSA_PRIVATE_KEY, AlipayConfig.FORMAT, AlipayConfig.CHARSET, AlipayConfig.ALIPAY_PUBLIC_KEY, AlipayConfig.SIGNTYPE); + AlipayTradePrecreateRequest request = new AlipayTradePrecreateRequest(); + request.setBizContent("{" + + "\"out_trade_no\":\"" + orderFormid + "\"," + + "\"total_amount\":\"" + money.toString() + "\"," + + "\"subject\":\"" + "交易商品名称" + "\"," + + "\"product_code\":\"FACE_TO_FACE_PAYMENT\"," + + "\"extend_params\":{" + + "\"hb_fq_num\":\"3\"," + // 花呗分期期数,可选3、6、12期 + "\"hb_fq_seller_percent\":\"100\"" + // 商家承担手续费 + "}" + + "}"); + // 调用支付宝接口 + AlipayTradePrecreateResponse response = alipayClient.execute(request); + if (response.isSuccess()) { + //获取二维码URL + return response.getQrCode(); + }else { + throw new CoBusinessException("调用支付宝预下单接口失败::" + response.getSubMsg()); + } } }