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

@gray-adeyi/paystack-sdk

v0.1.5

Published

A paystack client SDK for the javascript runtime.

Downloads

102

Readme

@gray-adeyi/paystack-sdk

A paystack client SDK for the javascript runtime.

Features

  • Built in typescript
  • Implements methods matching all of paystack's public API.
  • Automatic case transformation of payload and response data keys for a more optimal JS/TS experience

Installation

Npm

npm i @gray-adeyi/paystack-sdk

Yarn

yarn add @gray-adeyi/paystack-sdk

Pnpm

pnpm i @gray-adeyi/paystack-sdk

Bun

bun add @gray-adeyi/paystack-sdk

Deno

deno add @gray-adeyi/paystack-sdk

Usage

PaystackClient from the @gray-adeyi/paystack-sdk package provides all that you need to interface with paystack in your JS/TS project. it provides properties to other clients that models how the official paystack api reference is structured. i.e. PaystackClient.miscellaneous provides methods to match all endpoints in https://paystack.com/docs/api/miscellaneous/. so PaystackClient.miscellaneous.getBanks mirrors the List Banks endpoint. All client methods return a promise containing a PaystackResponse which is essentially an object containing the following as it's properties. statusCode,status, message and data. The keys of the data are transformed internally from snake case to camelCase for a more friendly experience.

import {
  type ChargePayload,
  Country,
  PaystackClient,
  type PaystackResponse,
} from "@gray-adeyi/paystack-sdk";

// assumes your PAYSTACK_SECRET_KEY is set in your environmental
// variables. Your secret key can be passed in explicitly on the
// instantiation with overrides the secret key set in the environmental
// variables.
const client = new PaystackClient();
client.miscellaneous.getBanks({ country: Country.NIGERIA }).then(
  (response: PaystackResponse) => {
    console.log(`The response status code is ${response.statusCode}`);
    console.log(`The response status is ${response.status}`);
    console.log(`The response message is ${response.message}`);
    console.log(`The response data is ${JSON.stringify(response.data)}`);
  },
);

const payload: ChargePayload = {
  email: "[email protected]",
  amount: 1_000_000,
};

client.charge.charge(payload).then((response: PaystackResponse) => {
  console.log(`The response status code is ${response.statusCode}`);
  console.log(`The response status is ${response.status}`);
  console.log(`The response message is ${response.message}`);
  console.log(`The response data is ${JSON.stringify(response.data)}`);
});

See the Project's Documentation for more

Disclaimer

This project is an open-source client library for Paystack. It is not officially endorsed or affiliated with Paystack. All trademarks and company names belong to their respective owners.

Limitations

  • Currently, @gray-adeyi/paystack-sdk does not perform any form of validation on the data passed in as method parameters but sends them as is to paystack servers.
  • Limited documentation

Sponsorship

Every little donation goes a long way. You can also give this project a star in its Github repository it helps ♥️

Contributing

You might encounter bugs while using this project or have feature enhancements you'd like to share with the project. Create an issue on the project's github page.