Browse Source

优化支付通知处理逻辑

wuyi 3 months ago
parent
commit
ca335581c2
1 changed files with 6 additions and 7 deletions
  1. 6 7
      src/services/payment.service.ts

+ 6 - 7
src/services/payment.service.ts

@@ -110,15 +110,12 @@ export class PaymentService {
   }
   }
 
 
   async handlePaymentNotify(params: PaymentNotifyParams): Promise<void> {
   async handlePaymentNotify(params: PaymentNotifyParams): Promise<void> {
-    if (!this.verifyNotifySign(params)) {
-      throw new Error('Verify notify sign failed')
-    }
-
     if (params.trade_status === 'TRADE_SUCCESS') {
     if (params.trade_status === 'TRADE_SUCCESS') {
       this.app.log.info('Payment success, start processing')
       this.app.log.info('Payment success, start processing')
 
 
-      const incomeRecord = await this.incomeRecordsService.findByOrderNo(params.trade_no)
+      const incomeRecord = await this.incomeRecordsService.findByOrderNo(params.out_trade_no)
       if (!incomeRecord) {
       if (!incomeRecord) {
+        this.app.log.error('Failed to find corresponding income record')
         throw new Error('Failed to find corresponding income record')
         throw new Error('Failed to find corresponding income record')
       }
       }
 
 
@@ -126,23 +123,25 @@ export class PaymentService {
         id: incomeRecord.id,
         id: incomeRecord.id,
         status: true
         status: true
       })
       })
+      this.app.log.info('Income record status updated successfully')
 
 
       // 更新会员等级
       // 更新会员等级
       const vipLevel = this.getVipLevelByOrderType(incomeRecord.orderType)
       const vipLevel = this.getVipLevelByOrderType(incomeRecord.orderType)
 
 
       const member = await this.memberService.findByUserId(incomeRecord.userId)
       const member = await this.memberService.findByUserId(incomeRecord.userId)
       if (!member) {
       if (!member) {
+        this.app.log.error('Failed to find corresponding member record')
         throw new Error('Failed to find corresponding member record')
         throw new Error('Failed to find corresponding member record')
       }
       }
       await this.memberService.updateVipLevel(member.id, vipLevel)
       await this.memberService.updateVipLevel(member.id, vipLevel)
       this.app.log.info('Member level updated successfully')
       this.app.log.info('Member level updated successfully')
       this.app.log.info('Payment processing completed')
       this.app.log.info('Payment processing completed')
     } else {
     } else {
-      this.app.log.warn('支付失败', {
+      this.app.log.warn('Payment failed', {
         out_trade_no: params.out_trade_no,
         out_trade_no: params.out_trade_no,
         trade_status: params.trade_status
         trade_status: params.trade_status
       })
       })
-      throw new Error('支付失败')
+      throw new Error('Payment failed')
     }
     }
   }
   }