@lantsang/nestjs-wechat-pay
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

Nestjs 微信支付插件

注意:仍在开发中,目前仅在内部使用

使用说明

外部人员仅供参考,请不要用于生产环境,因此导致的事故后果请自行承担。

支持环境

  • TS target es2020
  • node >= 14.x
  • NestJS 7.x

安装

$ npm i @lantsang/nestjs-wechat-pay

or

$ yarn add @lantsang/nestjs-wechat-pay

推荐使用yarn

配置

同步方式

import { Module } from '@nestjs/common';
import { readFileSync } from 'fs';
import { WechatPayModule } from '@lantsang/nestjs-wechat-pay';

@Module({
  imports: [
    WechatPayModule.forRoot({
      appId: '微信支付应用ID',
      mchId: '微信支付商户ID',
      apiKeyV3: '微信商户APIv3密钥',
      publicKey: readFileSync('公钥路径'),
      privateKey: readFileSync('私钥路径')
    })
  ]
})
export class AppModule {}

异步方式

import { Module } from '@nestjs/common';
import { readFileSync } from 'fs';
import { WechatPayModule } from '@lantsang/nestjs-wechat-pay';
import { ConfigModule } from './config/config.module';
import { CONFIG_PROVIDER } from './config/constants/config.constant';
import { ConfigService } from './config/services/config.service';

@Module({
  imports: [
    WechatPayModule.forRootAsync({
      useFactory: (configService: ConfigService) => ({
        appId: configService.wechatPay.appId,
        mchId: configService.wechatPay.mchId,
        apiKeyV3: configService.wechatPay.apiKeyV3,
        publicKey: readFileSync(process.cwd() + configService.wechatPay.publicKeyPath),
        privateKey: readFileSync(process.cwd() + configService.wechatPay.privateKeyPath)
      }),
      inject: [CONFIG_PROVIDER]
    }),
    ConfigModule
  ]
})
export class AppModule {}

提示:异步注册方式采用的 ConfigModule 并不是 NestJS 自带的配置功能,而是我基于官方自己设计的一套,具体实现请参考笔记:NestJS配置模块设计

文档地址

Package Sidebar

Install

npm i @lantsang/nestjs-wechat-pay

Weekly Downloads

2

Version

1.0.2

License

MIT

Unpacked Size

329 kB

Total Files

79

Last publish

Collaborators

  • iricbing
  • lantsang