mirror of
https://gitee.com/dromara/dax-pay.git
synced 2025-10-13 13:20:23 +00:00
fix 微信服务商v2订单支付接口
This commit is contained in:
@@ -18,7 +18,7 @@ public class WechatPayParam {
|
||||
private String openId;
|
||||
|
||||
/**
|
||||
* 服务商模式下分为 1、sp用户服务标识 2、sub用户子标识
|
||||
* 服务商模式下分为 sp. 用户服务标识 sub. 用户子标识
|
||||
* @see org.dromara.daxpay.channel.wechat.code.WechatPayCode#SP_OPENID
|
||||
*/
|
||||
@Schema(description = "openid类型")
|
||||
|
@@ -2,6 +2,7 @@ package org.dromara.daxpay.channel.wechat.service.pay.isv;
|
||||
|
||||
import cn.bootx.platform.common.spring.exception.RetryableException;
|
||||
import cn.bootx.platform.core.util.JsonUtil;
|
||||
import org.dromara.daxpay.channel.wechat.code.WechatPayCode;
|
||||
import org.dromara.daxpay.channel.wechat.entity.config.WechatPayConfig;
|
||||
import org.dromara.daxpay.channel.wechat.param.pay.WechatPayParam;
|
||||
import org.dromara.daxpay.channel.wechat.service.config.WechatPayConfigService;
|
||||
@@ -69,7 +70,7 @@ public class WechatPaySubV2Service {
|
||||
}
|
||||
// 微信公众号支付或者小程序支付
|
||||
else if (payMethodEnum == PayMethodEnum.JSAPI) {
|
||||
payBody = this.jsPay(payOrder, wechatPayParam.getOpenId(), config);
|
||||
payBody = this.jsPay(payOrder, wechatPayParam, config);
|
||||
}
|
||||
// 二维码支付
|
||||
else if (payMethodEnum == PayMethodEnum.QRCODE) {
|
||||
@@ -121,10 +122,15 @@ public class WechatPaySubV2Service {
|
||||
/**
|
||||
* 微信公众号支付或者小程序支付
|
||||
*/
|
||||
private String jsPay(PayOrder payOrder, String openId, WechatPayConfig wechatPayConfig) {
|
||||
private String jsPay(PayOrder payOrder, WechatPayParam wechatPayParam, WechatPayConfig wechatPayConfig) {
|
||||
WxPayService wxPayService = wechatPayConfigService.wxJavaSdk(wechatPayConfig);
|
||||
WxPayUnifiedOrderRequest request = this.buildRequest(payOrder, wechatPayConfig);
|
||||
request.setOpenid(openId);
|
||||
|
||||
if (Objects.equals(wechatPayParam.getOpenIdType(), WechatPayCode.SUB_OPENID)){
|
||||
request.setSubOpenid(wechatPayParam.getOpenId());
|
||||
} else {
|
||||
request.setOpenid(wechatPayParam.getOpenId());
|
||||
}
|
||||
try {
|
||||
var result = wxPayService.createOrder(WxPayConstants.TradeType.Specific.JSAPI, request);
|
||||
Map<String, String> map = this.buildJsapiResult(result);
|
||||
|
Reference in New Issue
Block a user