docs: update ns-paystack
This commit is contained in:
parent
1847b534d3
commit
55f8b025d4
3 changed files with 167 additions and 8 deletions
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2023 bp-devtools
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
|
@ -31,9 +31,6 @@ To get started with the bp-devtools monorepo, follow these steps:
|
|||
### Angular Libraries
|
||||
|
||||
1. **angular-library1**: Description of library1 for Angular.
|
||||
- Features:
|
||||
- Feature 1
|
||||
- Feature 2
|
||||
- Usage:
|
||||
- Installation: `npm install @bp-devtools/angular-library1`
|
||||
- Documentation: [Link to documentation](https://github.com/bp-devtools/bp-devtools/tree/main/libraries/angular-library1)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,152 @@
|
|||
# ns-paystack
|
||||
|
||||
This library was generated with [Nx](https://nx.dev).
|
||||
The wrapper provides a convenient way to integrate Paystack payment functionality into your NestJS applications.
|
||||
|
||||
## Building
|
||||
## Installation
|
||||
|
||||
Run `nx build ns-paystack` to build the library.
|
||||
```shell
|
||||
npm install @bp-devtools/ns-paystack
|
||||
```
|
||||
|
||||
## Running unit tests
|
||||
or
|
||||
|
||||
Run `nx test ns-paystack` to execute the unit tests via [Jest](https://jestjs.io).
|
||||
```shell
|
||||
yarn add @bp-devtools/ns-paystack
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
To use the ns-paystack, you need to provide your Paystack API key. You can obtain the API key from the Paystack
|
||||
dashboard. Once you have the API key, you can configure the wrapper in your NestJS application.
|
||||
|
||||
```typescript
|
||||
import { Module } from '@nestjs/common';
|
||||
|
||||
import { NsPaystackModule } from '@bp-devtools/ns-paystack';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
import { TransactionsService } from './transactions/services/transactions.service';
|
||||
import { TransactionController } from './transactions/controllers/transaction.controller';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
NsPaystackModule.register({
|
||||
secretKey: 'PAYSTACK_SECRET_KEY'
|
||||
})
|
||||
],
|
||||
})
|
||||
export class AppModule {
|
||||
}
|
||||
```
|
||||
|
||||
### Using async registration to access environment variables
|
||||
|
||||
```typescript
|
||||
import { Module } from '@nestjs/common';
|
||||
|
||||
import { NsPaystackModule } from '@bp-devtools/ns-paystack';
|
||||
import { ConfigService } from '@nestjs/config';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
NsPaystackModule.registerAsync({
|
||||
useFactory: (configService: ConfigService) => {
|
||||
return {
|
||||
secretKey: configService.get('PAYSTACK_SECRET_KEY')
|
||||
};
|
||||
},
|
||||
inject: [ConfigService]
|
||||
})
|
||||
]
|
||||
})
|
||||
export class AppModule {
|
||||
}
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
#### In Service
|
||||
|
||||
```typescript
|
||||
import { Injectable } from '@nestjs/common';
|
||||
import {
|
||||
PsTransactionsService,
|
||||
PsInitializeTransactionRequestModel,
|
||||
PsInitializeTransactionResponseModel,
|
||||
} from '@bp-devtools/ns-paystack';
|
||||
|
||||
@Injectable()
|
||||
export class TransactionsService {
|
||||
constructor(
|
||||
private readonly psTransactionsService: PsTransactionsService
|
||||
) {
|
||||
}
|
||||
|
||||
initializeTransaction(
|
||||
payload: PsInitializeTransactionRequestModel
|
||||
): Promise<PsInitializeTransactionResponseModel> {
|
||||
return this.psTransactionsService.initializeTransaction(payload);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### In Controller
|
||||
|
||||
```typescript
|
||||
import { Body, Controller, Post } from '@nestjs/common';
|
||||
import {
|
||||
PsFetchTransactionResponseModel,
|
||||
PsInitializeTransactionRequestModel,
|
||||
PsInitializeTransactionResponseModel,
|
||||
} from '@bp-devtools/ns-paystack';
|
||||
import { TransactionsService } from '../services/transactions.service';
|
||||
|
||||
@Controller('transaction')
|
||||
export class TransactionController {
|
||||
constructor(private readonly transactionsService: TransactionsService) {
|
||||
}
|
||||
|
||||
@Post('initialize')
|
||||
initialize(
|
||||
@Body() payload: PsInitializeTransactionRequestModel
|
||||
): Promise<PsInitializeTransactionResponseModel> {
|
||||
return this.transactionsService.initializeTransaction(payload);
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### API PROGRESS
|
||||
|
||||
- [ ] Transactions ⏳ (in progress)
|
||||
- [ ] Transaction Splits
|
||||
- [ ] Terminal
|
||||
- [ ] Customers
|
||||
- [ ] Dedicated Virtual Accounts
|
||||
- [ ] Apple Pay
|
||||
- [ ] Subaccounts
|
||||
- [ ] Plans
|
||||
- [ ] Subscriptions
|
||||
- [ ] Products
|
||||
- [ ] Payment Pages
|
||||
- [ ] Payment Requests
|
||||
- [ ] Settlements
|
||||
- [ ] Transaction Recipients
|
||||
- [ ] Transfers
|
||||
- [ ] Transfers Control
|
||||
- [ ] Bulk Charges
|
||||
- [ ] Integration
|
||||
- [ ] Charge
|
||||
- [ ] Disputes
|
||||
- [ ] Refunds
|
||||
- [ ] Verification
|
||||
- [ ] Miscellaneous
|
||||
|
||||
## Contributing
|
||||
cd
|
||||
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a
|
||||
pull request on the GitHub repository.
|
||||
|
||||
## License
|
||||
|
||||
The bp-devtools monorepo is released under
|
||||
the [MIT License](https://github.com/bp-devtools/bp-devtools/blob/main/LICENSE). Please make sure you understand its
|
||||
terms and conditions when using the libraries and tools provided in this repository.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue