diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java index 951c1d5a8c038d975d523bd9fc2a2ac00b978616..8a90ea3500e2ee9f3ef8f1b6ce99d97e4eb551f0 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxEntrustPapServiceImpl.java @@ -10,6 +10,7 @@ import com.github.binarywang.wxpay.util.SignUtils; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.util.json.WxGsonBuilder; +import org.apache.commons.lang3.StringUtils; import java.net.URLEncoder; @@ -65,8 +66,13 @@ public class WxEntrustPapServiceImpl implements WxEntrustPapService { strBuilder.append("&contract_code=").append(wxH5EntrustRequest.getContractCode()); strBuilder.append("&contract_display_account=").append(URLEncoder.encode(wxH5EntrustRequest.getContractDisplayAccount())); strBuilder.append("&mch_id=").append(wxH5EntrustRequest.getMchId()).append("¬ify_url=").append(URLEncoder.encode(wxH5EntrustRequest.getNotifyUrl())); - strBuilder.append("&plan_id=").append(wxH5EntrustRequest.getPlanId()).append("&outerid=").append(URLEncoder.encode(wxH5EntrustRequest.getOuterId())); - strBuilder.append("&return_appid=").append(wxH5EntrustRequest.getReturnAppid()); + strBuilder.append("&plan_id=").append(wxH5EntrustRequest.getPlanId()); + if (StringUtils.isNotEmpty(wxH5EntrustRequest.getOuterId())) { + strBuilder.append("&outerid=").append(URLEncoder.encode(wxH5EntrustRequest.getOuterId())); + } + if (StringUtils.isNotEmpty(wxH5EntrustRequest.getReturnAppid())) { + strBuilder.append("&return_appid=").append(wxH5EntrustRequest.getReturnAppid()); + } strBuilder.append("&clientip=").append(wxH5EntrustRequest.getClientIp()); strBuilder.append("&request_serial=").append(wxH5EntrustRequest.getRequestSerial()).append("×tamp=").append(wxH5EntrustRequest.getTimestamp()); strBuilder.append("&version=").append(wxH5EntrustRequest.getVersion()).append("&sign=").append(sign);