From 300329739bd1bce1a630062b7293ac5c7f4c3b62 Mon Sep 17 00:00:00 2001 From: morteza-mortezai Date: Mon, 15 Jun 2026 12:09:33 +0330 Subject: [PATCH] verify payment --- .../payments/controllers/payments.controller.ts | 15 +++------------ src/modules/payments/services/payments.service.ts | 11 ++++------- 2 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/modules/payments/controllers/payments.controller.ts b/src/modules/payments/controllers/payments.controller.ts index 250c709..dc82151 100644 --- a/src/modules/payments/controllers/payments.controller.ts +++ b/src/modules/payments/controllers/payments.controller.ts @@ -124,22 +124,13 @@ export class PaymentsController { @UseGuards(AdminAuthGuard) @Permissions(Permission.MANAGE_PAYMENTS) @ApiBearerAuth() - @Post('admin/payments/verify-cash-method/:paymentId') - @ApiOperation({ summary: 'Verify cash payment ' }) + @Post('admin/payments/verify/:paymentId') + @ApiOperation({ summary: 'Verify cash/creditcard payment ' }) @ApiParam({ name: 'paymentId', type: 'string', description: 'Payment ID' }) verifyCashPayment(@Param('paymentId') paymentId: string) { - return this.paymentsService.verifyCashPayment(paymentId); + return this.paymentsService.verifyCashAnCreditPayment(paymentId); } - @UseGuards(AdminAuthGuard) - @Permissions(Permission.MANAGE_PAYMENTS) - @ApiBearerAuth() - @Post('admin/payments/verify-credit-card-method/:paymentId') - @ApiOperation({ summary: 'Verify credit card payment' }) - @ApiParam({ name: 'paymentId', type: 'string', description: 'Payment ID' }) - verifyCreditCardPayment(@Param('paymentId') paymentId: string) { - return this.paymentsService.verifyCreditCardPayment(paymentId); - } @UseGuards(AdminAuthGuard) @Permissions(Permission.VIEW_REPORTS) diff --git a/src/modules/payments/services/payments.service.ts b/src/modules/payments/services/payments.service.ts index 66cb2a4..7948852 100644 --- a/src/modules/payments/services/payments.service.ts +++ b/src/modules/payments/services/payments.service.ts @@ -257,17 +257,14 @@ export class PaymentsService { ); } - async verifyCashPayment(id: string): Promise { - return this.verifyManualPayment(id, PaymentMethodEnum.Cash, PaymentMessage.PAYMENT_METHOD_NOT_CASH); + async verifyCashAnCreditPayment(id: string): Promise { + return this.verifyManualPayment(id, [PaymentMethodEnum.Cash, PaymentMethodEnum.CreditCard], PaymentMessage.PAYMENT_METHOD_NOT_CASH); } - async verifyCreditCardPayment(id: string): Promise { - return this.verifyManualPayment(id, PaymentMethodEnum.CreditCard, PaymentMessage.PAYMENT_METHOD_NOT_CREDIT_CARD); - } private async verifyManualPayment( id: string, - expectedMethod: PaymentMethodEnum, + expectedMethods: PaymentMethodEnum[], wrongMethodMessage: PaymentMessage, ): Promise { const payment = await this.em.transactional(async em => { @@ -275,7 +272,7 @@ export class PaymentsService { if (!payment) { throw new NotFoundException(PaymentMessage.PAYMENT_NOT_FOUND); } - if (payment.method !== expectedMethod) { + if (!expectedMethods.includes(payment.method)) { throw new BadRequestException(wrongMethodMessage); } if (payment.status === PaymentStatusEnum.Paid) {