增加微信H5由payment项目地址统一跳转
This commit is contained in:
parent
71b4cc667f
commit
f5ee97aed4
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.jeequan.jeepay.pay.channel.wxpay.payway;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.github.binarywang.wxpay.bean.order.WxPayMwebOrderResult;
|
||||
import com.github.binarywang.wxpay.bean.request.WxPayUnifiedOrderRequest;
|
||||
import com.github.binarywang.wxpay.constant.WxPayConstants;
|
||||
|
|
@ -34,6 +35,8 @@ import com.jeequan.jeepay.pay.util.ApiResBuilder;
|
|||
import com.jeequan.jeepay.pay.model.MchAppConfigContext;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
/*
|
||||
* 微信 H5 支付
|
||||
*
|
||||
|
|
@ -72,14 +75,13 @@ public class WxH5 extends WxpayPaymentService {
|
|||
WxPayMwebOrderResult wxPayMwebOrderResult = wxPayService.createOrder(req);
|
||||
|
||||
String payUrl = wxPayMwebOrderResult.getMwebUrl();
|
||||
payUrl = sysConfigService.getDBApplicationConfig().getPaySiteUrl() + "/api/common/payUrl/" + Base64.encode(payUrl);
|
||||
|
||||
if(CS.PAY_DATA_TYPE.FORM.equals(bizRQ.getPayDataType())){ //表单方式
|
||||
res.setFormContent(payUrl);
|
||||
|
||||
}else if (CS.PAY_DATA_TYPE.CODE_IMG_URL.equals(bizRQ.getPayDataType())){ //二维码图片地址
|
||||
|
||||
res.setCodeImgUrl(sysConfigService.getDBApplicationConfig().genScanImgUrl(payUrl));
|
||||
}else{ // 默认都为 payUrl方式
|
||||
|
||||
res.setPayUrl(payUrl);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
*/
|
||||
package com.jeequan.jeepay.pay.channel.wxpay.paywayV3;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.binarywang.wxpay.constant.WxPayConstants;
|
||||
import com.github.binarywang.wxpay.exception.WxPayException;
|
||||
|
|
@ -88,11 +89,10 @@ public class WxH5 extends WxpayPaymentService {
|
|||
JSONObject resJSON = WxpayV3Util.unifiedOrderV3(reqUrl, reqJSON, wxPayService.getConfig());
|
||||
|
||||
String payUrl = resJSON.getString("h5_url");
|
||||
payUrl = sysConfigService.getDBApplicationConfig().getPaySiteUrl() + "/api/common/payUrl/" + Base64.encode(payUrl);
|
||||
if (CS.PAY_DATA_TYPE.CODE_IMG_URL.equals(bizRQ.getPayDataType())){ //二维码图片地址
|
||||
|
||||
res.setCodeImgUrl(sysConfigService.getDBApplicationConfig().genScanImgUrl(payUrl));
|
||||
}else{ // 默认都为 payUrl方式
|
||||
|
||||
res.setPayUrl(payUrl);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* Copyright (c) 2021-2031, 河北计全科技有限公司 (https://www.jeequan.com & jeequan@126.com).
|
||||
* <p>
|
||||
* Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0;
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* <p>
|
||||
* http://www.gnu.org/licenses/lgpl.html
|
||||
* <p>
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.jeequan.jeepay.pay.ctrl;
|
||||
|
||||
import cn.hutool.core.codec.Base64;
|
||||
import com.jeequan.jeepay.core.ctrls.AbstractCtrl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
/*
|
||||
* 通用处理
|
||||
*
|
||||
* @author jmdhappy
|
||||
* @site https://www.jeequan.com
|
||||
* @date 2022/01/25 23:38
|
||||
*/
|
||||
@Slf4j
|
||||
@Controller
|
||||
@RequestMapping("/api/common")
|
||||
public class CommonController extends AbstractCtrl {
|
||||
|
||||
/**
|
||||
* 跳转到支付页面(适合网关支付form表单输出)
|
||||
* @param payData
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/payForm/{payData}")
|
||||
private String toPayForm(@PathVariable("payData") String payData){
|
||||
request.setAttribute("payHtml", Base64.decodeStr(payData));
|
||||
return "common/toPay";
|
||||
}
|
||||
|
||||
/**
|
||||
* 跳转到支付页面(适合微信H5跳转与referer一致)
|
||||
* @param payData
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/payUrl/{payData}")
|
||||
private String toPayUrl(@PathVariable("payData") String payData) {
|
||||
String payUrl = Base64.decodeStr(payData);
|
||||
request.setAttribute("payHtml", "<script>window.location.href = '"+payUrl+"';</script>");
|
||||
return "common/toPay";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
${payHtml!''}
|
||||
Loading…
Reference in New Issue