🎨【微信支付】公众号签约缺失执行签名方法,增加非必填参数判断;微信信h5纯签约接口,增加非必填字段判断

This commit is contained in:
ihao
2025-09-22 16:57:50 +00:00
committed by Binary Wang
parent 88bdd4a36e
commit 399f3648c0

View File

@@ -27,15 +27,21 @@ public class WxEntrustPapServiceImpl implements WxEntrustPapService {
@Override
public String mpSign(WxMpEntrustRequest wxMpEntrustRequest) throws WxPayException {
wxMpEntrustRequest.checkAndSign(payService.getConfig());
StringBuilder signStrTemp = new StringBuilder(payService.getPayBaseUrl() + "/papay/entrustweb");
signStrTemp.append("?appid=").append(wxMpEntrustRequest.getAppid());
signStrTemp.append("&contract_code=").append(wxMpEntrustRequest.getContractCode());
signStrTemp.append("&contract_display_account=").append(URLEncoder.encode(wxMpEntrustRequest.getContractDisplayAccount()));
signStrTemp.append("&mch_id=").append(wxMpEntrustRequest.getMchId()).append("&notify_url=").append(URLEncoder.encode(wxMpEntrustRequest.getNotifyUrl()));
signStrTemp.append("&plan_id=").append(wxMpEntrustRequest.getPlanId()).append("&outerid=").append(URLEncoder.encode(wxMpEntrustRequest.getOuterId()));
signStrTemp.append("&plan_id=").append(wxMpEntrustRequest.getPlanId());
signStrTemp.append("&request_serial=").append(wxMpEntrustRequest.getRequestSerial()).append("&timestamp=").append(wxMpEntrustRequest.getTimestamp());
signStrTemp.append("&version=").append(wxMpEntrustRequest.getVersion()).append("&return_web=").append(wxMpEntrustRequest.getReturnWeb()).append("&sign=").append(wxMpEntrustRequest.getSign());
if (StringUtils.isNotEmpty(wxMpEntrustRequest.getReturnWeb())) {
signStrTemp.append("&return_web=").append(wxMpEntrustRequest.getReturnWeb());
}
if (StringUtils.isNotEmpty(wxMpEntrustRequest.getOuterId())) {
signStrTemp.append("&outerid=").append(URLEncoder.encode(wxMpEntrustRequest.getOuterId()));
}
signStrTemp.append("&version=").append(wxMpEntrustRequest.getVersion()).append("&sign=").append(wxMpEntrustRequest.getSign());
return signStrTemp.toString();
}