Yet a new Paystack API wrapper 😉
For Yarn
yarn add paystack-api
For NPM
npm install paystack-api --save
// Require the library
var paystack = require("paystack-api")("secret_key");
The resource methods promisified
Format → paystack.{resource}.{method}
// paystack.{resource}.{method}
paystack.customer
.list()
.then(function(body) {
console.log(body);
})
.catch(function(error) {
console.log(error);
});
All Resource methods parameters are provided as the only argument
paystack.plan
.create({
name: "API demo",
amount: 10000,
interval: "monthly"
})
.then(function(error, body) {
console.log(error);
console.log(body);
});
paystack.transactions.list({ perPage: 20 }).then(function(error, body) {
console.log(error);
console.log(body);
});
A function to add Paystack's fee to your charging fee
const helper = new paystack.FeeHelper();
console.log(helper.addFeesTo(5000));
Outputs → 5077
which includes Paystack's fee upfront
OR set your desired parameters
const helper = new paystack.FeeHelper({
percentage: ...,
cap: ...,
threshold: ...,
additionalCharge: ....
});
console.log(helper.addFeesTo(5000));
A Paystack Events helper (Express Middleware)
const paystack = require("paystack-api")("secret_key");
const events = paystack.Events;
events.on("event_name", data => {
// Act
console.log("hola!");
});
// Hooks with Express
app.post("/my/webhook/url", events.middleware);
const PaystackAPI = require("paystack-api")
class Paystack extends PaystackApi {
constructor(key) {
super(key);
// Update BVN match method with the new route
this.verification.matchBVN = this.extend({
method: 'post',
route: `/bvn/match`,
args: ['account_number*', 'bank_code*', 'bvn*'],
});
}
}
const paystack = new Paystack("secret_key");
- customer
- create
- get
- list
- update
- validate
- setRiskAction
- deactivateAuth
- transaction
- initialize
- verify
- list
- get
- chargeAuth
- viewTimeline
- viewTimelineRef
- totals
- export
- reAuthorize
- checkAuth
- plan
- create
- get
- list
- update
- page
- create
- get
- list
- update
- slugAvailable
- charge
- tokenize
- charge
- submitPIN
- submitOTP
- submitPhone
- submitBirthday
- checkCharge
- bulk_charge
- create
- list
- get
- getCharges
- pause
- resume
- invoice
- create
- list
- get
- verify
- notify
- invoiceMetrics
- draftInvoice
- updateInvoice
- archiveInvoice
- control_panel
- getSessionTimeout
- updateSessionTimeout
- refund
- create
- list
- get
- settlement
- list
- subaccount
- create
- list
- get
- update
- subscription
- create
- disable
- enable
- get
- list
- transfer_control
- balance
- resendOTP
- enableOTP
- disableOTP
- finalizeDisableOTP
- transfer_recipient
- create
- list
- update
- remove
- transfer
- create
- list
- get
- finalize
- bulkTransfer
- verify
- verification
- resolveBVN
- matchBVN
- resolveAccount
- resolveBIN
- resolvePhone
- nuban
- create
- list
- get
- deactivate
- misc
- list_banks
- feeHelper
- Please do 🧡
- Create a Paystack Events
express
middleware