@candioto/nestjs-asaas
v0.4.0
Published
Unofficial Asaas Payment Gateway NestJS module
Downloads
46
Maintainers
Readme
Unofficial Asaas Payment Gateway NestJS module
❗Module and documentation under development.
A simple NestJS module that uses Eduardo Bernardo's sdk behind the scenes. It makes easier to setup and integrate Asaas to a NestJS application.
Instalation
npm install --save @candioto/nestjs-asaas
Getting Started
To setup the module with your credentials, import the module into app.module.ts
:
import { Module } from '@nestjs-common';
import { AsaasModule } from '@candioto/nestjs-asaas';
@Module({
imports: [
AsaasModule.forRoot({
apiKey: 'my_api_key',
sandbox: false,
}),
],
})
export class AppModule {}
Or your can use the async way:
import { Module } from '@nestjs-common';
import { AsaasModule } from '@candioto/nestjs-asaas';
import { ConfigModule, ConfigService } from '@nestjs/nestjs-config';
@Module({
imports: [
AsaasModule.forRootAsync({
imports: [ConfigModule],
useFactory: async (config: ConfigService) => ({
apiKey: config.get('ASAAS_API_KEY'),
sandbox: config.get('ASAAS_SANDBOX'),
}),
inject: [ConfigService],
})
]
})
export class AppModule {}
To use into your code, just inject the Asaas Client using the custom decorator:
import { Injectable } from '@nestjs/common';
import { InjectAsaas, AsaasService } from '@candioto/nestjs-asaas';
@Injectable()
export class AppService {
public constructor(@InjectAsaas() private readonly asaas: AsaasService) {}
}
Now, you can use all the Asaas client just like in Eduardo Bernardo's sdk. For example:
import { Injectable } from '@nestjs/common';
import { InjectAsaas, AsaasService } from '@candioto/nestjs-asaas';
@Injectable()
export class AppService {
public constructor(@InjectAsaas() private readonly asaas: AsaasService) {}
async createCustomer(customerData: any) {
// Your logic here
await this.asaas.customers.new(customerData);
// Your logic continues here
}
async pay(paymentData: any) {
// Your logic here
await this.asaas.payments.create(paymentData);
// Your logic continues here
}
}
See the sdk docs and Asaas official documentation to learn more about the integration
Author
Contributing
I would greatly appreciate any contributions to make this project better. Please make sure to follow the below guidelines before getting your hands dirty.
- Fork the repository
- Create your branch (
git checkout -b my-branch
) - Commit any changes to your branch
- Push your changes to your remote branch
- Open a pull request