0.0.6 • Published 21 days ago

@dallotech/nestjs-esewa v0.0.6

Weekly downloads
-
License
MIT
Repository
-
Last release
21 days ago

Introduction

This is simple wrapper for Esewa Payment. It supports Epay-V2 and transaction verification for Esewa SDK, but later more will be added. Just ping us or open pull request and contribute :)

Installation

$ npm i --save @dallotech/nestjs-esewa 
$ yarn add @dallotech/nestjs-esewa 

Importing module Async

import { EsewaModule } from '@dallotech/nestjs-esewa';
@Module({
  imports: [
      EsewaModule.registerAsync({
          imports: [ConfigModule],
          inject: [ConfigService],
          useFactory: (configService: ConfigService<AllConfig>) => ({
              productCode: configService.get("----your key-----", {infer: true}),
              paymentMode: configService.get("----your key-----", {infer: true}),
              secretKey: configService.get("----your key-----", {infer: true}),
              merchantId: configService.get("----your key-----", {infer: true}),
              merchantSecret: configService.get("----your key-----", {infer: true}),
          })
      }),
  ],
  providers: [],
  exports: [],
})
export class YourModule {}

Calling Init Method to initialize payment

import { EsewaService,EsewaRequestDto } from '@dallotech/nestjs-esewa';

@Injectable()
export class YourService {
  constructor(private esewaService: EsewaService) {}
    
    async initPayment(){
        //...your code
        const esewaRequestDto: EsewaRequestDto = {
            amount: 10,
            productServiceCharge: 0,
            productDeliveryCharge: 0,
            taxAmount: 0,
            totalAmount: 10,
            transactionUuid: 'random uuid of txn',
            successUrl: 'success return url of frontend',
            failureUrl: 'failure return url of frontend'
        };
        const initData = await this.esewaService.init(esewaRequestDto);
        //...use initData where required as use case
    
  }
}

Calling Verify Method for Epay-V2

import { EsewaService } from '@dallotech/nestjs-esewa';

@Injectable()
export class YourService {
  constructor(private esewaService: EsewaService) {}
    
    async verifyPayment(data){
        //...your code
        const {encodedData} = data;
        const response = await this.esewaService.verify({encodedData});
        //..your code can verify the response data with your business logic and response format
  }
}

Calling Verify Method for Esewa SDK

import { EsewaService,SparrowSmsRequestDto } from '@dallotech/nestjs-esewa';

@Injectable()
export class YourService {
  constructor(private esewaService: EsewaService) {}
    
    async verifyPayment(data){
        //...your code
        const {refId} = data;
        const response = await this.esewaService.verifyMobile({refId});
        //..your code can verify the response data with your business logic and response format
  }
}

License

This package is MIT licensed.

0.0.5

21 days ago

0.0.6

21 days ago

0.0.4

6 months ago

0.0.3

6 months ago

0.0.2

6 months ago