npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

chimoneyjs

v1.2.0

Published

node sdk for Chimoney api by the community. Maintained by Awe Ayomidipupo"

Downloads

8

Readme

Chimoneyjs

Chimoneyjs is a js wrapper for Chimoney

Getting Started

  • Register with Chimoney

  • Request for API KEY from support

  • set Your "CHIMONEY_API_KEY" environment variable You can use a .env file as shown below to set your API key

    CHIMONEY_API_KEY = "YOUR API KEY"

Installing

- npm install chimoneyjs

Usage

Using chimoneyjs

There are two ways of setting your API key.

  • You can export it as an environment variable as mentioned above (recommended)
  • You can pass it as an argument when initialising chimoney
// Initialise chimoney without api key (recommended)
const chimoney = require("chimoneyjs")();

// Initialise chimoney with api key
require("dotenv").config();
const chimoney = require("chimoneyjs")(process.env.API_KEY);

The issue with the latter is that you'd have to initialise your api key whenever you import the package. For this reason we recommend exporting your apiKey as an environment variables

Full Example

const { account, wallet } = require("chimoneyjs")();

account
  .getAllTransactions()
  .then((response) => console.log(response)) // model of response {status:"success", data:...}
  .catch((err) => console.log(err));

API

Every function returns the response body as received from the Chi Money API. Ideally each response is an object with status and data properties. status always has a value of "success". For more information about the responses visit ChiMoneyAPI documentation

// sample response
{
  status: "success",
  data: {
        amountInUSD: "20",
        destinationCurrency: "NGN",
        amountInDestinationCurrency: 11000,
        validUntil: "2022-10-18T22:46:20.616Z"
      }
}

Using the Account API

const { account } = require("chimoneyjs")();

getTransactionsByIssueID(issueID, subAccount)

For more information visit Chi Money API

This function gets all transactions by IssueID

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | issueID | string | | The issueID of the transaction | | subAccount | string | null | The subAccount of the transaction |

getAllTransactions(subAccount)

For more information visit Chi Money API

This functions returns a list of transactions by account

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | subAccount | string | null | The subAccount of the transaction |

accountTransfer(receiver, amount, wallet, subAccount)

For more information visit Chi Money API

This transaction transfers funds from wallet to receiver

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | receiver | string | | The receiver of the funds | | amount | number | | The amount of funds | | wallet | string | | The wallet to be transfered from | | subAccount | string | null | The subAccount of the transaction |

deleteUnpaidTransaction(chiRef, subAccount)

For more information visit Chi Money API

This function deletes an unpaid transaction

Returns: The response from the ChiMoney API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | chiRef | string | | The ID of the transaction | | subAccount | string | null | The subAccount of the transaction |

getTransactionByID(transctionId, subAccount)

For more information visit Chi Money API

This function gets a transaction by ID

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ------------ | ------------------- | ----------------- | --------------------------------- | | transctionId | string | | The ID of the transaction | | subAccount | string | null | The subAccount of the transaction |

Using the Info API

const { info } = require("chimoneyjs")();

airtimeCountries()

For more information visit Chi Money API

This function returns a list of countries that support airtime

Returns: The response from Chi Money API

assets()

For more information visit Chi Money API

This function returns a list of supported assets

Returns: The response from the Chi Money API

banks(country)

For more information visit Chi Money API

Returns: The response from Chi Money API

| Param | Type | Default | Description | | ------- | ------------------- | --------------------------- | ----------------------------------------- | | country | string | "NG" | The country code, default is Nigeria(NG). |

localAmountInUSD(originCurrency, amountInOriginCurrency)

For more information visit Chi Money API

This function returns the equivalent of local currency in USD

Returns: The response from the Chi Money API

| Param | Type | Description | | ---------------------- | ------------------- | --------------------------------- | | originCurrency | string | The source currency | | amountInOriginCurrency | number | The amount in the origin currency |

mobileMoneyCodes()

For more information visit Chi Money API

This function returns a list of supported mobile money codes

Returns: The response from the Chi Money API

usdInLocalAmount(destinationCurrency, amountInUSD)

For more information visit Chi Money API

This function returns the equivalent of USD in the destination currency.

Returns: The response from the Chi Money API

| Param | Type | Description | | ------------------- | ------------------- | ------------------------ | | destinationCurrency | string | The destination currency | | amountInUSD | number | The amount in USD |

