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()); + } } }