ソースを参照

修改退款接口

test 7 ヶ月 前
コミット
b14378994e

+ 4 - 4
src/modules/dj/service/channels/sunpay.ts

@@ -330,12 +330,12 @@ export class SunPayService extends BaseService {
         'SunPay-Sign': sign
       }
     });
-    this.logger.info('退款接口查询返回', param, JSON.stringify(res.data));
+    this.logger.info('退款接口查询返回', QUERY_REFUND_URL.replace('{orderNo}', param.order_no), JSON.stringify(res.data));
     const { is_success, msg, data = {} } = res.data;
     if (is_success) {
-      const { refund_detail = [] } = data;
-      const bean = refund_detail.find(item => {
-        item.out_refund_no = refund.refundNo
+      const { refund_details = [] } = data;
+      const bean = refund_details.find(item => {
+        return item.out_refund_no === refund.refundNo
       });
       if (bean && bean.status === 'SUCCESS') {
         return {

+ 5 - 8
src/modules/dj/service/refund.ts

@@ -59,9 +59,8 @@ export class RefundService extends BaseService {
     }
     const wallet = await this.walletService.queryByMchIdAndCurrency(refund.mchId, refund.currency);
     const { balance = 0, freeze = 0 } = wallet;
-    const totalAmount = +refund.amount + +refund.charge
     const withdrawAmount = +balance - Math.abs(+freeze)
-    if (+totalAmount > +withdrawAmount) {
+    if (+refund.amount > +withdrawAmount) {
       throw new Error('当前商户余额不足,无法发起退款!当前商户可提现余额:' + withdrawAmount);
     }
     await this.refundEntity.insert(refund);
@@ -71,7 +70,7 @@ export class RefundService extends BaseService {
       type: 5,
       amount: 0,
       currency: refund.currency,
-      freeze: totalAmount
+      freeze: +refund.amount
     });
     try {
       this.logger.error('发起退款', refund.orderNo, refund.refundNo);
@@ -119,7 +118,6 @@ export class RefundService extends BaseService {
     refund.remark = message;
     refund.status = 2;
     refund.updateTime = new Date();
-    const totalAmount = +refund.amount + +refund.charge
     await this.refundEntity.update(refund.id, refund);
     await this.walletService.updateBalance({
       orderNo: refund.orderNo,
@@ -127,7 +125,7 @@ export class RefundService extends BaseService {
       type: 5,
       amount: 0,
       currency: refund.currency,
-      freeze: -totalAmount
+      freeze: -refund.amount
     });
     return true;
   }
@@ -142,15 +140,14 @@ export class RefundService extends BaseService {
     refund.updateTime = new Date();
     refund.date = data.date || new Date();
     refund.refundTraceNo = data.refundTraceNo;
-    const totalAmount = +refund.amount + +refund.charge
     await this.refundEntity.update(refund.id, refund);
     await this.walletService.updateBalance({
       orderNo: refund.orderNo,
       mchId: refund.mchId,
       type: 5,
-      amount: -totalAmount,
+      amount: -refund.amount,
       currency: refund.currency,
-      freeze: -totalAmount
+      freeze: -refund.amount
     });
     return true;
   }