Using the MobileMoney API

const { mobileMoney } = require("chimoneyjs")();

getAllTransactions(subAccount)

For more information visit Chi Money API

This function returns an array of all mobile money(momo) transactions

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | subAccount | string | null | The subAccount of the transaction |

makePayment(paymentDetails, subAccount)

For more information visit Chi Money API

This function enables a user to make payment with mobile money (momo)

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | -------------- | ------------------- | ----------------- | ---------------------------------------------- | | paymentDetails | Object | | An object with the appropriate payment details | | subAccount | string | null | The subAccount of the transaction |

verifyPayment(id, subAccount)

For more information visit Chi Money API

This function enables the user to verify mobile money payments

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | id | string | | The transaction id | | subAccount | string | null | The subAccount of the transaction |

Using the Payouts API

const { payouts } = require("chimoneyjs")();

airtime(airtimes, subAccount)

For more information visit Chi Money API

This function handles the Chi Money airtime API.

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | --------------------------------- | ----------------- | ------------------------------------------------- | | airtimes | Array.<object> | | An array of object containing the airtime details | | subAccount | string | null | The subAccount of the transaction |

Example

const airtimes = [
  {
    countryToSend: "Nigeria",
    phoneNumber: "+2348123456789",
    valueInUSD: 3,
  },
];

bank(banks, subAccount)

For more information visit Chi Money API

This function handles the bank API

Returns: The response from Chi Money API

| Param | Type | Default | Description | | ---------- | --------------------------------- | ----------------- | ----------------------------------------------- | | banks | Array.<object> | | An array of objects containing the bank details | | subAccount | string | null | The subAccount of the transaction |

Example

const banks = [
  {
    countryToSend: "Nigeria",
    account_bank: "044",
    account_number: "0690000031",
    valueInUSD: 1,
    reference: "1234567890",
  },
];

chimoney(chimoneys, subAccount)

For more information visit Chi Money API

This functions handles the chimoney API

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | --------------------------------- | ----------------- | ---------------------------------------------------- | | chimoneys | Array.<object> | | An array of objects containing the chimoney details. | | subAccount | string | null | The subAccount of the transaction |

Example

const chimoneys = [
  {
    valueInUSD: 1,
    email: "[email protected]",
    twitter: "@tester",
  },
];

mobileMoney(momos, subAccount)

For more information visit Chi Money API

This function handles mobile money API

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | --------------------------------- | ----------------- | ------------------------------------------------------- | | momos | Array.<object> | | An array of objects containing the mobile money details | | subAccount | string | null | The subAccount of the transaction |

Example

const momos = [
  {
    countryToSend: "Nigeria",
    phoneNumber: "+2348123456789",
    valueInUSD: 1,
    reference: "1234567890",
  },
];

giftCard(giftCards, subAccount)

For more information visit Chi Money API

This function handles the gift card API

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | --------------------------------- | ----------------- | ---------------------------------------------------- | | giftCards | Array.<object> | | An array of objects containing the gift card details | | subAccount | string | null | The subAccount of the transaction |

Example

const giftCards = [
  {
    email: "[email protected]",
    valueInUSD: 1,
    redeemData: {
      productId: "3",
      countryCode: "NG",
      valueInLocalCurrency: 1000,
    },
  },
];

status(chiRef, subAccount)

For more information visit Chi Money API

This function handles the status API

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | chiRef | string | | The Chi Money reference | | subAccount | string | null | The subAccount of the transaction |

initiateChimoney(chimoneys, crypto_payments, subAccount)

For more information visit Chi Money API

This function handles the initiate chimoney API

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ------------------- | --------------------------------- | ------------------ | ---------------------------------------------------------- | | chimoneys | Array.<object> | | An array of objects containing the chimoney details | | turnOffNotification | boolean | false | If set to true turns of email notification for this payout | | crypto_payments | Array.<object> | | An array of objects containing the crypto payment details | | subAccount | string | null | The subAccount of the transaction |

Example

const chimoneys = [
  {
    valueInUSD: 1,
    email: "[email protected]",
    twitter: "@tester",
  },
];

Example

const crypto_payments = [
  {
    xrpl: {
      address: "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
      issuer: "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
      currency: "XRP",
    },
  },
];

Using the Redeem API

const { redeem } = require("chimoneyjs")();

airtime(chiRef, phoneNumber, countryToSend, meta, subAccount)

