A paystack client SDK for the javascript runtime.
npm install @gray-adeyi/paystack-sdk
A paystack client SDK for the javascript runtime.
- 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
#### Npm
``bash`
npm i @gray-adeyi/paystack-sdk
#### Yarn
`bash`
yarn add @gray-adeyi/paystack-sdk
#### Pnpm
`bash`
pnpm i @gray-adeyi/paystack-sdk
#### Bun
`bash`
bun add @gray-adeyi/paystack-sdk
#### Deno
`bash`
deno add @gray-adeyi/paystack-sdk
You may experience issues installing this package in node and bun runtimes, please create a .npmrc file in@jsr:registry=https://npm.jsr.io
your project root and add to it or run before installing this package.
`commandline`
echo '@jsr:registry=https://npm.jsr.io' >> .npmrc
PaystackClient from the @gray-adeyi/paystack-sdk package provides all thatPaystackClient.miscellaneous
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. provides methods to match all endpoints inPaystackClient.miscellaneous.getBanks
https://paystack.com/docs/api/miscellaneous/.
so mirrors thePaystackResponse
List Banks endpoint. All
client methods return a promise containing a which isstatusCode
essentially an object containing the following as it's properties.,status, message and data. The keys of the data are
transformed internally from snake case to camelCase for a more friendly
experience.
`ts
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});The response status is ${response.status}
console.log();The response message is ${response.message}
console.log();The response data is ${JSON.stringify(response.data)}
console.log();
},
);
const payload: ChargePayload = {
email: "johndoe@example.com",
amount: 1_000_000,
};
client.charge.charge(payload).then((response: PaystackResponse) => {
console.log(The response status code is ${response.statusCode});The response status is ${response.status}
console.log();The response message is ${response.message}
console.log();The response data is ${JSON.stringify(response.data)}
console.log();``
});
See the Project's Documentation for
more
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.
- 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
Every little donation goes a long way. You can also give this project a star in
its Github repository it helps ♥️
- Star on Github
- Buy me a coffee
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.