Paystack JS
This is the client-side JS library for billing customers with Paystack. It makes it easy to accept payments from a web application and to create custom, secure payment experiences for merchant apps and websites.
Modules
There are two main modules in this repository:
Paystack JS: With this library, Paystack merchants can charge customers from their applications using their custom, secure checkout flows. This allows them to collect sensitive information such as credit card information without violating compliance. Paystack JS handles payment data encryption and transmission, and is used in Checkout, Paystack's proprietary checkout form.
Read Paystack JS Documentation
Popup: As mentioned earlier, Paystack has created a great checkout experience for customers to pay our merchants with https://checkout.paystack.com. This library allows anyone load this checkout form in an iFrame from any web application. Configurable with a public key, this is the easiest way for merchants on Paystack to collect payments.
Read Popup Documentation
Installation
Note: The current version of Paystack JS is in the v2 folder. The v1 folder contains the code for Paystack Inline, the first version of Popup, which is no longer in active development.
Clone this repository
git clone git@github.com:PaystackHQ/paystack-js.git
Navigate to the v2 directory then install dependencies with:
cd v2 && npm install
Development
The code for core Paystack JS is in the v2/src/core
folder, while the code for Popup is in the v2/src/popup
folder. Testing is done with Jest. To test your changes, run
npm test
Build
Paystack JS is built with Rollup. To build, run the command
npm run build
You can also specify an environment to build for: dev
, staging
, or production
. Configuration variables are set in v2/src/config.js
.
To test Popup visually, run the command
npm run dev:popup
Deployment
Paystack JS is deployed to three environments:
Continuous Integration is set up with Circle CI, and any push to master
branch will attempt to update the npm module paystack-js
Automated deployment is done with Deploybot. We generate two build files (v2/popup.js
and v2/checkout.js
) for every push to master
or dev
. Pushes to the dev
branch will deploy to the staging environment while master
deploys to the production environment