Skip to content

Commit 38df25f

Browse files
committed
fix(comment): fix comments
1 parent d40a4af commit 38df25f

File tree

4 files changed

+19
-6
lines changed

4 files changed

+19
-6
lines changed

src/pay/alipay.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { AlipayCallbackQuery } from 'omniboxd/pay/types';
22
import { AlipayService } from 'omniboxd/pay/alipay.service';
33
import { Get, Post, Param, Query, Controller } from '@nestjs/common';
44
import { UserId } from 'omniboxd/decorators/user-id.decorator';
5+
import { Public } from 'omniboxd/auth/decorators/public.auth.decorator';
56

67
@Controller('api/v1/pay/alipay')
78
export class AlipayController {
@@ -17,6 +18,7 @@ export class AlipayController {
1718
return this.alipayService.transactions(userId, type, productId, returnUrl);
1819
}
1920

21+
@Public()
2022
@Post('callback')
2123
callback(@Query() query: AlipayCallbackQuery) {
2224
return this.alipayService.callback(query);

src/pay/alipay.service.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,17 +130,23 @@ export class AlipayService {
130130

131131
async query(userId: string, orderId: string) {
132132
const order = await this.ordersService.findById(userId, orderId);
133+
134+
if (order.status === OrderStatus.PAID) {
135+
return order;
136+
}
137+
133138
const response = await this.pay.curl('POST', '/v3/alipay/trade/query', {
134139
body: {
135140
out_trade_no: order.orderNo,
136141
query_options: ['trade_settle_info'],
137142
},
138143
});
139-
const alipayData = response as unknown as AlipayQueryResponse;
144+
const alipayData = response.data as unknown as AlipayQueryResponse;
140145
if (
141-
(alipayData.trade_status === AlipayTradeStatus.TRADE_SUCCESS ||
142-
alipayData.trade_status === AlipayTradeStatus.TRADE_FINISHED) &&
143-
order.status !== OrderStatus.PAID
146+
[
147+
AlipayTradeStatus.TRADE_SUCCESS,
148+
AlipayTradeStatus.TRADE_FINISHED,
149+
].includes(alipayData.trade_status)
144150
) {
145151
const orderAmountInYuan = (order.amount / 100).toFixed(2);
146152
if (alipayData.total_amount !== orderAmountInYuan) {
@@ -156,8 +162,7 @@ export class AlipayService {
156162

157163
if (
158164
alipayData.trade_status === AlipayTradeStatus.TRADE_CLOSED &&
159-
order.status !== OrderStatus.CLOSED &&
160-
order.status !== OrderStatus.PAID
165+
order.status !== OrderStatus.CLOSED
161166
) {
162167
await this.ordersService.close(order.orderNo);
163168
}

src/pay/weixin.controller.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
HttpStatus,
1313
} from '@nestjs/common';
1414
import { AppException } from 'omniboxd/common/exceptions/app.exception';
15+
import { Public } from 'omniboxd/auth/decorators/public.auth.decorator';
1516
import { UserId } from 'omniboxd/decorators/user-id.decorator';
1617
import { getClientPublicIp } from 'omniboxd/pay/utils';
1718
import { I18nService } from 'nestjs-i18n';
@@ -47,6 +48,7 @@ export class WeixinController {
4748
);
4849
}
4950

51+
@Public()
5052
@Post('callback')
5153
@HttpCode(204) // Return 204 No Content on success as per WeChat Pay V3 API docs
5254
callback(@Body() body: WeixinCallbackBody) {

test/jest-e2e-setup.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,10 @@ export default async () => {
7171
process.env.OBB_MAIL_FROM = '"Test <test@example.com>"';
7272
process.env.OBB_WIZARD_BASE_URL = 'http://localhost:8080';
7373

74+
process.env.OBB_ALIPAY_APPID = 'test-alipay-appid';
75+
process.env.OBB_ALIPAY_CERT = 'test-alipay-app-cert';
76+
process.env.OBB_ALIPAY_KEY = 'test-alipay-app-key';
77+
7478
// WeChat Pay test configuration
7579
process.env.OBB_WECHAT_APP_KEY = 'test-wechat-app-key';
7680
process.env.OBB_WECHAT_PAY_APPID = 'test-wechat-pay-appid';

0 commit comments

Comments
 (0)