@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.