I am trying to use Razorpay Nodejs SDK in Nest JS application
Here are 2 ways that I tried to use the razorpay instance
Method 1
@Injectable()
export class OrdersService {
private razorpay: Razorpay;
constructor(
private readonly logger: Logger,
@InjectRepository(BreOrders)
private readonly orderRepository: Repository<BreOrders>,
) {
this.razorpay = new Razorpay({
key_id: "YOUR_KEY_ID",
key_secret: "YOUR_KEY_SECRET",
});
}
}
which gives error TypeError: razorpay_1.default is not a constructor
Method 2
@Module({
imports: [TypeOrmModule.forFeature([BreOrders]), EmailModule],
controllers: [OrdersController],
providers: [
{
provide: Razorpay,
useFactory: () =>
new Razorpay({
key_id: process.env.RAZORPAY_KEY,
key_secret: process.env.RAZORPAY_SECRET,
}),
},
OrdersService,
Logger,
],
exports: [OrdersService],
})
export class OrdersModule {}
export class OrdersService {
constructor(
private readonly logger: Logger,
@InjectRepository(BreOrders)
private readonly orderRepository: Repository<BreOrders>,
private readonly razorpay: Razorpay,
) {}
which gives error ERROR [ExceptionHandler] Nest can't resolve dependencies of the OrdersService (Logger, BreOrdersRepository, ?). Please make sure that the argument dependency at index [2] is available in the OrdersModule context.