取totoalfee为实际值

This commit is contained in:
2025-08-28 10:46:13 +08:00
parent 0b1b84a721
commit 081a9491fd

View File

@ -259,6 +259,7 @@ public class WechatPayService {
reqData.put("total_fee", String.valueOf(paymentRecord.getTotalFee().setScale(2, RoundingMode.HALF_UP) .movePointRight(2) .intValueExact()));// 转换为分
reqData.put("refund_fee", String.valueOf(request.getRefundFee()));
reqData.put("notify_url",refundNotifyUrl);
BigDecimal totalFee = paymentRecord.getTotalFee();
// 创建动态配置
@ -282,7 +283,7 @@ public class WechatPayService {
// 记录退款信息到数据库
if ("SUCCESS".equals(result.get("return_code"))) {
recordRefundInfo(request, companyConfig, result);
recordRefundInfo(request, companyConfig, result,totalFee);
}
return result;
@ -291,13 +292,13 @@ public class WechatPayService {
/**
* 记录退款信息到数据库
*/
private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map<String, String> result) {
private void recordRefundInfo(RefundRequest request, CompanyWechatConfig companyConfig, Map<String, String> result,BigDecimal totalFee) {
try {
RefundRecord refundRecord = new RefundRecord();
refundRecord.setCompanyId(request.getCompanyId());
refundRecord.setOutTradeNo(request.getOutTradeNo());
refundRecord.setOutRefundNo(request.getOutRefundNo());
refundRecord.setTotalFee(new BigDecimal(request.getTotalFee()).divide(new BigDecimal(100))); // 转换为元
refundRecord.setTotalFee(totalFee);
refundRecord.setRefundFee(new BigDecimal(request.getRefundFee()).divide(new BigDecimal(100))); // 转换为元
refundRecord.setRefundDesc(request.getRefundDesc());
refundRecord.setCreateTime(new Date());