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