|
@@ -566,10 +566,11 @@ public class PayScoreServiceImpl implements PayScoreService {
|
|
|
request.setOutOrderNo(order.getPayScoreOrderId());
|
|
request.setOutOrderNo(order.getPayScoreOrderId());
|
|
|
request.setTransactionId(order.getTransactionId());
|
|
request.setTransactionId(order.getTransactionId());
|
|
|
request.setRefundAmount(actualRefundAmount);
|
|
request.setRefundAmount(actualRefundAmount);
|
|
|
- // 使用 paidAmount 作为 total,避免 order.totalAmount 被回调修改后
|
|
|
|
|
- // 与微信侧原始交易金额不一致导致 INVALID_REQUEST
|
|
|
|
|
- request.setTotalAmount(order.getPaidAmount() != null ? order.getPaidAmount() : order.getTotalAmount());
|
|
|
|
|
|
|
+ request.setTotalAmount(order.getTotalAmount());
|
|
|
request.setReason(reason != null ? reason : "用户申请退款");
|
|
request.setReason(reason != null ? reason : "用户申请退款");
|
|
|
|
|
+ // 每次退款生成唯一 out_refund_no,避免重试时参数不一致导致微信拒绝
|
|
|
|
|
+ request.setOutRefundNo(PaymentConstants.REFUND_ORDER_PREFIX
|
|
|
|
|
+ + order.getPayScoreOrderId() + System.currentTimeMillis());
|
|
|
|
|
|
|
|
PayScoreResult result = payScoreStrategy.refundServiceOrder(request);
|
|
PayScoreResult result = payScoreStrategy.refundServiceOrder(request);
|
|
|
|
|
|