refactor(payment): 移除微信转账服务中的用户确认字段
- 移除了 initiateSingleTransferInternal 方法中的 userConfirm 参数 - 删除了 TransferSceneReportInfo 内部类中的 userConfirm 字段 - 移除了请求体中设置 userConfirm 字段的逻辑 - 更新了日志输出格式,移除 userConfirm 相关信息 - 添加注释说明微信侧对未定义字段的严格校验规则 - 保持方法兼容性以支持小程序拉起确认页功能
This commit is contained in:
@@ -83,7 +83,7 @@ public class WxTransferService {
|
|||||||
String outBillNo,
|
String outBillNo,
|
||||||
String remark,
|
String remark,
|
||||||
String userName) throws PaymentException {
|
String userName) throws PaymentException {
|
||||||
return initiateSingleTransferInternal(tenantId, openid, amountYuan, outBillNo, remark, userName, false);
|
return initiateSingleTransferInternal(tenantId, openid, amountYuan, outBillNo, remark, userName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -97,7 +97,9 @@ public class WxTransferService {
|
|||||||
String outBillNo,
|
String outBillNo,
|
||||||
String remark,
|
String remark,
|
||||||
String userName) throws PaymentException {
|
String userName) throws PaymentException {
|
||||||
return initiateSingleTransferInternal(tenantId, openid, amountYuan, outBillNo, remark, userName, true);
|
// 注意:微信侧会严格校验请求体字段,传入未定义字段(如 user_confirm)会直接 400(PARAM_ERROR)。
|
||||||
|
// 此处不再向请求体写入 user_confirm,仅保留该方法用于兼容调用方(若微信侧返回 package_info,可供小程序拉起确认页)。
|
||||||
|
return initiateSingleTransferInternal(tenantId, openid, amountYuan, outBillNo, remark, userName);
|
||||||
}
|
}
|
||||||
|
|
||||||
private TransferBillsResponse initiateSingleTransferInternal(Integer tenantId,
|
private TransferBillsResponse initiateSingleTransferInternal(Integer tenantId,
|
||||||
@@ -105,8 +107,7 @@ public class WxTransferService {
|
|||||||
BigDecimal amountYuan,
|
BigDecimal amountYuan,
|
||||||
String outBillNo,
|
String outBillNo,
|
||||||
String remark,
|
String remark,
|
||||||
String userName,
|
String userName) throws PaymentException {
|
||||||
boolean userConfirm) throws PaymentException {
|
|
||||||
|
|
||||||
if (tenantId == null) {
|
if (tenantId == null) {
|
||||||
throw PaymentException.paramError("租户ID不能为空");
|
throw PaymentException.paramError("租户ID不能为空");
|
||||||
@@ -175,8 +176,6 @@ public class WxTransferService {
|
|||||||
request.setTransferAmount(amountFen);
|
request.setTransferAmount(amountFen);
|
||||||
request.setTransferRemark(limitLen(remark, 32));
|
request.setTransferRemark(limitLen(remark, 32));
|
||||||
request.setTransferSceneReportInfos(sceneReportInfos);
|
request.setTransferSceneReportInfos(sceneReportInfos);
|
||||||
// 小程序拉起收款确认页:需要 user_confirm=true,微信会在响应中返回 package_info
|
|
||||||
request.setUserConfirm(userConfirm ? Boolean.TRUE : null);
|
|
||||||
log.debug("微信商家转账(升级版)请求参数: tenantId={}, outBillNo={}, transferSceneId={}, sceneReportInfosCount={}",
|
log.debug("微信商家转账(升级版)请求参数: tenantId={}, outBillNo={}, transferSceneId={}, sceneReportInfosCount={}",
|
||||||
tenantId, outBillNo, transferSceneId, sceneReportInfos.size());
|
tenantId, outBillNo, transferSceneId, sceneReportInfos.size());
|
||||||
|
|
||||||
@@ -219,9 +218,8 @@ public class WxTransferService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
TransferBillsResponse response = httpResponse.getServiceResponse();
|
TransferBillsResponse response = httpResponse.getServiceResponse();
|
||||||
log.info("微信商家转账已受理(升级版): tenantId={}, outBillNo={}, userConfirm={}, transferBillNo={}, state={}",
|
log.info("微信商家转账已受理(升级版): tenantId={}, outBillNo={}, transferBillNo={}, state={}",
|
||||||
tenantId, outBillNo,
|
tenantId, outBillNo,
|
||||||
userConfirm,
|
|
||||||
response != null ? response.getTransferBillNo() : null,
|
response != null ? response.getTransferBillNo() : null,
|
||||||
response != null ? response.getState() : null);
|
response != null ? response.getState() : null);
|
||||||
return response;
|
return response;
|
||||||
@@ -281,10 +279,6 @@ public class WxTransferService {
|
|||||||
private String userName;
|
private String userName;
|
||||||
private String notifyUrl;
|
private String notifyUrl;
|
||||||
private List<TransferSceneReportInfo> transferSceneReportInfos;
|
private List<TransferSceneReportInfo> transferSceneReportInfos;
|
||||||
/**
|
|
||||||
* 是否需要用户在小程序确认页确认收款;为 true 时,微信会返回 package_info,用于 wx.requestMerchantTransfer。
|
|
||||||
*/
|
|
||||||
private Boolean userConfirm;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@lombok.Data
|
@lombok.Data
|
||||||
|
|||||||
Reference in New Issue
Block a user