Nguồn tài liệu hữu ích:
- vnpay.js.org - Tài liệu chi tiết của thư viện
- sandbox.vnpayment.vn/apis - Tài liệu tích hợp chính thức từ VNPay
# NPM
npm install nestjs-vnpay vnpay
# Yarn
yarn add nestjs-vnpay vnpay
# PNPM
pnpm install nestjs-vnpay vnpay
import { Module } from '@nestjs/common';
import { VnpayModule } from 'nestjs-vnpay';
import { ignoreLogger } from 'vnpay';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [
VnpayModule.register({
tmnCode: 'YOUR_TMN_CODE',
secureSecret: 'YOUR_SECURE_SECRET',
vnpayHost: 'https://sandbox.vnpayment.vn',
// Cấu hình tùy chọn
testMode: true, // Chế độ test (ghi đè vnpayHost thành sandbox nếu là true)
hashAlgorithm: 'SHA512', // Thuật toán mã hóa
enableLog: true, // Bật/tắt ghi log
loggerFn: ignoreLogger, // Hàm xử lý log tùy chỉnh
})
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
import { Module } from '@nestjs/common';
import { ConfigModule, ConfigService } from '@nestjs/config';
import { VnpayModule } from 'nestjs-vnpay';
import { ignoreLogger } from 'vnpay';
import { AppController } from './app.controller';
import { AppService } from './app.service';
@Module({
imports: [
ConfigModule.forRoot({
envFilePath: '.env',
}),
VnpayModule.registerAsync({
imports: [ConfigModule],
useFactory: async (configService: ConfigService) => ({
secureSecret: configService.getOrThrow<string>('VNPAY_SECURE_SECRET'),
tmnCode: configService.getOrThrow<string>('VNPAY_TMN_CODE'),
loggerFn: ignoreLogger,
}),
inject: [ConfigService],
}),
],
controllers: [AppController],
providers: [AppService],
})
export class AppModule {}
import { Injectable } from '@nestjs/common';
import { VnpayService } from 'nestjs-vnpay';
@Injectable()
export class AppService {
constructor(private readonly vnpayService: VnpayService) {}
async getBankList() {
return this.vnpayService.getBankList();
}
/* ... các phương thức khác ... */
}
nestjs-vnpay là một dự án mã nguồn mở
Nếu bạn thấy thư viện hữu ích:
- Tặng sao ⭐️ trên GitHub
- Các đóng góp luôn được đón nhận! Hãy tạo một issue hoặc pull request nếu bạn có bất kỳ đề xuất, cải thiện hoặc câu hỏi nào.