node-paystack v1.0.3
paystack
A promisified version of the original paystack API wrapper for Paystack.
Installation
npm install node-paystack
Usage
// Require the library
var paystack = require('paystack')('secret_key');
Making calls to the resources
The resource methods accepts an optional callback as the last argument. The callback returns two JSON objects - error
, which will be null for successful calls, and body
, the response from the API call. All resources return a promise and hence calls can be cascaded (A callback argument is not required when cascading calls).
// paystack.{resource}.{method}
paystack.customer.list(function(error, body) {
console.log(error);
console.log(body);
});
OR
paystack.customer.list()
.then(function(body) {
console.log(body);
})
.catch(function(error) {
console.log(error);
});
For resource methods that use POST or PUT, the JSON body can be passed as the first argument.
paystack.plan.create({
name: 'API demo',
amount: 10000,
interval: 'monthly'
},function(error, body) {
console.log(error);
console.log(body);
});
OR
paystack.plan.create({
name: 'API demo',
amount: 10000,
interval: 'monthly'
})
.then(function(body) {
console.log(body);
})
.catch(function(error) {
console.log(error);
});
For GET, you can pass the required ID as string and optional parameters as an optional object argument.
paystack.plan.get(90, function(error, body) {
console.log(error);
console.log(body);
});
OR
paystack.plan.get(90)
.then(function(body) {
console.log(body);
})
.catch(function(error) {
console.log(error);
});
paystack.transactions.list({
perPage: 20
}, function(error, body) {
console.log(error);
console.log(body);
});
OR
paystack.transactions.list({
perPage: 20
})
.then(function(body) {
console.log(body);
})
.catch(function(error) {
console.log(error);
});
Resources
- customer
- create
- get
- list
- update
- transaction
- initialize
- charge
- get
- list
- totals
- verify
- plan
- create
- get
- list
- update
- page
- create
- get
- list
- update
- subscription
- create
- disable
- enable
- get
- list
- subaccount
- create
- get
- list
- listBanks
- update
Tests
To run tests, add your Paystack test secret key to package.json
. (The test line should look something like this: env KEY=sk_test_1a68ac96a0171fb72111a24295d8d31d41c28eed ./node_modules/.bin/mocha...
). Now run:
npm test
If you are contributing to the repo, kindly update the necessary test file in /test
or add a new one and ensure all tests are passed before sending a PR.
Todo
- Proper resource examples
- ES6 support