Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including node-paystack with all npm packages installed. Try it out:

var nodePaystack = require("node-paystack")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

node-paystack v1.0.3

Promisified Paystack API wrapper

paystack Build status

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

Credits

Kehers Paystack

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free