Skip to content

jmndao/naboopay-nodejs-sdk

 
 

Repository files navigation

NabooPay Node.js SDK

CI npm version

Node.js SDK for NabooPay payment gateway. Built with TypeScript for Senegal mobile money payments.

Features

  • TypeScript support with type definitions
  • Mobile money payments (Wave, Orange Money, Free Money)
  • Transaction management
  • Cashout operations
  • Automatic retry with error handling

Installation

npm install naboopay

Setup

Get your API token from the NabooPay dashboard and set it as an environment variable:

export NABOOPAY_API_KEY="your_api_token_here"

Quick Start

import { NabooPay, Wallet, ProductModel, TransactionRequest } from 'naboopay';

const client = new NabooPay();

// Create a transaction
const transaction = new TransactionRequest({
  method_of_payment: [Wallet.WAVE, Wallet.ORANGE_MONEY],
  products: [
    new ProductModel({
      name: 'T-shirt',
      category: 'clothing',
      amount: 10000,
      quantity: 1,
      description: 'Cotton T-shirt',
    }),
  ],
});

const response = await client.transaction.create(transaction);
console.log('Checkout URL:', response.checkout_url);

Usage Examples

Account Information

const accountInfo = await client.account.getInfo();
console.log('Balance:', accountInfo.balance);

Get Transactions

// Get all transactions
const transactions = await client.transaction.getAll();

// Get specific transaction
const transaction = await client.transaction.getOne('order_id');

Cashout

import { CashOutRequest } from 'naboopay';

// Wave cashout
const request = new CashOutRequest({
  full_name: 'John Doe',
  amount: 10000,
  phone_number: '+221701234567',
});
await client.cashout.wave(request);

Example

Run the complete usage example:

# Copy environment template
cp examples/.env.example examples/.env

# Add your credentials to examples/.env
# Then run the example
npm run example

Error Handling

import { AuthenticationError, APIError } from 'naboopay';

try {
  const response = await client.transaction.create(request);
} catch (error) {
  if (error instanceof AuthenticationError) {
    console.error('Invalid API token');
  } else if (error instanceof APIError) {
    console.error('API error:', error.message);
  }
}

Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run tests
npm test

# Run example
npm run example

License

MIT

Support

Contributors

  • @sudoping01 - Original Creator
  • @jmndao - Contributor

About

TypeScript SDK for NabooPay payment gateway - Senegal mobile money integration (Wave, Orange Money)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 98.4%
  • JavaScript 1.6%