For more information visit Chi Money API

This function allows you to redeem airtime transactions

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ------------- | ------------------- | ----------------- | ------------------------------------- | | chiRef | string | | The Chi reference | | phoneNumber | string | | Phone number | | countryToSend | string | | Country to send to | | meta | object | | Any data to be sent along the request | | subAccount | string | null | The subAccount of the transaction |

any(chiRef, redeemData, [meta], subAccount)

For more information visit Chi Money API

This function allows you to redeem any transaction (chimoney, momo, airtime)

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | --------------------------------- | ----------------- | ---------------------------------------------------------------------------------------- | | chiRef | string | | The Chi reference | | redeemData | array.<object> | | Any array of objects containing data needed to redeem the transaction. see example below | | [meta] | object | {} | Any data to be sent along with the request. defaults to an empty object | | subAccount | string | null | The subAccount of the transaction |

Example

const redeemData = [
  {
    countryCode: "NG",
    productId: 1,
    valueInLocalCurrency: 1000,
  },
];

chimoney(chimoneys, subAccount)

For more information visit Chi Money API

This function allows you to redeem chimoney

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | --------------------------------- | ----------------- | ------------------------------------------------- | | chimoneys | array.<object> | | An array of objects containing the redeem details | | subAccount | string | null | The subAccount of the transaction |

Example

const chimoneys = [
  {
    field: "data",
  },
];

giftCard(chiRef, redeemOptions, subAccount)

For more information visit Chi Money API

This function allows you to redeem giftcard

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ------------- | ------------------- | ----------------- | ----------------------------------------- | | chiRef | string | | The Chi reference | | redeemOptions | object | | The data needed to redeem the transaction | | subAccount | string | null | The subAccount of the transaction |

mobileMoney(chiRef, redeemOptions, subAccount)

For more information visit Chi Money API

This function allows you to redeem mobile money (momo)

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ------------- | ------------------- | ----------------- | ----------------------------------------- | | chiRef | string | | The Chi reference | | redeemOptions | object | | The data needed to redeem the transaction | | subAccount | string | null | The subAccount of the transaction |

Using the SubAccount API

const { subAccount } = require("chimoneyjs")();

create(name, email)

For more information visit Chi Money API

This function creates a new subAccount with the provided name and email

Returns: The response from the Chi Money API

| Param | Type | Description | | ----- | ------------------- | ------------------------------- | | name | string | Name to give the new subAccount | | email | string | Email |

deleteAccount(id)

For more information visit Chi Money API

This function deletes the subAccount with the given id

Returns: The response from the Chi Money API

| Param | Type | Description | | ----- | ------------------- | ------------------------ | | id | string | The id of the subAccount |

getDetails(id)

For more information visit Chi Money API

This function gets the details of the subAccount with the associated id

Returns: The response from the Chi Money API

| Param | Type | Description | | ----- | ------------------- | ------------------------ | | id | string | The id of the subAccount |

getAll()

For more information visit Chi Money API

This function returns all the subAccounts associated with a user

Returns: The response from the Chi Money API

Using the Wallet API

const { wallet } = require("chimoneyjs")();

list(subAccount)

For more information visit Chi Money API

This function gets all the wallets associated with a user

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | subAccount | string | null | The subAccount of the transaction |

details(id, subAccount)

For more information visit Chi Money API

This function gets the details associated with a single user wallet

Returns: The response from the Chi Money API

| Param | Type | Default | Description | | ---------- | ------------------- | ----------------- | --------------------------------- | | id | string | | The wallet id | | subAccount | string | null | The subAccount of the transaction |

transfer(receiver, wallet, amount, subAccount)

For more information visit Chi Money API

This function lets you transfer funds to receiver

Returns: The response from the Chi Money API

| Param | Type | Description | | ---------- | ------------------- | ------------------------------------------------ | | receiver | string | The receiver id | | wallet | string | The wallet type | | amount | number | The amount of funds to be transferred in dollars | | subAccount | string | The subAccount of the transaction |

Errors

There are four main types of errors throw by the chimoneyjs package.

  • ValueError: Missing required function parameter(s)
  • TypeError: Parameter with a wrong type was passed into a function.
  • ChiMoneyError: Error with the request sent to the Chi Money API. This is as a result of invalid data being sent to the Chi Money server.
  • AuthKeyError: This occurs when the API wasn't set.